Abwicklung VO 9 fixe Termine: 12:15 – 14:00 10:15 – 12:00 12:15 – 14:00 12:15 – 14:00 1 Di 3.5. Do 5.5. Di 10.5. Do 12.5. Di 17.5. Do 19.5. Di 24.5. Di 26.5. Di 28.6. Do 30.6. A. Steininger TU Vienna Abwicklung VO 9 fixe Termine: 12:15 – 14:00 Di 3.5. Do 5.5. Di 10.5. Do 12.5. Do 19.5. 12:15 – 14:00 12:15 – 14:00 2 Di 28.6. Do 30.6. A. Steininger TU Vienna Gastvortrag Dr. Eric Armengaud AVL List, Graz davor: Das Virtuelle Fahrzeug (Graz) „Functional Safety“ 3 A. Steininger TU Vienna Vorlesung Inhalte: Kostenfaktoren Optimierung Hardware vs. Software interaktive Gestaltung: 4 Frontalvorträge vorbereitete “Hausübung” gemeinsame Diskussionen Praxisvorträge Präsentation der Ergebnisse der LU A. Steininger TU Vienna Homework Auseinandersetzung mit dem Artikel T. Henzinger, J. Sifakis, The Discipline of Embedded Systems Design, IEEE Computer, Oct 2007, pp 32 – 40 bis zum 10.5. in Gruppen a 5 Personen => was sind die 3 “Key Messages” ? 5 A. Steininger TU Vienna Hardware Software CoDesign Einführung Optimierung A. Steininger Vorstellungen zur LVA Was ist überhaupt HW/SW Codesign? Was lerne ich in dieser LVA? Wofür brauche ich das Wissen später? 7 A A. Steininger TU Vienna Was ist HW/SW Codesign? paralleler Entwurf HW/SW schneller Bugs früher sichtbar höherer Abstraktionsgrad Partitionierung HW/SW übergreifende Optimierung Integration v. Systemen aus/mittels HW/SW 8 systematische Schnittstellendefinition Komplexitätsbewältigung A. Steininger TU Vienna Embedded Systems: Challenges „An exploding number of embedded reactive heterogeneous components in mass-market products“ „Massive seamless integration of heterogeneous components in a real-world environment“ „Building systems of guaranteed functionality and quality at an acceptable cost is a major technological and scientific challenge“ [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] 9 A. Steininger TU Vienna The Constraints Dependability safety, security, availability [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] Autonomy no humans in the loop Low resource consumption memory, power, energy Physical constraints weight size, heat dissipation, … Market positioning 10 optimal cost/quality, time to market A. Steininger TU Vienna The System-Centric Approach Joint Design (HW, SW, Environment) to determine cost / quality tradeoffs Requires a combination of competencies in SW, automation, networks, electronics, man-machine interfaces => training, education [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] 11 A. Steininger TU Vienna The Current State no unified theory to predict the dynamic properties of a SW running on a given execution platform complex systems are built through a succession of incremental developments exploding validation costs 12 [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005] A. Steininger TU Vienna Anwendungsbeispiele Consumer-Products unglaubliche Features kleiner Preis, kleine Größe, lange Akku-Lebensdauer Mobiltelefonie zusätzlich Mixed-Signal Design Automotive extreme Anforderungen bezügl. Sicherheit & Preis 13 A. Steininger TU Vienna Die Herausforderungen Miniaturisierung mixed signal, dynamische Rekonfiguration, Energiebudget Rekonfiguration, power management,… Komplexität Interfaces, formale Verifikation Produktivität / Time to market Abstraktionsebenen, Automatisierung Fehlertoleranz 14 A. Steininger TU Vienna Das zentrale Problem globale Optimierung der Gesamtlösung optimale SW + optimale HW ist zu wenig! => optimale Aufteilung (Partitioning) ist nötig Abhängigkeit von den Randbedingungen hier gibt es derzeit keinen Tool-Support 15 Tools optimieren nur HW bzw. SW allein Problem ist extrem komplex (Lösungsraum!) Wie formuliere ich Optimalität überhaupt? Interfaces zwischen Tools ungeeignet viele Entscheidungen (Partitioning!) trifft ein Entwickler aus Erfahrung A. Steininger TU Vienna Ziel der VO + LU Bewusst-Machen der Problematik Analysieren der Trade-offs Verständnis für den Optimierungsprozess, dessen Kriterien und Randbedingungen Vermitteln erster eigener Erfahrungen Non-Target: Kennenlernen bestehender Tools 16 A. Steininger TU Vienna Prinzip einer Optimierung Mittels eines Algorithmus soll eine Kostenfunktion minimiert oder eine Nutzenfunktion maximiert werden und zwar unter Einhaltung von Randbedingungen Als Voraussetzung müssen daher Kosten / Nutzen meßbar und alle Randbedingungen bekannt sein 17 A. Steininger TU Vienna Erfassen der Eigenschaften die relevante Eigenschaften müssen erfasst werden quantitativ, hinreichend genau schon früh im Design Flow Ist das realistisch möglich? Tools erstellen Schätzungen auf Basis von 18 vereinfachten Modellen Heuristiken A. Steininger TU Vienna Optimaler Tradeoff Wie vergleicht man quantitativ 19 Speicherverbrauch physikalische Größe Performance Preis A. Steininger TU Vienna Gegebene Plattform Typisches Szenario gegeben ist Prozessor FPGA für Spezialfunktionen => SW => HW Reales Problem 20 optimale Nutzung des vorh. Prozessors („Einsparen“ bringt keinen Gewinn!) optimale Nutzung des FPGA Es geht um ein „optimales“ Verschieben von Tasks zwischen FPGA und Prozessor A. Steininger TU Vienna Diskussion Vor-Auswahl Wählen Sie für die folgende Diskussion einen der Anwendungsbereiche (jede Gruppe eines) 21 Automotive Telekom Industrie-Automation Raumfahrt Multimedia (MP3, Camcorder,…) Telebanking A. Steininger TU Vienna Diskussion Fragen Welche Anforderungen an das Produkt (= Embedded System, nicht Gesamtprodukt) bestehen? Was fällt in die Klasse „Kosten“/“Nutzen“ ? Was fällt in die Klasse Randbedingung ? Was ist speziell an Ihrem Anwendungsbereich? Wie kann man sie zum Zeitpunkt des Partitioning quantitativ erfassen? 22 A. Steininger TU Vienna