Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Finding the Pattern You Need: The Design Pattern Intent Ontology
P. Marwedel Informatik 12, U. Dortmund
Finite state machines & message passing: SDL
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel Informatik 12 TU.
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Herzlich Willkommen zum Informations-Forum: SAP Interoperabilität
1 | R. Steinbrecher | IMK-IFU | KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Natural Sources SNAP11.
Multi electron atoms Atoms with Z>1 contain >1 electron. This changes the atomic structure considerably because in addition to the electron-nucleus interaction,
Informatik 12, TU Dortmund
fakultät für informatik informatik 12 technische universität dortmund Test Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics: © Alexandra.
Embedded & Real-time Operating Systems
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2010/01/13 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
NUMEX – Numerical experiments for the GME Fachhochschule Bonn-Rhein-Sieg Wolfgang Joppich PFTOOL - Precipitation forecast toolbox Semi-Lagrangian Mass-Integrating.
Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting Part 5 Fundamentals in.
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Automatic Maneuver Recognition in the.
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Driving Manoeuvre Recognition > 19. Januar.
Three minutes presentation I ArbeitsschritteW Seminar I-Prax: Inhaltserschließung visueller Medien, Spree WS 2010/2011 Giving directions.
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
Fachabteilung 16A Überörtliche Raumplanung Cross border co-operation from the view of a public administration unit.
Deutsche Gesellschaft für Technische Zusammenarbeit GmbH Integrated Experts as interface between technical cooperation and the private sector – An Example.
Methods Fuzzy- Logic enables the modeling of rule based knowledge by the use of fuzzy criteria instead of exact measurement values or threshold values.
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 SADDU June 2008 S. Noël, K.Bramstedt,
1 IDA, TU Braunschweig SuReal – Sicherheitsgarantien unter Realzeitanforderungen Jonas Rox Braunschweig, Jonas Rox Braunschweig,
die Zeiten (The Tenses) das Aktiv (Active Voice)
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Lehrstuhl Technische Informatik - Computer Engineering Brandenburgische Technische Universität Cottbus 1 Hierarchical Test Technology for Systems on a.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
Bundesamt für Wehrtechnik und Beschaffung THE COST EFFECTIVE DEVELOPMENT OF HLA FEDERATIONS FOR COMPUTER- ASSISTED EXERCISES (CAX) K. Pixius 23-Sep-02.
Technische Universität Berlin Fakultät für Verkehrs- und Maschinensysteme, Institut für Mechanik Lehrstuhl für Kontinuumsmechanik und Materialtheorie,
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 K. Bramstedt, L. Amekudzi, J. Meyer IFE/IUP Tangent heights in occultation.
SIT-MOON ESPRIT Project Nr st Review, Brussels, 27th of April 1998 slide 1 Siemens AG Österreich Robotiker Technische Universität Wien Politecnico.
Faculty of Public Health Department of Health Economics and Management University of Bielefeld WP 3.1 and WP 4.1: Macrocost EUprimecare Plenary Meeting.
Kölner Karneval By Logan Mack
Einführung Bild und Erkenntnis Einige Probleme Fazit Eberhard Karls Universität Tübingen Philosophische Fakultät Institut für Medienwissenschaft Epistemic.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL Recent activities on ammonia emissions: Emission inventory Rindvieh.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Fakultät für informatik informatik 12 technische universität dortmund Memory-architecture aware compilation - Sessions Peter Marwedel TU Dortmund.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
ESSnet Workshop Conclusions.
© Boardworks Ltd of 8 Time Manner Place © Boardworks Ltd of 8 This icon indicates that the slide contains activities created in Flash. These.
Adjectiv Endungen Lite: Adjective following articles and pre-ceeding nouns. Colors and Clothes.
AVL-Trees (according to Adelson-Velskii & Landis, 1962) In normal search trees, the complexity of find, insert and delete operations in search.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Sentence Structure Subject and verb are always together. Subject and verb are always together. Subject and verb must agree Subject and verb must agree.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Lehrstuhl für Steuerrecht und Öffentliches Recht Prof. Dr. Roland Ismer MSc Econ. (LSE)/Prof. Dr. Klaus Meßerschmidt Grundlagen Staats- und Verwaltungsrecht.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques 2010/12/20 Peter Marwedel TU Dortmund, Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund.
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Data Mining Spectral Clustering Junli Zhu SS 2005.
Institut für Nachrichtentechnik U. Reimers Technische Universität Braunschweig The MultiMedia Home Platform (MHP): Hype or Reality ?
Fakultät für informatik informatik 12 technische universität dortmund Mapping: Applications  Platforms - Sessions Peter Marwedel TU Dortmund Informatik.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
 Präsentation transkript:

fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter /12/06 Graphics: © Alexandra Nolte, Gesine Marwedel, 2003

- 2 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Structure of this course New clustering 2: Specifications 3: Embedded System HW 4: Standard Software, Real- Time Operating Systems 5: Scheduling, HW/SW-Partitioning, Applications to MP- Mapping 6: Evaluation 8: Testing 7: Optimization of Embedded Systems Application Knowledge

- 3 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Hardware/software partitioning Functionality to be implemented in software or in hardware? No need to consider special purpose hardware in the long run? Correct for fixed functionality, but wrong in general, since By the time MPEG-n can be implemented in software, MPEG- n+1 has been invented [de Man]

- 4 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Functionality to be implemented in software or in hardware? Decision based on hardware/ software partitioning, a special case of hardware/ software codesign.

- 5 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Codesign Tool (COOL) as an example of HW/SW partitioning Inputs to COOL: 1.Target technology 2.Design constraints 3.Required behavior Inputs to COOL: 1.Target technology 2.Design constraints 3.Required behavior

- 6 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Hardware/software codesign: approach [Niemann, Hardware/Software Co-Design for Data Flow Dominated Embedded Systems, Kluwer Academic Publishers, 1998 (Comprehensive mathematical model)] Processor P1 Processor P2 Hardware Specification Mapping

- 7 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Steps of the COOL partitioning algorithm (1) 1.Translation of the behavior into an internal graph model 2.Translation of the behavior of each node from VHDL into C 3.Compilation All C programs compiled for the target processor, Computation of the resulting program size, estimation of the resulting execution time (simulation input data might be required) 4.Synthesis of hardware components: leaf nodes, application-specific hardware is synthesized. High-level synthesis sufficiently fast.

- 8 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Steps of the COOL partitioning algorithm (2) 5.Flattening of the hierarchy: Granularity used by the designer is maintained. Cost and performance information added to the nodes. Precise information required for partitioning is pre- computed 6.Generating and solving a mathematical model of the optimization problem: Integer programming IP model for optimization. Optimal with respect to the cost function (approximates communication time)

