HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.

Slides:



Advertisements
Similar presentations
ECE-777 System Level Design and Automation Hardware/Software Co-design
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Zhiguo Ge, Weng-Fai Wong, and Hock-Beng Lim Proceedings of the Design, Automation, and Test in Europe Conference, 2007 (DATE’07) April /4/17.
Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)
Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Co-Synthesis Algorithms Part of HW/SW Codesign of Embedded Systems Course (CE )
Hardware-Software Codesign Elvira Kitsis Hermawan Ho Alex Papadimoulis.
Torino (Italy) – June 25th, 2013 Ant Colony Optimization for Mapping, Scheduling and Placing in Reconfigurable Systems Christian Pilato Fabrizio Ferrandi,
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
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,
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
1 © FASTER Consortium Catalin Ciobanu Chalmers University of Technology Facilitating Analysis and Synthesis Technologies for Effective Reconfiguration.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Operating Systems for Reconfigurable Systems John Huisman ID:
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Automated Design of Custom Architecture Tulika Mitra
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
J. Christiansen, CERN - EP/MIC
Configurable, reconfigurable, and run-time reconfigurable computing.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
MAPLD Reconfigurable Computing Birds-of-a-Feather Programming Tools Jeffrey S. Vetter M. C. Smith, P. C. Roth O. O. Storaasli, S. R. Alam
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
High Performance Embedded Computing © 2007 Elsevier Lecture 18: Hardware/Software Codesign Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Hardware-software Interface Xiaofeng Fan
VLSI Algorithmic Design Automation Lab. 1 Integration of High-Performance ASICs into Reconfigurable Systems Providing Additional Multimedia Functionality.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
1 Embedded Computer System Laboratory Systematic Embedded Software Gerneration from SystemC.
COARSE GRAINED RECONFIGURABLE ARCHITECTURES 04/18/2014 Aditi Sharma Dhiraj Chaudhary Pruthvi Gowda Rachana Raj Sunku DAY
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: Distributed System Co- Synthesis Part of HW/SW Codesign of Embedded Systems Course.
Physically Aware HW/SW Partitioning for Reconfigurable Architectures with Partial Dynamic Reconfiguration Sudarshan Banarjee, Elaheh Bozorgzadeh, Nikil.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
CML Path Selection based Branching for CGRAs ShriHari RajendranRadhika Thesis Committee : Prof. Aviral Shrivastava (Chair) Prof. Jennifer Blain Christen.
Task Mapping and Partition Allocation for Mixed-Criticality Real-Time Systems Domițian Tămaș-Selicean and Paul Pop Technical University of Denmark.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
CT101: Computing Systems Introduction to Operating Systems.
Optimization of Time-Partitions for Mixed-Criticality Real-Time Distributed Embedded Systems Domițian Tămaș-Selicean and Paul Pop Technical University.
Dynamic and On-Line Design Space Exploration for Reconfigurable Architecture Fakhreddine Ghaffari, Michael Auguin, Mohamed Abid Nice Sophia Antipolis University.
CHaRy Software Synthesis for Hard Real-Time Systems
System-on-Chip Design
Programmable Hardware: Hardware or Software?
Dynamo: A Runtime Codesign Environment
Ph.D. in Computer Science
FPGA: Real needs and limits
Chapter 1: Introduction
Anne Pratoomtong ECE734, Spring2002
Introduction to cosynthesis Rabi Mahapatra CSCE617
Dynamically Reconfigurable Architectures: An Overview
HIGH LEVEL SYNTHESIS.
Department of Electrical Engineering Joint work with Jiong Luo
Research: Past, Present and Future
Presentation transcript:

HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms

Presentation Outline Introduction Basics/Preliminaries Problem Formulation Representative Approaches Conclusion

Introduction Embedded Systems? Special purpose/dedicated systems Design Goals? Highly optimized but Cost Efficient Examples embedded system provides a friendly interface hand-held devices, such as a cellular phone or PDA an industrial controller safety-critical controller, such as an antilock brake controller in a car or an autopilot

Generic Architectural Template General Purpose Processor Digital Signal Processor Digital Signal Processor ASIC Dedicated Data path Dedicated Data path Memory

HW/SW Co-Design Need? Increasing design complexities Need to explore the design efficiently CAD/Design Automation Co-Design Steps Co-specification: Specifications describing both HW/SW elements (and the relationship between them) Co-synthesis: Automatic or semi-automatic design of HW/SW to meet a specification Co-Simulation: Simultaneous simulation of HW/SW elements, often at different levels of abstraction

Co-Synthesis Problem Partitioning the functional description between HW and SW Allocating processes to processing elements (PEs) Scheduling processes on the PEs Binding processing elements to particular component types

Dynamically Reconfigurable Logic Alternative to conventional ASICs and general- purpose processors post-fabrication customized for a wide class of applications partially reconfigured at run-time to implement different tasks without effecting computation of other tasks On Chip SRAM/ Cache On Chip SRAM/ Cache Embedded CPU Dynamically Reconfigurable Data path Dynamically Reconfigurable Data path

Inputs Specification Task Graphs Estimation/Profiling Resource Libraries

DRL Architecture Model Frame: atomic reconfiguration storage unit that can be dynamically updated Multiple frames reconfigured one by one Reconfiguration of one frame does not disturb the execution of other frames

Partitioning and Scheduling Partitioning Coarse Grained – Tasks Level Fine Grained – Basic block Level Scheduling Static (design time) Dynamic (At run time)

Challenges of Using DRL 1. Reconfiguration management Goal: To minimize no. of reconfigurations Reconfiguration Delays Execution Reconfiguration Consumes Power How? Tasks Ordering Pre-fetching

Representative Co-synthesis Systems CORDS – Princeton University CRUSADE – Bell Labs SLOPES – Princeton University NIMBLE Compiler Recent – Run-time Scheduling (by Juanjo Noguera, Rosa M. Badia)

NIMBLE Compiler partitioning algorithm selects which loops to implement in the FPGA, and which hardware version of each loop should be used to achieve the highest application- level performance

NIMBLE Compiler Multiple Loop Implementations in HW

NIMBLE Compiler Heuristic Using Loop Procedure Hierarchy Graph

SLOPES Multi-objective: Price Power Performance Genetic Algorithm for Partitioning and Allocation Scheduling Heuristic takes into account the delay and power overheads of dynamic reconfiguration

Scheduling Issues Scheduling sequence multiple ready tasks may reside candidate pool different time, resource and reconfiguration requirements, and power consumption changing the scheduling order may have a significant impact on scheduling quality

Scheduling Issues Location assignment policy possible positions in the FPGA where the circuit implementing the task can be located different locations not only influences the current task, but may also impact the tasks scheduled either after or before it

SLOPES Scheduling Scheduling sequence The order of scheduling tasks is determined dynamically by task priorities Location assignment policy The global reconfiguration information for all the tasks assigned to the FPGA is considered

Examples

Scheduling Sequence Policy Dynamic Priority Assignment

Location Assignment Policy Reconfiguration prefetch Configuration pattern reutilization Eviction candidate Fitting policy Slack time utilization

Location Assignment Policy Frame Priorities

Dynamic Run-time Scheduling Motivations Data Dependent Computation Multi-functions Systems

Proposed Architecture Model

Partitioning: List Based

Scheduler

Scheduling

Conclusion Low delay reconfigurable devices Automated Co-synthesis Systems using DRL are able to meet specifications Cost Efficiently Reduced Design Time