936 research outputs found

    Modellierung von paralleler Software für homogene und heterogene Multiprozessor-Systeme

    Get PDF
    Multicore-Prozessoren stellen leistungsstarke Architekturen für die Signal- und Videoverarbeitung dar, die zunehmend auch in Echtzeitanwendungen eingesetzt werden. Da Multicore-Prozessoren in Hochsprachen programmiert werden, bieten sie eine hohe Flexibilität und Portabilität der Software. Eingebettete Multicore-Prozessoren werden beispielsweise im Bereich der kamerabasierten Fahrerassistenzsysteme zur Berechnung anspruchsvoller Algorithmen mit strengen Echtzeitkriterien verwendet. Die Fusion und Auswertung der gesammelten Daten aus einer Vielzahl von Sensoren besitzt eine hohe Rechenkomplexität und einen hohen Speicherbedarf. Gleichzeitig haben derartige Algorithmen kurze Entwicklungszyklen, was den Einsatz von flexibler Multicore-Software attraktiv macht. Eine optimale Auslastung aller Ressourcen und eine gute Portabilität der Software zwischen Plattformen benötigt allerdings eine skalierbare parallele Implementierung. Für die Parallelisierung steht eine Vielzahl von Strategien zur Auswahl, die auf unterschiedlichen Plattformen jeweils andere Laufzeiteigenschaften und Limitierungen, wie z.B. Synchronisationen oder Speicherbandbreite, aufweisen. Moderne Plattformen kombinieren meist heterogene Prozessoren mit applikationsspezifischen Beschleunigern, was eine parallele Programmierung zusätzlich erschwert. Diese Arbeit adressiert die Programmierbarkeit von parallelen Plattformen mit dem Ziel Entwickler bei der Parallelisierung zu unterstützen. Dazu wird die Abstraktionsschicht Modular Parallelization Abstraction Layer (MPAL) vorgestellt, die eine neue Schnittstelle zur parallelen Programmierung von Multicore- und Manycore-Prozessoren, sowie Beschleunigern, wie Grafikprozessoren oder Field Programmable Gate Arrays, bereitstellt. MPAL ermöglicht eine einfache Konfiguration der verwendeten Frameworks und der Parallelität, sowie die Kontrolle des heterogenen Architektur-Mappings. Des Weiteren bietet MPAL Profiling-Methoden, die die Extraktion der Skalierungscharakteristiken erlauben, die wiederum bei der Identifikation von Engpässen helfen. Weiterhin werden in dieser Arbeit Einflussfaktoren auf die Skalierbarkeit untersucht und modelliert, damit diese durch signifikante Modellparameter dargestellt und ausgewertet werden können. Unter Verwendung der Modellparameter als Deskriptoren stellt diese Arbeit eine neue Methode der Performance-Prädiktion vor. Damit können das erwartete Skalierungsverhalten, sowie potentielle Engpässe nach einer Portierung der Software, abgeschätzt werden. Die vorgestellten Methoden werden mit Referenz-Methoden zur parallelen Programmierung und Performance-Prädiktion verglichen und im Anschluss mithilfe von zwei Fahrerassistenzalgorithmen (Stereo-Vision und Fußgängererkennung) evaluiert.Multicore processors represent powerful architectures for signal- and video-processing, even applicable for real-time applications. Because these chips are programmable in high-level programming-languages, they offer good flexibility and software portability. For instance in the field of camera-based advanced driver assistance systems, which appear as demanding applications with strict real-time constraints, embedded multicores serve as target platforms. Such algorithms feature not only complex computations and high memory consumption due to the fusion of multiple sensor-data, but they also have short development cycles, which makes the flexibility of multicore-software even more desirable. However, gathering the theoretical peak performance of multicore processors requires parallel programming and a scalable work distribution in order to obtain software that is portable across platforms. Furthermore, parallel programming opens up a huge design space of parallelization strategies each with potential bottlenecks, like synchronization-count or memory bandwidth, which vary between platforms. Modern processors are often equipped with application specific accelerator architectures, resulting in multiple heterogeneous computational units eventually each requiring individual programming techniques. This work addresses the programmability of parallel platforms with the aim of supporting developers during the parallelization process. In order to ease the parallel programming, the middleware modular parallelization abstraction layer (MPAL) is introduced, which offers a new interface for programming multi-/manycores and accelerators (e.g., graphics processors, or field programmable gate arrays), while the actually used frameworks can be configured dynamically. MPAL allows the configuration of the parallelism and to control the architecture mapping including heterogeneous scheduling and data transfers. Furthermore, MPAL offers in-line profiling methodologies, which enable the extraction of the parallel runtime behavior and scalability characteristics, which help to analyze the parallelization success and identify bottlenecks. Most relevant, influencing scalability characteristics are modeled to represent trends in few significant and comparable model-parameters. Using these model-parameters as descriptive features, this work contributes a statistical performance prediction method, which allows for an estimation of the scalability trend and potential bottlenecks after porting a parallel software between platforms. All introduced methods are compared with state-of-the-art programming techniques and prediction methods, and will be evaluated using two driver-assistance algorithms (stereo-vision and pedestrian detection)

    Multimediale Kommunikationsarchitekturen: Herausforderungen und Weiterentwicklungen der Forschungen im Kulturraum Internet

    Get PDF
    Im Folgenden setze ich mich mit der Frage auseinander, wie der sich rasch verändernde kulturelle Raum Internet forschungsmässig zu erschliessen ist. Dabei möchte ich weniger den aktuellen Stand der Internet Forschung bilanzieren, das ist durch verschiedene einschlägige Publikationen bereits geschehen. Vielmehr werde ich mich darauf konzentrieren, die Hauptveränderungen des Internet in den letzten Jahren zu skizzieren, um daran anknüpfend einige ausgewählte methodische Probleme, die damit verbunden sind, zu bearbeiten

    GPU basierte Parallelisierung von deformierbaren Registrierungsverfahren als Grundlage für dynamische Anpassungen von Therapieplänen in der adaptiven Strahlentherapie

    Get PDF
    Hochkonforme Strahlentherapietechniken ermöglichen eine gezielte Tumorbestrahlung bei maximaler Schonung des benachbarten gesunden Gewebes und der Risikoorgane. Anatomische Veränderungen während des Bestrahlungsverlaufs können jedoch zu einer Abweichung von der verschriebenen Dosisverteilung führen. Durch Adaptionen der Patientenposition oder des Bestrahlungsplans können diese Abweichungen kompensiert werden. Dafür werden Transformationen benötigt, die diese Veränderungen beschreiben. Die sich verändernde Anatomie wird unter der Therapie in Kontrollaufnahmen abgebildet. Um die Transformationen aus den Aufnahmen zu ermitteln, können Bildregistrierungsverfahren eingesetzt werden. Zur Berücksichtigung von lokalen Veränderungen der Anatomie werden deformierbare Registrierungsverfahren benötigt. Um während der Therapie auf beobachtete Veränderungen eingehen zu können, steht nur ein sehr enges Zeitfenster zur Verfügung. Existierende Registrierungsverfahren sind zu langsam, um diese Aufgabe erfüllen zu können. Durch Parallelisierung der algorithmischen Komponenten lassen sich die Registierungsverfahren signifikant beschleunigen, ohne die Genauigkeit zu reduzieren. In dieser Arbeit wurde ein hoch parallelisierbares Verfahren zur Ermittelung der Deformationen aus Bildern entwickelt und auf einer parallelen Architektur der GPU Hardware umgesetzt. Die resultierende Rechendauer von unter einer bis wenigen Minuten bei guter Registrierungsqualität kann die Umsetzung von adaptiven Korrekturstrategien noch während der Behandlung ermöglichen
    corecore