A Methodology for System-on-a-Programmable-Chip Resources Utilization

Slides:



Advertisements
Similar presentations
Hao wang and Jyh-Charn (Steve) Liu
Advertisements

WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s: Computer Hardware 1 WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s Computer Hardware Department of.
ECE-777 System Level Design and Automation Hardware/Software Co-design
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
HTR: On-Chip Hardware Task Relocation for Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Emerging Trends in Computer Science Dr. Gurvinder Singh Reader, Deptt of Computer Science & Engineering, GNDU, Amritsar.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Automated Design of Custom Architecture Tulika Mitra
FPGA FPGA2  A heterogeneous network of workstations (NOW)  FPGAs are expensive, available on some hosts but not others  NOW provide coarse- grained.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #12 – Systolic.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Kandemir224/MAPLD Reliability-Aware OS Support for FPGA-Based Systems M. Kandemir, G. Chen, and F. Li Department of Computer Science & Engineering.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Kandemir224/MAPLD Reliability-Aware OS Support for FPGA-Based Systems M. Kandemir, G. Chen, and F. Li Department of Computer Science & Engineering.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Sub-fields of computer science. Sub-fields of computer science.
Computer Systems Nat 4/5 Computing Science Computer Structure:
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
ECE354 Embedded Systems Introduction C Andras Moritz.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEE2135 Digital Logic Design Chapter 1. Introduction
Introduction | Model | Solution | Evaluation
Parallel Programming By J. H. Wang May 2, 2017.
Embedded Systems Design
Chapter 1: Introduction
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Anne Pratoomtong ECE734, Spring2002
Digital Processing Platform
Verilog to Routing CAD Tool Optimization
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
Objective of This Course
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
Sanjoy Baruah The University of North Carolina at Chapel Hill
Introduction to Embedded Systems
CS 584.
Chapter 1 Introduction.
HIGH LEVEL SYNTHESIS.
EE 472 – Embedded Systems Dr. Shwetak Patel.
Programmable Logic- How do they do that?
Department of Electrical Engineering Joint work with Jiong Luo
Presented By: Darlene Banta
Area Coverage Problem Optimization by (local) Search
Presentation transcript:

A Methodology for System-on-a-Programmable-Chip Resources Utilization MAPLD 2004 MAPLD 2004 A Methodology for System-on-a-Programmable-Chip Resources Utilization Sin Ming Loo1, Simon Y. Foo2 1{smloo@boisestate.edu} Electrical and Computer Engineering Department Boise State University Boise, Idaho 83725 2{foo@eng.fsu.edu} Electrical and Computer Engineering Department Florida State University Tallahassee, Florida 32310 Sin Ming Loo

Agenda Reconfigurable Hardware Reconfigurable System Design Model MAPLD 2004 Agenda Reconfigurable Hardware Reconfigurable System Design Model Search Techniques Problems Encountered and Lessons Learned On-going Research Summary Loo F194/MAPLD 2004 Sin Ming Loo

Reconfigurable Hardware (RH) Input/Output Blocks (IOB) Configurable Logic Blocks(CLB) Embedded Block Memory (BRAM) Configured by the user after fabrication Provides flexibility formally found only in software based systems Eliminates the need to create custom hardware Allows specialization and customization to meet the needs of the application Loo F194/MAPLD 2004

Task Specific Core (TSC) Allows the application to be implemented in a more “optimal” fashion from a performance point of view Best performance would occur if the application is constructed entirely with TSC TSC implementation is most often highly concurrent But, concurrency is not free! TSC implementations usually consume enormous amounts of reconfigurable resources RH is limited by size Size limitation is unlikely to be solved by improvements in device technology Due to expanding complexity of application problems Loo F194/MAPLD 2004

MAPLD 2004 Space Time Trade-off How to determine an effective balance between performance and resource utilization? which portions must have concurrency? which portions can be implemented sequentially? How much concurrency can be employed without exceeding the available RH resources? Loo F194/MAPLD 2004 Sin Ming Loo

Methodology Employs multiple Von Neumann style processing cores + high performance task specific modules Allows task executes sequentially on Von Neumann type processing cores Employs parallel processing style static scheduling Insight gained through this problem can be extrapolated and extended to less deterministic problems Loo F194/MAPLD 2004

Reconfigurable System Design Model (RSDM) Apply scheduling theory to a pre-fabricated RH environment The heart of this design model is a scheduler Input to scheduler: Hardware Library, Task System, Resource Constraints, Design Constraints Scheduler produces: Task Execution Schedule, High-Level Hardware System Description Scheduler Hardware Library Task System Constraints Task Schedule High-Level Hardware System Description Loo F194/MAPLD 2004

High-Level Hardware System Description Scheduler Hardware Library Task System Constraints Task Schedule High-Level Hardware System Description Specifies the number and type of functional units used number and type of communication core elements used the necessary system topology Loo F194/MAPLD 2004

Computational Complexity Hard problem! To find the optimum solution, it requires (#PC + #TSC)n operations For example, A system with 100 tasks Hardware Library has 3 PCs Each task has two TSC implementations Scheduling operation requires 0.5 nsec 3 + 2)100 = 7.886x1069 operations For 0.5 nsec/operation, it will require 1.2507x1053 years to find the optimum solution Loo F194/MAPLD 2004

Search Techniques Search Algorithms Using synthetic task systems Random Simulated Annealing Genetic Algorithms (Found to be the most effective technique in finding a ‘good’ solution) Others (depth-first, breadth-first, branch-and-bound, etc.) Using synthetic task systems Loo F194/MAPLD 2004

Problems Encountered & Lessons Learned Representative task systems for reconfigurable hardware scheduling (co-synthesis) research? First-cut approach, synthetic task systems Within reconfigurable hardware, especially Field-Programmable Gate Arrays, what percentage of resources should be utilized during scheduling No applications specific information are used during scheduling Loo F194/MAPLD 2004

Application Specific Inputs Designer knows the design/application the best Needs to be able to take in designer’s view of tasks’ execution location Mobility factor Allow user to specify the execution location of a task, in IP processor or as TSC All other tasks are scheduled around the ‘fixed tasks’ Loo F194/MAPLD 2004

On-going … Collecting resources and performance (timing) data from real-world applications Benchmark selected: MiBench, an embedded system benchmark Synthetic task systems are being used to compare the scheduling algorithms Loo F194/MAPLD 2004

Summary Presented a Reconfigurable System Design Model (RSDM) Collected data is available at http://coen.boisestate.edu/smloo/rsdm Loo F194/MAPLD 2004