5 research outputs found

    Automated Hardware Prototyping for 3D Network on Chips

    Get PDF
    Vor mehr als 50 Jahren stellte IntelÂź MitbegrĂŒnder Gordon Moore eine Prognose zum Entwicklungsprozess der Transistortechnologie auf. Er prognostizierte, dass sich die Zahl der Transistoren in integrierten Schaltungen alle zwei Jahre verdoppeln wird. Seine Aussage ist immer noch gĂŒltig, aber ein Ende von Moores Gesetz ist in Sicht. Mit dem Ende von Moore’s Gesetz mĂŒssen neue Aspekte untersucht werden, um weiterhin die Leistung von integrierten Schaltungen zu steigern. Zwei mögliche AnsĂ€tze fĂŒr "More than Moore” sind 3D-Integrationsverfahren und heterogene Systeme. Gleichzeitig entwickelt sich ein Trend hin zu Multi-Core Prozessoren, basierend auf Networks on chips (NoCs). Neben dem Ende des Mooreschen Gesetzes ergeben sich bei immer kleiner werdenden TechnologiegrĂ¶ĂŸen, vor allem jenseits der 60 nm, neue Herausforderungen. Eine Schwierigkeit ist die WĂ€rmeableitung in großskalierten integrierten Schaltkreisen und die daraus resultierende Überhitzung des Chips. Um diesem Problem in modernen Multi-Core Architekturen zu begegnen, muss auch die Verlustleistung der Netzwerkressourcen stark reduziert werden. Diese Arbeit umfasst eine durch Hardware gesteuerte Kombination aus Frequenzskalierung und Power Gating fĂŒr 3D On-Chip Netzwerke, einschließlich eines FPGA Prototypen. DafĂŒr wurde ein Takt-synchrones 2D Netzwerk auf ein dreidimensionales asynchrones Netzwerk mit mehreren Frequenzbereichen erweitert. ZusĂ€tzlich wurde ein skalierbares Online-Power-Management System mit geringem Ressourcenaufwand entwickelt. Die Verifikation neuer Hardwarekomponenten ist einer der zeitaufwendigsten Schritte im Entwicklungsprozess hochintegrierter digitaler Schaltkreise. Um diese Aufgabe zu beschleunigen und um eine parallele Softwareentwicklung zu ermöglichen, wurde im Rahmen dieser Arbeit ein automatisiertes und benutzerfreundliches Tool fĂŒr den Entwurf neuer Hardware Projekte entwickelt. Eine grafische BenutzeroberflĂ€che zum Erstellen des gesamten Designablaufs, vom Erstellen der Architektur, Parameter Deklaration, Simulation, Synthese und Test ist Teil dieses Werkzeugs. Zudem stellt die GrĂ¶ĂŸe der Architektur fĂŒr die Erstellung eines Prototypen eine besondere Herausforderung dar. FrĂŒhere Arbeiten haben es versĂ€umt, eine schnelles und unkompliziertes Prototyping, insbesondere von Architekturen mit mehr als 50 Prozessorkernen, zu realisieren. Diese Arbeit umfasst eine Design Space Exploration und FPGA-basierte Prototypen von verschiedenen 3D-NoC Implementierungen mit mehr als 80 Prozessoren

    æ›žăæ›ăˆćŻèƒœăȘă‚ČăƒŒăƒˆă‚ąăƒŹă‚€ă‚’ç”šă„ăŸç„Ąäœœç‚ș抜ć‡șæł•ă«ćŸșă„ăćźŸæ™‚é–“ç”»ćƒć‡Šç†ă«é–ąă™ă‚‹ç ”ç©¶

    Get PDF
    é•·ćŽŽć€§ć­Šć­Šäœè«–æ–‡ ć­Šäœèš˜ç•Șć·:捚(ć·„)ç”Č珏53ć· ć­ŠäœæŽˆäžŽćčŽæœˆæ—„:ćčłæˆ30ćčŽ3月20æ—„Nagasaki University (長掎性歊)èȘČ繋捚

    Estimation par analyse statique de la bande-passante d'accélérateurs en synthÚse de haut niveau sur FPGA

    Get PDF
    L’accĂ©lĂ©ration par coprocesseur sur FPGA de portions d’algorithmes logiciels exĂ©cutĂ©s sur un CPU Ă  usage gĂ©nĂ©ral est une solution utilisĂ©e depuis longtemps dans de nombreux systĂšmes embarquĂ©s lorsque le calcul Ă  effectuer est trop complexe ou la quantitĂ© de donnĂ©es Ă  traiter trop grande pour ĂȘtre rĂ©alisĂ©e par ce processeur trop gĂ©nĂ©ral pour les contraintes de performance et de puissance donnĂ©es. Avec la fin de la loi de Moore, c’est Ă©galement une option de plus en plus utilisĂ©e dans les centres de donnĂ©es pour pallier Ă  la croissance exponentielle de la consommation de courant des approches CPU et GPGPU. De plus, la rĂ©alisation de ces coprocesseurs, bien que restant une tĂąche plus complexe que la simple programmation d’un processeur, est Ă©normĂ©ment facilitĂ©e par la dĂ©mocratisation des logiciels de synthĂšse de haut niveau (HLS), qui permettent la transformation automatisĂ©e de code Ă©crit en langages logiciels (gĂ©nĂ©ralement un sous-ensemble statique du C/C++) vers des langages de description matĂ©rielle synthĂ©tisables (VHDL/Verilog). Bien qu’il soit souvent nĂ©cessaire d’apporter des modifications au code source pour obtenir de bons rĂ©sultats, les outils de synthĂšse de haut niveau comportent gĂ©nĂ©ralement un estimateur de performance rapide de la micro-architecture dĂ©veloppĂ©e, ce qui facilite un flot de dĂ©veloppement itĂ©ratif. Cependant, en pratique, le potentiel de parallĂ©lisme et de concurrence des accĂ©lĂ©rateurs sur FPGA est souvent limitĂ© par la bande-passante vers la mĂ©moire contenant les donnĂ©es Ă  traiter ou par la latence des communications entre l’accĂ©lĂ©rateur et le processeur gĂ©nĂ©ral qui le contrĂŽle. De plus, l’estimation de cette bande-passante est un problĂšme plus complexe qu’il ne paraĂźt du premier coup d’Ɠil, dĂ©pendant notamment de la taille et de la sĂ©quentialitĂ© des accĂšs, du nombre d’accĂšs simultanĂ©s, de la frĂ©quence des diffĂ©rentes composantes du systĂšme, etc. Cette bande-passante varie Ă©galement d’une configuration de contrĂŽleur mĂ©moire Ă  une autre et le tout se complexifie avec les FPGA-SoC (SoC incluant processeurs physiques et partie logique programmable), qui comportent plusieurs chemins des donnĂ©es fixes diffĂ©rents vers leur partie FPGA. Finalement, dans la majoritĂ© des cas, la bande-passante atteignable est plus faible que le maximum thĂ©orique fourni avec la documentation du fabricant. Cette problĂ©matique fait en sorte que bien que les outils existants permettent d’estimer facilement la performance du coprocesseur isolĂ©, cette estimation ne peut ĂȘtre fiable sans considĂ©rer comment il est connectĂ© au systĂšme mĂ©moire. Les seuls moyens d’avoir des mĂ©triques de performance fiables sont donc la simulation ou la synthĂšse et exĂ©cution du systĂšme complet. Cependant, alors que l’estimation de performance du coprocesseur isolĂ© ne prend que quelques secondes, la simulation ou la synthĂšse augmente ce dĂ©lai Ă  quelques dizaines de minutes, ce qui augmente le temps de mise en marchĂ© ou mĂšne Ă  l’utilisation de solutions sous-optimales faute de temps de dĂ©veloppement.----------ABSTRACT: FPGA acceleration of portions of code otherwise executed on a general purpose processor is a well known and frequently used solution for speeding up the execution of complex and data-heavy algorithms. This has been the case for around two decades in embedded systems, where power constraints limit the usefulness of inefficient general purpose solutions. However, with the end of Dennard scaling and Moore’s law, FPGA acceleration is also increasingly used in datacenters, where traditional CPU and GPGPU approaches are limited by the always increasing current consumption required by many modern applications such as big data and machine learning. Furthermore, the design of FPGA coprocessors, while still more complex than writing software, is facilitated by the recent democratization of High-Level Synthesis (HLS) tools, which allow the automated translation of high-level software to a hardware description (VHDL/Verilog) equivalent. While it is still generally necessary to modify the high-level code in order to produce good results, HLS tools usually ship with a fast performance estimator of the resulting micro-architecture, allowing for fast iterative development methodologies. However, while FPGAs have great potential for parallelism and concurrence, in practice they are often limited by memory bandwidth and/or by the communications latency between the coprocessor and the general purpose CPU controlling it. In addition, estimating this memory bandwidth is much more complex than it can appear at first glance, since it depends on the size of the data transfer, the order of the accesses, the number of simultaneous accesses to memory, the width of the accessed data, the clock speed of both the FPGA and the memory, etc. This bandwidth also differs from one memory controller configuration to the other, and then everything is made more complex when SoC-FPGAs (SoCs including a hard processor and programmable logic) come into play, since they contain multiple different datapaths between the programmable logic and the hard memory controller. Finally, this bandwidth is almost always different (and smaller) than the maximum theoretical bandwidth given by the manufacturer’s documentation. Thus, while existing HLS tools can easily estimate the coprocessor’s performance if it is isolated from the rest of the system, they do not take into account how this performance is affected by the achievable memory bandwidth. This makes the simulation of the whole system or its synthesis-then-execution the only trustworthy ways to get a good performance estimation. However, while the HLS tool’s performance estimation runtime is a matter of a few seconds, simulation or synthesis takes tens of minutes, which considerably slows down iterative development flows. This increased delay increases time-to-market and can lead to suboptimal solutions due to the extra development time needed

    Adaptives Monitoring fĂŒr Mehrkernprozessoren in eingebetteten sicherheitskritischen Systemen

    Get PDF
    In vielen AnwendungsdomĂ€nen tragen softwarebasierte Systeme maßgeblich zu neuen Trends und Innovationen bei -- so auch in den MobilitĂ€tsdomĂ€nen Automobilbau, Luftfahrt und Eisenbahnindustrie. Wesentliche Neuerungen können in Software auf neuester Hardware-Technologie entwickelt und in Umlauf gebracht werden. Speziell in den MobilitĂ€tsdomĂ€nen sind besondere Anforderungen zu berĂŒcksichtigen sobald die Funktionen und Technologien in sicherheitskritischen Anwendungen integriert und eingesetzt werden. Neueste Hardware ist jedoch oftmals nicht fĂŒr den Einsatz in solchen Anwendungen ausgelegt und kann daher die durch Standards und Normen vorgegebene Anforderungen nicht ohne weiteres erfĂŒllen. Dies gilt auch fĂŒr den aktuellen Trend in der Prozessortechnologie, den Mehrkernprozessoren. Die bereits in Multimedia und Unterhaltungsmedien weit verbreiteten Mehrkernprozessoren können nicht uneingeschrĂ€nkt Einzug in sicherheitskritische Anwendungen halten. Spezielle Methoden zur Absicherung im Sinne der funktionalen Sicherheit werden benötigt, um Mehrkernprozessoren ĂŒberwachen und somit mindestens ein gleiches Maß an Sicherheit, wie in bereits etablierten Technologien, garantieren zu können. In der vorliegenden Arbeit werden Methoden vorgestellt, die zur Steigerung der ZuverlĂ€ssigkeit fĂŒr Multicoreprozessoren eingesetzt werden können und es erleichtern, diese neuartige, komplexe Technologie in eingebetteten sicherheitskritischen Anwendungen einzusetzen. Anwendungsbereiche stellen beispielsweise Automobile, Flugzeuge, Anwendungen im Bereich der Industrieautomatisierung oder ZĂŒge dar. Obwohl (verteilte) Mehrprozessorsysteme bereits seit einigen Jahren eingesetzt werden, unterscheiden sich die Herausforderungen zur Absicherung durch die Integration in einen Chip erheblich von den bereits bekannten Herausforderungen bei der Entwicklung von Mehrprozessorsystemen. Der Übergang von verteilten Mehrprozessorsystemen zu hoch integrierten Mehrkernprozessoren bringt nicht nur eine neue Technologie, sondern auch eine immens gesteigerte KomplexitĂ€t mit sich. In den folgenden Kapiteln dieser Arbeit werden zunĂ€chst aktuelle Arbeiten und die Herausforderungen sowie die einhergehende KomplexitĂ€t beim Übergang von Mehrprozessor- zu Mehrkern-Systemen vorgestellt. Diese Herausforderungen werden im Kontext der Applikationen als Fehlerbilder sichtbar, die wiederum zu SystemausfĂ€llen mit schwerwiegenden Folgen fĂŒhren können. Diese resultierenden Fehlerbilder und deren Ursprung werden dargestellt. Um mögliche Fehler und daraus resultierende AusfĂ€lle frĂŒhzeitig erkennen zu können werden im weiteren Verlauf der Arbeit neuartige Methoden zur Überwachung und Fehlererkennung in Mehrkernprozessoren vorgestellt und gegen die eingefĂŒhrten Fehlerbilder reflektiert. Die Monitoring Mechanismen sind dabei nicht auf einen einzelnen Teil des Mehrkernprozessors oder eine Ebene im Design beschrĂ€nkt, vielmehr handelt es sich um eine Hardware/Software Co-Design Entscheidung, welche der Mechanismen in Hardware und/oder in Software abgebildet und auf welcher Ebene im System diese umgesetzt werden. Das hieraus entstehende Multi-Level Monitoring mit parametrierbaren und adaptiven Konzepten deckt alle Ebenen von der Applikation bis zur Hardwareplattform ab. Doch nicht nur die Überwachung von Mehrkernprozessoren spielt eine entscheidende Rolle, auch die sichere, deterministische und effiziente Nutzung von Ressourcen innerhalb des System-On-Chip stellt eine besondere Herausforderung dar. Dieser Nutzung wird ein weiteres Kapitel dieser Arbeit mit einem neuartigen Konzept gewidmet, das eine fĂŒr die Software transparente Virtualisierung bereitstellt. Die eingefĂŒhrte Hardware-Virtualisierung kann in weiten Bereichen ebenfalls parametriert werden und bietet die Möglichkeit zur Integration eines anwendungsspezifischen Schedulingverfahrens. Die vorgestellten Konzepte werden prototypisch implementiert, bewertet und es wird eine Validierung gegen die Fehlerbilder durchgefĂŒhrt. Weiterhin wird basierend auf den aktuellen Trends in der Industrie und Forschung davon ausgegangen, dass zukĂŒnftige Anwendungen, speziell durch den steigenden Grad an Automatisierung, strengeren Anforderungen genĂŒgen mĂŒssen. Dies bedingt, dass eine einfache Fehlererkennung und die ÜberfĂŒhrung in einen sicheren Systemzustand den kĂŒnftigen Anforderungen nicht mehr genĂŒgen und ein bestimmter, minimaler Funktionsumfang immer bereitgestellt werden muss. Ein Konzept fĂŒr die dynamische Migration von Funktionen fĂŒr kĂŒnftige Fail-Operational Systeme zur Integration in einen Mehrkernprozessor rundet die in dieser Arbeit vorgestellten Konzepte ab. Speziell die Entwicklung von sicherheitskritischen Anwendungen folgt strikten, durchgĂ€ngigen und wohldefinierten Prozessen, in welchen die Mechanismen nicht losgelöst voneinander betrachtet werden dĂŒrfen. Zur besseren Handhabung der Konzepte und zur Anbindung an bereits bestehende und etablierte Entwicklungsprozesse, werden die Methoden in ein Bibliothekskonzept integriert. Dies sichert die einfache Nutzbarkeit und die Übertragbarkeit auf andere AnwendungsfĂ€lle und Architekturen. Die so entwickelten Systeme werden durch die vorgestellten Konzepte, die weitgehend parametriert und konfiguriert werden können und sich auf den jeweiligen Anwendungsfall anpassen lassen, unterstĂŒtzt und reduzieren die KomplexitĂ€t bei der Entwicklung

    Die (re-)konfigurierbare Fahrzeugarchitektur

    Get PDF
    Die Lebenszyklen von Fahrzeugen und die Innovationszyklen zugrundeliegender Technologien laufen auseinander, sehr zum Nachteil der Fahrzeughersteller. Besonders betroffen sind dabei Bereiche, die geringe StĂŒckzahlen mit hoher VariabilitĂ€t und langen GarantiezeitrĂ€umen kombinieren, zum Beispiel Busse. Dadurch ergibt sich eine Anzahl an Herausforderungen an die Hersteller, die im Rahmen dieser Dissertation herausgearbeitet werden. Anschließend erfolgt eine Betrachtung des Standes der Wissenschaft und Technik, insbesondere mit Hinblick auf die Fragestellung, wie denn dieser die Herausforderungen adressiert. Dabei werden neben technischer auch rechtliche Aspekte beleuchtet, die ihrerseits neue Herausforderungen hinzufĂŒgen. Gezeigt wird, dass klassische Fahrzeugarchitekturen mit ihren unflexiblen signalbasieren Elektrik-/Elektronik-Architekturen nicht mehr geeignet sind, diesen Herausforderungen zu begegnen. Flexiblere serviceorientierte Architekturen eignen sich weitaus besser, um neue Trends wie das automatisierte Fahren oder fortschrittlichere, kamerabasierte Fahrerassistenzsysteme zu integrieren. Dabei werden verschiedene AnsĂ€tze wie die bereits in der Automobilindustrie verbreitete AUTOSAR Adaptive Platform und das bisher hauptsĂ€chlich in der Forschung eingesetzte Robot Operating System 2 (ROS2) vorgestellt und miteinander verglichen. Als Konsequenz wird in dieser Dissertation eine (re-)konfigurierbare Fahrzeugarchitektur entwickelt, die Synergien aus einer VerknĂŒpfung verschiedener DomĂ€nen wie Nutzfahrzeuge und PKW, aber auch Informationstechnik nutzt. Dies sind zum einen geringere StĂŒckpreise durch Nutzung von Komponenten aus DomĂ€nen mit höheren StĂŒckzahlen, zum anderen durch ein Ersetzen von beispielsweise Sensoren durch gĂŒnstigere beziehungsweise ĂŒberhaupt noch verfĂŒgbare Exemplare wĂ€hrend des Lebenszyklus eines Fahrzeuges. Basierend auf einer serviceorientierten Architektur in ROS2 und vorher definierter Anforderungen an eine solche Fahrzeugarchitektur, wird ein Konzept entworfen und anschließend prototypisch umgesetzt, um Use-Cases darzustellen, die besonders von dieser neuartigen Architektur profitieren. Ein Beispiel hierfĂŒr ist das Austauschen von SteuergerĂ€ten, entweder aus den oben angesprochenen GrĂŒnden der VerfĂŒgbarkeit oder Kosten von Komponenten oder aber zur Erweiterung der FunktionalitĂ€t. Zur Senkung von Betriebskosten und Verbesserung der Energiebilanz des Fahrzeuges und der Flotte können außerdem FunktionalitĂ€ten beziehungsweise Services in das Backend ausgelagert werden. Die Evaluation dieser prototypisch umgesetzten Architektur und der Use-Cases zeigt, dass der Ansatz grundsĂ€tzlich funktioniert und außerdem eine nutzbare Performanz erreicht. Neue Chancen ergeben sich durch eine mögliche Steigerung der Ressourcenauslastung und dynamischer Redundanz, die ausgefallene Komponenten zur Laufzeit des Fahrzeuges ausgleichen kann
    corecore