26 research outputs found

    Betriebssystem-integrierte experimentelle Leistungsbewertung verteilter Echtzeitsysteme

    Get PDF

    Situationsbasiertes Scheduling von Echtzeit-Tasks in verteilten eingebetteten Systemen

    Get PDF
    Die Anforderungen an die verfĂŒgbare RechenkapazitĂ€t von SteuergerĂ€ten in der Automotive und Avionik-DomĂ€ne steigen kontinuierlich an. Dieser Anstieg ist auf die steigende Bedeutung von softwarebasierten Funktionen zurĂŒckzufĂŒhren, sowie auf die damit einhergehende steigende Anzahl und KomplexitĂ€t der softwarebasierten Funktionen. In dieser Dissertation wird die BerĂŒcksichtigung der Situation (z. B. die geographische Position oder die Geschwindigkeit) als ein möglicher Ansatz beschrieben, um den steigenden Bedarf an RechenkapazitĂ€t der softwarebasierten Funktionen zu decken. Die benötigte RechenkapazitĂ€t einer softwarebasierten Funktion verĂ€ndert sich in AbhĂ€ngigkeit von der momentanen Situation. Durch die BerĂŒcksichtigung der Situation bei der Verteilung der RechenkapazitĂ€ten entstehen freie RechenkapazitĂ€ten, welche durch komplementĂ€re softwarebasierte Funktion verwendet werden können. Die Zielsetzung dieser Dissertation ist es, eine situationsbasierte Verteilung der RechenkapazitĂ€t auf die softwarebasierten Funktionen des verteilen eingebetteten Systems zu erreichen.:1 Einleitung 1.1 Motivation 1.2 Zielsetzung 1.3 Struktur der Arbeit 1.4 Zusammenfassung 2 Grundlagen 2.1 Situationsbasierte Systeme 2.2 Eingebettete verteilte Systeme 2.2.1 Architektur 2.2.2 Echtzeit-Tasks 2.2.3 Echtzeit-Scheduling 2.2.4 Echtzeit-Kommunikation 2.2.5 SteuergerĂ€te der ZieldomĂ€nen 2.3 Prozessmigration in verteilten Systemen 2.3.1 Prozesssegmente 2.3.2 Möglichkeiten der Prozessmigration 2.4 Application checkpointing 2.5 Zusammenfassung 3 Stand der Forschung 3.1 Situationsbasiertes Scheduling fĂŒr eingebettete verteilte Systeme 3.1.1 Semi-Statische Systeme 3.1.2 Dynamische Systeme 3.2 Situationsbasiertes Scheduling fĂŒr Multi-Core Systeme 3.2.1 Situationen in HAMS 3.2.2 HAMS Architektur 3.2.3 Wissensdatenbank 3.3 Semi-Statische Netzwerkkonfiguration 3.4 Zusammenfassung 4 Situationsbasiertes Scheduling in verteilten eingebetteten Systemen 4.1 Analyse der Zielsetzung 4.2 Technische Ziele 4.3 SiVES-Sched Konzept 4.3.1 Erweiterter HAMS 4.3.2 Situations-Wissensdatenbank 4.3.3 TLS Master 4.3.4 Task-Migration 4.3.5 TLS Slave 4.3.6 Software Defined Network 4.3.7 TLS-KM 4.4 Zusammenfassung 5 Evaluation 5.1 Konzept der Evaluation 5.2 Evaluationsumgebung 5.2.1 Hardwareumgebung 5.2.2 Softwareumgebung 5.3 Rekonfiguration des verteilten eingebetteten Systems 5.3.1 Evaluation I: Erstellung der SWDB 5.3.2 Evaluation II: DurchfĂŒhrung der Rekonfiguration 5.3.3 Evaluation III: Dauer des kritischen Abschnitts 5.3.4 Evaluation IV: Vermeidung von Informationsverlust 5.4 Zusammenfassung 6 Zusammenfassung und Ausblick 6.1 Ergebnisse dieser Arbeit 6.1.1 Konzept 6.1.2 Evaluation 6.2 Ausblick 7 Appendix Literaturverzeichnis Nomenklatur Thesen Eigene Veröffentlichunge

    Java in eingebetteten Systemen

    Get PDF
    Moderne, objektorientierte Sprachen spielen bei der Entwicklung von Software fĂŒr eingebettete Systeme bislang kaum eine Rolle. Die GrĂŒnde hierfĂŒr sind vielfĂ€ltig, meist wird jedoch die mangelnde Effizienz und der grĂ¶ĂŸere Speicherbedarf hervorgehoben. Obwohl Java viele Eigenschaften hat, die sehr fĂŒr einen Einsatz in eingebetteten Systemen sprechen, so hĂ€ngt doch gerade Java vielfach immer noch das Vorurteil an, in Systemen mit beschrĂ€nkter Rechenleistung und Speicher zu viele Ressourcen zu benötigen. Diese Arbeit soll dazu beitragen, diese Vorurteile abzutragen. Sie stellt insbesondere Techniken vor, die den Speicherbedarf einer JVM so gering wie möglich halten und diese effizient mit der zur VerfĂŒgung stehenden Rechenleistung umgehen lassen. Viele der dargestellten Verfahren und Algorithmen wurden in der Kertasarie VM implementiert, einer virtuellen Maschine, die speziell fĂŒr den Einsatz in eingebetteten Systemen konzipiert wurde. Durch die weit verbreitete Vernetzung eingebetteter Systeme ĂŒber das Internet stellt sich in vielen FĂ€llen zudem das Problem einer modernen, abstrakten und effizienten Form der Kommunikation. Aus diesem Grund liegt der zweite Schwerpunkt dieser Arbeit auf dem Vergleich von objektorientierten Middleware-Architekturen, insbesondere von Java-RMI. Auch auf diesem Gebiet wird eine eigene, speziell an eingebettete Systeme angepasste RMI-Variante vorgestellt.Modern, object oriented languages do not play an important role when developing software for embedded systems. There are many reasons for it, most often an inadequate performance and a greater memory demand are mentioned. In spite of the fact that Java has many features suitable for embedded systems, Java often faces the prejudice to consume too much resources in systems with limited processing power and memory. This work is a contribution to diminish this prejudices. It presents techniques to limit the memory demands of a Java Virtual Machine and to effectively cope with limited computing power. Many of the presented methods and algorithms are implemented in the Kertasarie VM, a JVM designed to run in embedded systems.Due to the fact of increasing network capabilities embedded systems often face the problem of a modern, abstract and efficient communication. Therefore the second emphasis of this work is put on the comparison of object oriented middleware architectures, especially Java-RMI. An own implementation for embedded systems is also presented

    On-Chip-Netzwerk-Architekturen fĂŒr eingebettete hierarchische Multiprozessoren

    Get PDF
    Ax J. On-Chip-Netzwerk-Architekturen fĂŒr eingebettete hierarchische Multiprozessoren. Bielefeld: UniversitĂ€t Bielefeld; 2019.Das Ziel der vorliegenden Arbeit ist die Realisierung und Analyse einer skalierbaren Verbindungsstruktur fĂŒr ein Multi-Prozessorsystem auf einem Chip (MPSoC). Durch die zunehmende Digitalisierung werden in immer mehr GerĂ€ten des tĂ€glichen Lebens und der Industrie mikroelektronische Systeme eingesetzt. Hierbei handelt es sich hĂ€ufig um energiebeschrĂ€nkte Systeme, die zusĂ€tzlich einen stetig steigenden Bedarf an Rechenleistung aufweisen. Ein Trend, diesen Bedarf zu decken ist die Integration von zunehmend mehr Prozessorkernen auf einem einzelnen Mikrochip. Many-Core-Systeme mit vielen hunderten bis tausenden ressourceneffizienten CPU-Kernen versprechen hierbei eine besonders hohe Energieeffizienz. Im Vergleich zu Systemen mit wenigen leistungsfĂ€higen, jedoch auch komplexeren CPUs, wird bei Many-Cores die Rechenleistung durch massive ParallelitĂ€t erzielt. In der AG Kognitronik und Sensorik der UniversitĂ€t Bielefeld wird dazu das CoreVA-MPSoC entwickelt. Um hunderte von CPUs auf einen Chip zu integrieren, verfĂŒgt das CoreVA-MPSoC ĂŒber eine hierarchische Verbindungsstruktur. Diese besteht aus einem On-Chip-Netzwerk (NoC), welches eine Vielzahl von CPU-Cluster koppelt. In jedem CPU-Cluster sind mehrere ressourceneffiziente VLIW-Prozessorkerne ĂŒber eine eng gekoppelte Bus-Struktur verbunden. Der Fokus dieser Arbeit ist die Entwicklung und Entwurfsraumexploration einer ressourceneffizienten NoC-Architektur fĂŒr den Einsatz im CoreVA-MPSoC. Die Entwurfsraumexploration findet dazu auf verschiedenen Ebenen statt. Auf der Ebene der Verbindungsstruktur des NoCs werden verschiedene Topologien und Mechanismen der Flusskontrolle untersucht. Des Weiteren wird die Entwicklung und Analyse eines synchronen, mesochronen und asynchronen NoCs vorgestellt, um die Skalierbarkeit und Energieeffizienz dieser Methoden zu untersuchen. Eine weitere Ebene bildet die Schnittstelle zum Prozessorsystem bzw. CPU-Cluster, die einen maßgeblichen Einfluss auf die Softwareentwicklung und Gesamtperformanz des Systems hat. Auf Systemebene wird schließlich die Anbindung verschiedener Speicherarchitekturen an das NoC vorgestellt und deren Auswirkung auf Performanz und Energiebedarf analysiert. Ein abstraktes Modell des CoreVA-MPSoCs mit Fokus auf dem NoC erlaubt die AbschĂ€tzung von FlĂ€che, Performanz und Energie des Systems, bzw. der AusfĂŒhrung von Streaming-Anwendungen. Dieses Modell kann im CoreVA-MPSoC-Compiler fĂŒr die automatische Abbildung von Anwendungen auf dem MPSoC eingesetzt werden. Zehn Streaming-Anwendungen, vorwiegend aus dem Bereich der Signal- und Bildverarbeitung, zeigen bei der Abbildung auf einem CoreVA-MPSoC mit 32 CPUs eine durchschnittliche Beschleunigung um den Faktor 24 gegenĂŒber der AusfĂŒhrung auf einer CPU. Ein CoreVA-MPSoC mit 64 CPUs und insgesamt 3MB Speicher besitzt bei einer prototypischen Implementierung in einer 28-nm-FD-SOI-Standardzellenbibliothek einen FlĂ€chenbedarf von 14,4mm2. Bei einer Taktfrequenz von 700MHz liegt die durchschnittliche Leistungsaufnahme bei 2W. Eine FPGA-basierte Emulation auf einem FPGA-Cluster aus Xilinx Virtex-5-FPGAs erlaubt zudem eine skalierbare Verifikation eines CoreVA-MPSoCs mit nahezu beliebig vielen CPUs

    SoCRocket - A flexible and extensible Virtual Platform for the development of robust Embedded Systems

    Get PDF
    Der Schwerpunkt dieser Arbeit liegt in der Erhöhung des Abstraktionsniveaus im Entwurfsprozess, speziell dem Entwurf von Systemen auf Basis von Virtuellen Plattformen (VPs), Transaction-Level-Modellierung (TLM) und SystemC. Es wird eine ganzheitliche Methode vorgestellt, mit der komplexe eingebettete Systeme effizient modelliert werden können. Ergebnis ist eine der RTL-Synthese nahezu gleichgestellte Genauigkeit bei wesentlich höherer FlexibilitĂ€t und Simulationsgeschwindigkeit. Das SoCRocket-System orientiert sich dazu an existierenden Standards und stellt Methoden zu deren effizientem Einsatz zur Verbesserung von Simulationsgeschwindigkeit und Simulationsgenauigkeit vor. So wird unter anderem gezeigt, wie moderne Multi-Kanal-Protokolle mit Split-Transfers durch Ausgleich des Intertransaktions-Timings ohne die EinfĂŒhrung zusĂ€tzlicher Protokollphasen zeitlich genau modelliert werden können. StandardisierungslĂŒcken in den Bereichen Speichermodellierung und Systemkonfiguration werden durch standardoffene Lösungen geschlossen. DarĂŒber hinaus wird neue Infrastruktur zur Modellierung von Signalkommunikation auf Transaktionsebene, der Verifikation von Komponenten und der Modellierung des Energieverbrauchs vorgestellt. Zur Demonstration wurden die Kernkomponenten einer im europĂ€ischen Raumfahrtsektor maßgeblichen Hardwarebibliothek modelliert. Alle Komponenten wurden zunĂ€chst in Unit-Tests verifiziert und anschließend in einem Systemprototypen integriert. Zur Verifikation der Funktion, sowie Bestimmung von Simulationsgeschwindigkeit und zeitlicher Genauigkeit, wurde dieser fĂŒr unterschiedliche Abstraktionsstufen konfiguriert und mit einem in VHDL beschriebenen RISC-Referenzentwurf (LEON3MP) verglichen. Das System mit losem Timing (LT) und blockierender Kommunikation ist im Durchschnitt 561-mal schneller als die RTL-Referenz und weist eine durchschnittliche Timing-Abweichung von 7,04% auf. Das System mit nĂ€herungsweise akkuratem Timing (AT) und nicht-blockierender Kommunikation ist 335-mal schneller. Die durchschnittliche Timing-Abweichung betrĂ€gt hier nur noch 3,03%, was einer Standardabweichung von 0.033 und damit einer sehr hohen statistischen Sicherheit entspricht. Die verschiedenen Abstraktionsniveaus können zur Realisierung mehrstufiger Architekturexplorationen eingesetzt werden. Dies wird am Beispiel einer hyperspektralen Bildkompression verdeutlicht.The focus of this work is raising the abstraction level in the development process, especially for the design of systems based on Virtual Platforms (VPs), Transaction Level Modeling (TLM), and SystemC. A holistic method for efficient modeling of complex embedded systems is presented. Results are accuracies close to RTL synthesis but at much higher flexibility, and simulation performance. The SoCRocket system integrates existing standards and introduces new methods for improvement of simulation performance and accuracy. It is shown, amongst others, how modern multi-channel protocols with split transfers can be accurately modeled by compensating inter-transaction timing without introducing additional protocol phases. Standardization gaps in the area of memory modeling and system configuration are closed by standard-open solutions. Furthermore, new infrastructure for modeling signal communication on transaction level, verification of components, and estimating power consumption are presented. All components have been verified in unit tests and were subsequently integrated in a system prototype. For functional verification, as well as measurement of simulation performance and accuracy, the prototype was configured for different abstractions and compared to a VHDL-based RISC reference design (LEON3MP). The loosely-timed platform prototype with blocking communication (LT) is in average 561 times faster than the RTL reference and shows an average timing deviation of 7,04%. The approximately-timed system (AT) with non-blocking communication is 335 times faster. Here, the timing deviation is only 3,03 %, corresponding to a standard deviation of 0.033, proving a very high statistic certainty. The system’s various abstraction levels can be exploited by a multi-stage architecture exploration. This is demonstrated by the example of a hyperspectral image compression

    Anwendungsgewahre statische Spezialisierung vormals dynamischer Systemaufrufe zur Verbesserung nichtfunktionaler Eigenschaften eingebetteter Echtzeitsysteme

    Get PDF
    Eingebettete Systeme sind aus unserem heutigen Leben nicht mehr wegzudenken. Sie sind allgegenwĂ€rtig in fast jedem Moment unseres tĂ€glichen Lebens um uns vorhanden und unterstĂŒtzen unseren Alltag. Wir erwarten von diesen Systemen gleichzeitig sowohl hohe Kosteneffizienz in Entwicklung als auch Produktion. Gleichzeitig erwarten wir, dass diese zuverlĂ€ssig arbeiten und stets erwartungsgemĂ€ĂŸ reagieren. Dies fĂŒhrt gerade bei der großen StĂŒckzahl und dem weiter steigenden Vorkommen dieser Systeme zu einem immensen Druck auf den Entwicklungsprozess neuer Systeme. WĂ€hrend ein fertiges System entsprechend der Umgebung eine festgelegte Aufgabe und damit eine festgelegte Software-Anwendung hat, die es ausfĂŒhrt, sind die fĂŒr dessen Implementierung und AusfĂŒhrung verwendeten Werkzeuge nicht speziell fĂŒr genau diese Aufgabe gedacht, sondern fĂŒr eine Vielzahl möglicher Anwendungen. Dies bedeutet, dass sie einen deutlich grĂ¶ĂŸeren Funktionsumfang und eine grĂ¶ĂŸere FlexibilitĂ€t in der Verwendung dessen ermöglichen, als von der konkreten Anwendung benötigt wird. In dieser Arbeit beschĂ€ftige ich mich mit den Echtzeitbetriebssystemen (EZBS), die als AusfĂŒhrungsgrundlage dienen. Diese stellen ein breites Spektrum an Primitiven verschiedener Systemobjektklassen dazugehöriger Interaktionsmethoden zur VerfĂŒgung, von denen eine Anwendung nur eine Teilmenge verwendet. Bei den hier betrachteten dynamisch konfigurierten Systemen werden alle Systemobjekte zur Laufzeit konfiguriert und auch ihre Interaktionen sind ausschließlich durch den Verlauf des Programmcodes bestimmt. Ein Betriebssystem muss dementsprechend jederzeit beliebige Systemaufrufe akzeptieren können, auch wenn diese von der Anwendung nicht ausgefĂŒhrt werden. Diese Freiheit verursacht pessimistische Annahmen fĂŒr mögliche Interaktionsmuster und erzwingt eine dynamische Verwaltung aller SystemzustĂ€nde und Systemobjekte. In dieser Arbeit stelle ich daher Verfahren vor, mit denen systematisch und automatisiert vormals dynamische Systemaufrufe unter Beachtung der Anforderungen einer gegebenen Anwendung statisch spezialisiert werden können, sodass sich insgesamt die nichtfunktionalen Eigenschaften des Gesamtsystems verbessern. Mittels statischer Analyse ermittle ich die von der Anwendung verwendeten Systemobjekte und deren mögliche Interaktionen. Mit diesem Wissen fĂŒhre ich in Spezialisierungen in der Phase des Systemstarts und in der Arbeitsphase des Systems zur Übersetzungszeit durch. Der Systemstart optimiere ich, indem semantisch statische Systemobjekte bereits zur Übersetzungszeit instanziiert werden. Interaktionen wĂ€hrend der Arbeitsphase optimiere ich, indem ich auf die tatsĂ€chlichen Verwendungsmuster spezialisierte Implementierungen von Systemobjekten und deren Interaktionen einsetze. Mit diesen Spezialisierungen bin ich in der Lage, sowohl Laufzeit als auch Speicherbedarf eines spezialisierten Systems zu reduzieren. Den Systemstart kann ich um bis zu 67 % beschleunigen. Bei der AusfĂŒhrungszeit eines einzelnen Systemaufrufs zur Kommunikation zweier Systemobjekte sind bis zu 43 % Reduktion möglich. Als Ergebnis dieser Arbeit kann ich zeigen, dass eine automatische anwendungsgewahre statische Spezialisierung von vormals dynamischen Systemaufrufen gewinnbringend möglich ist. Dabei kann ich das Ergebnis von Systemaufrufen zur Laufzeit vorausberechnen und damit sowohl die sonst benötigte Laufzeit reduzieren, als auch eventuell nicht mehr benötigte Systemaufrufimplementierungen im Betriebssystem einsparen. Durch den Einsatz von anwendungsangepassten Implementierungen von Systemaufrufen ist eine weitere Verbesserung gegeben. Dies ist in einem fließenden Übergang möglich, sodass diejenigen Komponenten, die die FlexibilitĂ€t der dynamischen Betriebssystemschnittstelle benötigen, diese weiterhin uneingeschrĂ€nkt zur VerfĂŒgung steht. Die funktionalen Eigenschaften und Anforderungen werden dabei unter keinen UmstĂ€nden verletzt.DFG/Sachbeihilfe im Normalverfahren/LO 1719/4-1/E

    A Many-Core Platform with Run-Time Monitoring to Support Separation of Mixed-Criticality Applications

    Get PDF
    Mehr- und Vielkernplattformen bieten ausreichend Ressourcen fĂŒr eine weitere Steigerung der Rechenleistung, zum einen fĂŒr aufwendigere Anwendungen und zum anderen fĂŒr die Integration mehrerer Anwendungen, welche sonst auf mehreren separaten Plattformen ausgefĂŒhrt wĂŒrden. Die große Anzahl an Ressourcen kann weiterhin dafĂŒr verwendet werden, einer Anwendung mehr Ressourcen als nötig redundant zuzuweisen oder zunĂ€chst unbenutzte Komponenten dazu zu verwenden, fehlerhafte Komponenten zur Laufzeit zu ersetzen, um so die ZuverlĂ€ssigkeit und VerfĂŒgbarkeit von Anwendungen zu erhöhen. HierfĂŒr muss eine Vielkernplattform eine transparente und flexible Zuordnung von Anwendungen erlauben, welche sich auch zur Laufzeit Ă€ndern lĂ€sst. Dasselbe gilt fĂŒr die Kommunikationsverbindungen der Anwendungen mit verteilten Komponenten. Die vorliegende Arbeit prĂ€sentiert eine parametrisierbare und synthetisierbare Vielkernplattform, welche die genannten Bedingungen durch Virtualisierung erfĂŒllt. Weiterhin bietet die Plattform Mechanismen zur Separierung unterschiedlich kritischer Anwendungen. Ohne eine ausreichende Separierung mĂŒssen alle Anwendungen die Anforderungen der Anwendung mit der höchsten KritikalitĂ€t erfĂŒllen. Dies wĂŒrde den Aufwand fĂŒr weniger kritische Anwendungen stark erhöhen. Eine ausreichende Separierung ermöglicht die unabhĂ€ngige Entwicklung und Zertifizierung einzelner Anwendungen. Die Separierung betrifft hierbei nicht nur die UnabhĂ€ngigkeit einzelner Anwendungen in Bezug auf ihr Zeitverhalten und ihren Raumbedarf, sondern muss auch auf ihren Energieverbrauch erweitert werden, da die verfĂŒgbare Energie ebenfalls von allen Anwendungen gemeinsam genutzt wird. Ein erhöhter Energieverbrauch einer Anwendung kann die verfĂŒgbare Energie fĂŒr andere Anwendungen einschrĂ€nken und durch eine erhöhte thermische Belastung die VerfĂŒgbarkeit und Lebensdauer des gesamten Chips reduzieren. Neben der statischen Separierung durch eine exklusive Zuweisung von Ressourcen bietet die Plattform eine skalierbare LaufzeitĂŒberwachung mit einer kurzen Reaktionszeit, welche eine sichere und effiziente gemeinsame Nutzung von Ressourcen erlaubt. Die LaufzeitĂŒberwachung ermöglicht die Überwachung des spezifizierten Verhaltens einzelner Anwendungen und kann dieses bei Bedarf zur Laufzeit erzwingen. Insgesamt ist die Arbeit ein weiterer Schritt, um Vielkernplattformen fĂŒr unterschiedlich kritische Anwendungen effizient nutzbar zu machen.Modern multi- and many-core platforms offer sufficient resources for further increasing the performance of advanced applications. Moreover they allow integrating multiple applications that formerly ran on multiple chips. The large amount of resources can additionally be used to map applications redundantly to more resources than required to increase reliability. Spare parts can be used to replace faulty components at run time for higher availability. A suitable platform must allow remapping of applications and replacement of peripherals dynamically. Mapping to distributed resources but also communication among resources ideally is transparent and flexible to allow changes at run time. In this thesis, a parameterizable and synthesizable many-core platform is presented, which realizes the requirements above by virtualizing all resources that are available on the platform. The platform is used as a research vehicle to develop mechanisms for separating applications of different criticalities on a shared platform. On a many-core platform that runs mixed-criticality applications, all applications have to be sufficiently separated. Otherwise all applications have to fulfill the requirements of the highest level of criticality, even low critical ones. This would significantly increase the costs of a shared platform. Separation enables individual development and certification of applications and cost-efficient recertification of single applications after an update. Separation does not only include independence in terms of time and space, but also in terms of power consumption as the available energy for a many-core system is shared between all running applications. Increased power consumption of one application may reduce the available energy for other applications or the reliability and lifetime of the complete chip. Beside static separation of mixed-criticality applications by assigning them to separate resources, a fast and scalable monitoring and control mechanism allows safe and efficient sharing of resources by enforcing specified behavior of applications at run time. All in all, this thesisÕ contribution is a step towards exploiting the benefits of multi- and many-core platforms for mixed-criticality applications

    Effiziente Mehrkernarchitektur fĂŒr eingebettete Java-Bytecode-Prozessoren

    Get PDF
    Die Java-Plattform bietet viele Vorteile fĂŒr die schnelle Entwicklung komplexer Software. FĂŒr die AusfĂŒhrung des Java-Bytecodes auf eingebetteten Systemen eignen sich insbesondere Java-(Bytecode)-Prozessoren, die den Java-Bytecode als nativen Befehlssatz unterstĂŒtzen. Die vorliegende Arbeit untersucht detailliert die Gestaltung einer Mehrkernarchitektur fĂŒr Java-Prozessoren zur effizienten Nutzung der auf Thread-Ebene ohnehin vorhandenen ParallelitĂ€t eines Java-Programms. FĂŒr die FunktionalitĂ€ts- und Leistungsbewertung eines Prototyps wird eine eigene Trace-Architektur eingesetzt. Es wird eine hohe Leistungssteigerung bei nur geringem zusĂ€tzlichem Hardwareaufwand erzielt sowie eine höhere Leistung als bekannte alternative AnsĂ€tze erreicht

    Virtualisierung eingebetteter Echtzeitsysteme im Mehrkernbetrieb zur Partitionierung sicherheitsrelevanter Fahrzeugsoftware

    Get PDF
    Die Automobilindustrie verzeichnete innerhalb der letzten Jahre einen enormen Zuwachs an neuen elektrischen und elektronischen Fahrzeugfunktionen. Dies fĂŒhrt gleichzeitig zu einer Mehrung der SoftwareumfĂ€nge in eingebetteten Systemen. Nicht-funktionale Anforderungen wie Sicherheit, Performanz, VerlĂ€sslichkeit und Wartbarkeit stellen zusĂ€tzliche Herausforderungen an die Entwicklung zukĂŒnftiger Fahrzeugsysteme dar. Um die Anzahl der SteuergerĂ€te zu reduzieren, sollen Fahrzeugfunktionen auf gemeinsamen IntegrationssteuergerĂ€ten konsolidiert werden. Systemvirtualisierung kann hierfĂŒr eine zielfĂŒhrende Herangehensweise darstellen, um die Softwaremigration auf IntegrationssteuergerĂ€te zu erleichtern und gleichzeitig den geforderten IsolationsansprĂŒchen neuer Sicherheitsstandards gerecht zu werden. In dieser Arbeit wird die Partitionierung sicherheitsrelevanter Fahrzeugfunktionen auf einer gemeinsamen Hardwareplattform fokussiert. Unter Verwendung von Methoden zur Bewertung sozialer Netzwerke wird eine graphenbasierte Herangehensweise vorgestellt, um die Partitionierbarkeit von Softwarenetzen mit sicherheitsrelevanten Anteilen abschĂ€tzen zu können. Zur Realisierung der Systempartitionierung wird eine Methodik zur Auswahl der geeignetsten Kernelarchitektur eingefĂŒhrt. Dabei werden aus gewĂ€hlten nicht-funktionalen Eigenschaften potentielle technische Lösungskonzepte innerhalb einer Baumstruktur abgeleitet und ingenieurmĂ€ĂŸig bewertet. Darauf aufbauend wird ein Hypervisor fĂŒr eingebettete Echtzeitsysteme der Firma ETAS Ltd. evaluiert. Um die Kosten einer zusĂ€tzlichen Hypervisorschicht beurteilen zu können, werden in diesem Rahmen Laufzeitmessungen durchgefĂŒhrt. Somit werden die Auswirkungen einer zusĂ€tzlichen Virtualisierungsschicht auf Fahrzeugsoftwaresysteme zur ErfĂŒllung ausgewĂ€hlter nicht-funktionaler Eigenschaften aufgezeigt. Die Anbindung virtualisierter Systeme an die Kommunikationsschnittstellen des Hypervisors stellt einen weiteren Schwerpunkt dar. Virtuelle SteuergerĂ€te tauschen sich weiterhin ĂŒber bereits implementierte KommunikationskanĂ€le aus und greifen auf gemeinsame Hardwareressourcen zu. Es wird somit ein Konzept eingefĂŒhrt, um sicherheitsrelevante Anteile des AUTOSAR Microcontroller Abstraction Layers zu entkoppeln. Der Hypervisor selbst wird hierzu an relevanten Stellen erweitert und ein verlĂ€ssliches Kommunikationskonzept implementiert. Ein Demonstratoraufbau, zur Konsolidierung von produktiver Fahrzeugsoftware auf einer gemeinsamen Hardwareplattform, finalisiert die Arbeit. HierfĂŒr werden unabhĂ€ngige SoftwarestĂ€nde paravirtualisiert. Als ResĂŒmee der Arbeit erhĂ€lt der Leser sowohl einen technischen Überblick ĂŒber den Mehrwert als auch der Kosten paravirtualisierter Fahrzeugplattformen, welche auf KleinststeuergerĂ€ten integriert sind.Within the automotive industry, electric and electronic functionality is rapidly rising within the last few years. This fact yields an increase of software functionality of embedded systems within the car. Non-functional requirements like safety, performance, reliability or maintainability represent additional challenges for future vehicle system development. Vehicle functionality is consolidated on common hardware platforms, to reduce the amount of electronic control units. System virtualization can act as a proper approach, to ease the migration of different vehicle applications to a consolidated system and achieve additional demands for functional isolation. Within this thesis, the partitioning of safety-related automotive applications on a common hardware platform is focused. To assess the partitioning of safety-related automotive systems, methods for social network evaluation with a graph-oriented approach are proposed. For realizing the system partitioning, a decision-making model is introduced, which results in the most appropriate kernel architecture. From a chosen set of non-functional requirements, technical solutions are derived and rated from a tree structure. As a result, a hypervisor for embedded real-time systems, supplied by ETAS Ltd., is evaluated. For that purpose, timing measurements are performed to estimate the costs of virtual electronic control units. The impact of an additional virtualization layer for automotive software systems to achieve non-functional requirements is analyzed. A further main focus is the integration of virtualized systems to the communication interfaces of the hypervisor. Virtual ECUs further exchange information over already implemented communication channels and use common hardware ressources. Thus, a concept to decouple the safety-related parts of the AUTOSAR Microcontroller Abstraction Layer is introduced. The hypervisor itself will be enhanced by a reliable communication concept. A demonstrator to consolidate already productive automotive applications on a common hardware platform finalizes the work. Here, independent software parts are paravirtualized. This thesis concludes with a technical overview of the benefits and costs for integrating paravirtualized electronic control units on less capable hardware platforms

    Konzept zur Modularisierung von Komponenten des Digitalen Prozesszwillings

    Get PDF
    Digitale Prozesszwillinge (DPTs) sind vernetzte Software-Systeme im Industrie-4.0-Kontext, die Produktionsprozesse digital abbilden, ĂŒberwachen und steuern. Damit können ProduktivitĂ€tssteigerungen erzielt und Wertschöpfungsketten flexibilisiert werden. Allerdings kann der Betrieb von DPTs zu sehr hohen Anforderungen an die ausfĂŒhrende Rechenressource fĂŒhren. Zu diesen Anforderungen gehören eine hohe und variable benötigte Rechenleistung, ZuverlĂ€ssigkeit und Ausfallsicherheit. Diese können mit monolithischen DPT-Architekturen nicht immer ausreichend erfĂŒllt werden. Außerdem sind monolithische DPTs schwer wartbar, da einzelne Teile nur umstĂ€ndlich ersetzt werden können. Wenige wissenschaftliche Arbeiten befassten sich aber bisher mit nicht-monolithischen Digitalen Zwillingen. Der Aufbau eines DPT in modularer statt monolithischer Architektur verspricht eine lĂ€ngere Lebensdauer durch bessere Wartbarkeit und Austauschbarkeit der DPT-Komponenten. Außerdem lassen sich die Module mittels Software-Virtualisierung durch Container von der physischen Hardware trennen und so flexibel zwischen beliebigen Hosts bewegen. Diese PortabilitĂ€t erlaubt die horizontale Skalierung des DPT, Ausfalltoleranz sowie eine Auslagerung von Modulen in die Cloud. Austauschbarkeit und Wiederverwertbarkeit der Module sowie PortabilitĂ€t der Container-Technologie ermöglichen zudem ein herstellerĂŒbergreifendes Ökosystem fĂŒr den DPT. In dieser Arbeit werden die Komponenten eines DPT modularisiert und containerisiert. Es wird eine Architektur fĂŒr diesen containerisierten, modularisierten DPT (CMDPT) geschaffen, welche insbesondere die benötigte Infrastruktur fĂŒr den Betrieb spezifiziert. Das Konzept wird in einer prototypischen Implementierung umgesetzt. Die Validierung des Konzepts zeigt, dass der CMDPT neue Anwendungsgebiete fĂŒr den DPT schafft, die zugrundeliegenden Technologien aber in Hinsicht Echtzeit und Latenz noch nicht ausgereift sind
    corecore