- 9 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Steps of the COOL partitioning algorithm (3) 7.Iterative improvements: Adjacent nodes mapped to the same hardware component are now merged.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Steps of the COOL partitioning algorithm (4) 8.Interface synthesis: After partitioning, the glue logic required for interfacing processors, application-specific hardware and memories is created.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund An integer programming model for HW/SW partitioning Notation: Index set I denotes task graph nodes. Index set L denotes task graph node types e.g. square root, DCT or FFT Index set KH denotes hardware component types. e.g. hardware components for the DCT or the FFT. Index set J of hardware component instances Index set KP denotes processors. All processors are assumed to be of the same type

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund An IP model for HW/SW partitioning X i,k : =1 if node v i is mapped to hardware component type k KH and 0 otherwise. Y i,k : =1 if node v i is mapped to processor k KP and 0 otherwise. NY,k =1 if at least one node of type is mapped to processor k KP and 0 otherwise. T is a mapping from task graph nodes to their types: T: I L The cost function accumulates the cost of hardware units: C = cost(processors) + cost(memories) + cost(application specific hardware)

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Constraints Operation assignment constraints All task graph nodes have to be mapped either in software or in hardware. Variables are assumed to be integers. Additional constraints to guarantee they are either 0 or 1:

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Operation assignment constraints (2) L, i:T(v i )=c, k KP: NY,k Y i,k For all types of operations and for all nodes i of this type: if i is mapped to some processor k, then that processor must implement the functionality of. Decision variables must also be 0/1 variables: L, k KP: NY,k 1.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Resource & design constraints k KH, the cost (area) used for components of that type is calculated as the sum of the costs of the components of that type. This cost should not exceed its maximum. k KP, the cost for associated data storage area should not exceed its maximum. k KP the cost for storing instructions should not exceed its maximum. The total cost ( k KH ) of HW components should not exceed its maximum The total cost of data memories ( k KP ) should not exceed its maximum The total cost instruction memories ( k KP ) should not exceed its maximum

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Scheduling Processor p 1 ASIC h 1 FIR 1 FIR 2 v1v1 v2v2 v3v3 v4v4 v9v9 v 10 v 11 v5v5 v6v6 v7v7 v8v8 e3e3 e4e4 t p1p1 v8v8 v7v7 v7v7 v8v8 or... t c1c1 or... e3e3 e3e3 e4e4 e4e4 t FIR 2 on h 1 v4v4 v3v3 v3v3 v4v4 or... Communication channel c 1

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Scheduling / precedence constraints For all nodes v i1 and v i2 that are potentially mapped to the same processor or hardware component instance, introduce a binary decision variable b i1,i2 with b i1,i2 =1 if v i1 is executed before v i2 and = 0 otherwise. Define constraints of the type (end-time of v i1 ) (start time of v i2 ) if b i1,i2 =1 and (end-time of v i2 ) (start time of v i1 ) if b i1,i2 =0 Ensure that the schedule for executing operations is consistent with the precedence constraints in the task graph. Approach just fixes the order of execution and avoids the complexity of computing start times during optimization.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Other constraints Timing constraints These constraints can be used to guarantee that certain time constraints are met. Some less important constraints omitted..

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Example HW types H1, H2 and H3 with costs of 20, 25, and 30. Processors of type P. Tasks T1 to T5. Execution times: TH1H2H3P

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Operation assignment constraints (1) TH1H2H3P X 1,1 +Y 1,1 =1 (task 1 mapped to H1 or to P) X 2,2 +Y 2,1 =1 X 3,3 +Y 3,1 =1 X 4,3 +Y 4,1 =1 X 5,1 +Y 5,1 =1

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Operation assignment constraints (2) Assume types of tasks are =1, 2, 3, 3, and 1. L, i:T(v i )=c, k KP: NY,k Y i,k Functionality 3 to be implemented on processor if node 4 is mapped to it.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Other equations Time constraints leading to: Application specific hardware required for time constraints under 100 time units. TH1H2H3P Cost function: C=20 #(H1) + 25 #(H2) + 30 # (H3) + cost(processor) + cost(memory)

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Result For a time constraint of 100 time units and cost(P)<cost(H3): TH1H2H3P Solution (educated guessing) : T1 H1 T2 H2 T3 P T4 P T5 H1

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Separation of scheduling and partitioning Combined scheduling/partitioning very complex; Heuristic: Compute estimated schedule Perform partitioning for estimated schedule Perform final scheduling If final schedule does not meet time constraint, go to 1 using a reduced overall timing constraint. 2 nd Iteration t specification Actual execution time 1 st Iteration approx. execution time t Actual execution time approx. execution time New specification

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Application example Audio lab (mixer, fader, echo, equalizer, balance units); slow SPARC processor 1µ ASIC library Allowable delay of µs (~ 44.1 kHz) SPARC processor ASIC (Compass, 1 µ) External memory Outdated technology; just a proof of concept.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Running time for COOL optimization Only simple models can be solved optimally.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Deviation from optimal design Hardly any loss in design quality.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Running time for heuristic

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Design space for audio lab Everything in software: 72.9 µs, 0 2 Everything in hardware: 3.06 µs, 457.9x Lowest cost for given sample rate: 18.6 µs, 78.4x10 6 2,

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Positioning of COOL COOL approach: shows that formal model of hardware/SW codesign is beneficial; IP modeling can lead to useful implementation even if optimal result is available only for small designs. Other approaches for HW/SW partitioning: starting with everything mapped to hardware; gradually moving to software as long as timing constraint is met. starting with everything mapped to software; gradually moving to hardware until timing constraint is met. Binary search.

technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund HW/SW partitioning in the context of mapping applications to processors Handling of heterogeneous systems Handling of task dependencies Considers of communication (at least in COOL) Considers memory sizes etc (at least in COOL) For COOL: just homogeneous processors No link to scheduling theory