7 research outputs found

    Sprachen für parallele objektorientierte Programmierung

    Get PDF
    In letzter Zeit wurden eine ganze Reihe von objektorientierten Sprachen zur parallelen Programmierung entworfen und implementiert. Einige dieser Sprachen werden hier einander gegenübergestellt. Das Hauptaugenmerk der Arbeit liegt einerseits auf den bereitgestellten Konzepten zur Bewältigung der Komplexität, die sich durch die Parallelisierung ergibt, und andererseits auf der Flexibilisierung von Synchronisation und Kommunikation zur Optimierung der Parallelisierbarkeit von Programmausführungen

    Ein Modell zur effizienten Parallelisierung von Algorithmen auf komplexen, dynamischen Datenstrukturen

    Get PDF
    Moderne berechnungsintensive Algorithmen, beispielsweise adaptive numerische Lösungsverfahren für partielle Differentialgleichungen, arbeiten oftmals auf komplexen, dynamischen Datenstrukturen. Die Implementierung solcher Algorithmen auf Parallelrechnern mit verteiltem Speicher mittels Datenpartitionierung wirft zahlreiche Probleme auf (z.B. Lastverteilung). Im Rahmen der vorliegenden Arbeit wurde das neue parallele Programmiermodell Dynamic Distributed Data (DDD) entwickelt, durch das die Parallelisierungsarbeit vom Design der verteilten Datenstrukturen bis hin zur Erstellung des portablen, parallelen und effizienten Programmcodes unterstützt wird. Dem DDD-Konzept liegt ein graphbasiertes formales Modell zugrunde. Dabei wird die Datenstruktur des jeweiligen Programms (z.B. unstrukturierte Gitter) formal auf einen verteilten Graphen abgebildet, der aus mehreren lokalen Graphen besteht. Das formale Modell dient als Spezifikation des Programmiermodells und gleichzeitig zur Definition der wichtigen in dieser Arbeit verwendeten Begriffe. Der Systemarchitektur von DDD-basierten Anwendungen liegt ein Schichtenmodell zugrunde, den Kern stellt dabei die DDD-Programmbibliothek dar. Diese bietet Funktionen zur dynamischen Definition verteilter Datentypen und zur Verwaltung lokaler Objekte. In den Überlappungsbereichen der lokalen Graphen stehen abstrakte Kommunikationsfunktionen in Form von sog. Interfaces zur Verfügung. Die wesentliche Neuerung gegenüber nahezu allen bestehenden Arbeiten ist jedoch die Möglichkeit zur dynamischen Veränderung des verteilten Graphen; dies ermöglicht es beispielsweise, dynamische Lastverteilung oder Gittergenerierungsverfahren einfach und effizient zu implementieren. Damit können beliebig komplexe Datentopologien dynamisch erzeugt, migriert und wieder entfernt werden

    Realisierungsmethodik von applikationsspezifischen Softcore FPGA-Lösungen: in Abhänigkeit von algorithmischen Anforderungen im Einsatzgebiet eingebetteter Systeme

    Get PDF
    Die vorliegende Dissertation befasst sich mit Prinzipien, Methodiken, Techniken und Realisierungen zur systematischen Entwicklung von komplexen eingebetteten Systemen unter Verwendung von Softcore Prozessoren. Die adressierte Aufgabendomäne ist vor allem die echtzeitkritische Daten- und Bildverarbeitung. Notwendig sind neue Lösungen aufgrund immer leistungsfähigerer eingebetteter Systeme, mit deren Hilfe Aufgabenfelder bedient werden können, die bisher mit diesen Systemen nicht umsetzbar waren. Aufbauend auf den Darstellungen bereits existierender Modelle und Verfahren, wie z. B. dem V-Modell oder dem Hardware-Software Co-Design, wird eine spezielle Realisierungsmethodik für applikationsspezifische Softcore FPGA-Lösungen in Abhängigkeit von algorithmischen Anforderungen in der Aufgabendomäne erarbeitet. In diesem Zusammenhang wird eine Softcore-Bibliothek mit an diese Domäne angepassten Eigenschaften konzipiert und umgesetzt. Das dabei verwendete modellbasierte Vorgehen ermöglicht durch eine hierarchische Beschreibung und Validierung eine zeit- und kosteneffiziente Entwicklung komplexer Systeme. Für jede Abstraktionsebene werden Modelle vorgestellt, die jeweils auf dieser alle notwendigen Anforderungen zur frühzeitigen Fehlererkennung und Fehlervermeidung sowie eine automatisierte Codegenerierung und Optimierungen sinnvoll umsetzen. Durch gezielte Festlegung einzuhaltender Kriterien und Entwicklungsschritte wird dabei in jeder Komponente der Toolchain eine bestmögliche Kombination von zeit- und kosteneffizienter Entwicklung mit der Sicherstellung der Einhaltung harter Echtzeiteigenschaften sowie einer Maximierung der Wiederverwendbarkeit, erreicht. Dabei spielt die Anpassbarkeit der eingebetteten Systeme mit Hilfe von partieller Rekonfiguration, mit der das dynamische Austauschen von Teilen des Softcores oder sogar ganzer Softcore Prozessoren zur Laufzeit ermöglicht wird, eine wichtige Rolle. Es erfolgen ein praktischer Nachweis der Funktionalität der erarbeiteten Modelle sowie ausführliche Experimente über die zeitlichen Anforderungen bei der partiellen Rekonfiguration von Softcore Prozessoren. Die praktischen Ergebnisse der Arbeit zeigen deutlich die Effizienz der Entwicklung von Lösungen mit der konzipierten und umgesetzten Toolchain sowie die Relevanz und Einsetzbarkeit der partiellen Rekonfiguration in diesem Gebiet.This dissertation focuses on principles, methods, techniques and realizations for the systematic development of complex embedded systems using softcore processors. The addressed domain is primarily real-time-critical data and image processing. New solutions are needed due to the increasing performance of embedded systems, allowing for a range of applications that were previously not solvable with these systems. Building on the concepts of already existing models and methods, e.g. the V-model or hardware-software-co-design, a special realization methodology for application-specific softcore FPGA solutions is developed, in conjunction with algorithmic requirements in the addressed domain. In this context, a softcore library with characteristics tailored to this domain is designed and implemented. Through a hierarchical description and validation, the model-based approach used in this thesis enables the time- and cost-efficient development of complex systems. For each abstraction level, models are presented that provide all necessary requisites for early error detection and prevention, as well as mostly automated code generation and code optimization. By defining relevant criteria and development steps, a parsimonious development with respect to time and cost is achieved in each component of the toolchain. This ensures strict adherence to the hard real-time properties and maximizes the reusability of the modules implemented for a specific project. The adaptability of the embedded systems through using partial reconfiguration plays an important role. Partial reconfiguration enables dynamic replacement of parts of the softcore or even entire softcore processors at runtime. A practical evaluation of the functionality of the developed models as well an extensive array of experiments concerning the time requirements for the partial reconfiguration of softcore processors are presented. The practical results of this thesis clearly demonstrate the efficiency of developing solutions with the designed and realized toolchain, as well as the relevance and applicability of partial reconfiguration in the addressed domain
    corecore