682 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

    Möglichkeiten des Multitasking zur Beschleunigung von Standardalgorithmen

    Get PDF
    In den letzten Jahren haben enorme Fortschritte in der Halbleiter- und Schaltkreistechnologie zur Entwicklung von immer leistungsfähigeren von Neumann-Rechnersystemen geführt. Trotz des dadurch bedingten Leistungszuwachses sind in einem Rechnersystem mit sequentiellem Befehlsstrom einer weiteren Leistungssteigerung durch die physikalischen Restriktionen der Hardware Grenzen gesetzt. Diese Einschränkung sowie die Forderung nach immer höheren Rechnerleistungen und ein drastischer Rückgang der Hardware-Preise führten zur Entwicklung neuer innovativer Rechnerarchitekturen, die aufgrund der Mehrfachausführung ihrer Hardware-Komponenten in der Lage sind, große Hengen von Operationen und Daten parallel zu verarbeiten. Damit zeichnet sich im Design heutiger moderner Rechnersysteme der Trend ab, möglichst viele gleichzeitig arbeitende Hardware-Komponenten zuzulassen. Die Erwartungen, die an diese Parallelrechner geknüpft werden, sind neben einer hohen Zuverlässigleit (reliability) und Verfügbarkeit (availability) eine deutliche Verbesserung der "turnaround"-Zeitund damit eine erhöhte Durchsatzrate. Da sich mit der Abkehr von der von-Neumann-Rechnerarchitektur auch die Operationsprinzipien und die Organisationstruktur der Rechner verändert haben, bedeutet dies insbesondere die Entwicklung neuer Betriebssyteme, Programmiersprachen und Compiler. Damit die Fähigkeit zur Parallelverarbeitung und das größere Leistungsvermögen dieser Rechnersysteme effektiv genutzt werden kann, wird es nötig sein, originäre parallele Algorithmenneu bzw. weiter zu entwickeln. Voraussetzung für eine Leistungssteigerung ist die Parallelisierbarkeit der zur Lösung anstehenden Probleme. Die Umstrukturierungeines sequentiellen Algorithmus muß gleiche Ergebnisse sicherstellen. Zur Ermittlung der Leistungsverbesserung wird man jeweils den optimalsten parallelen bzw. sequentiellen Algorithmus heranziehen. [...

    Workflow- und Prozeßsynchronisation mit Interaktionsausdrücken und -graphen

    Get PDF
    Im Rahmen der Arbeit werden Interaktionsausdrücke und -graphen als deskriptiver Formalismus zur kompakten, übersichtlichen und modularen Spezifikation sowie zur effizienten Implementierung von Synchronisationsbedingungen unterschiedlichster Art konzipiert, theoretisch untersucht, praktisch implementiert und prototypisch zur Synchronisation von Workflows angewandt

    Parallele und kooperative Simulation für eingebettete Multiprozessorsysteme

    Get PDF
    Die Entwicklung von eingebetteten Systemen wird durch die stetig steigende Anzahl und Integrationsdichte neuer Funktionen in Kombination mit einem erhöhten Interaktionsgrad zunehmend zur Herausforderung. Vor diesem Hintergrund werden in dieser Arbeit Methoden zur SystemC-basierten parallelen Simulation von Multiprozessorsystemen auf Manycore Architekturen sowie zur Verbesserung der Interoperabilität zwischen heterogenen Simulationswerkzeugen entwickelt, experimentell untersucht und bewertet

    Vergleich und Bewertung physischer und logischer Fragmentierungsansätze im Umfeld mobiler Prozesse

    Get PDF
    Flexibilität, um auf sich schnell verändernde Situationen reagieren zu können, ist ein immer wichtigerer Aspekt im Prozessumfeld. Zur Erreichung dieser Flexibilität ist die mobile Nutzung von Prozessen, die sinnvoll nur durch die Fragmentierung von Prozessen möglich ist, von großer Bedeutung. Herkömmliche Workflow- beziehungsweise Prozessmanagementsysteme [35] mit zentralen Workflow-/Prozess-Management-Servern sind für Einsätze in verteilten mobilen Umgebungen durch die starke Fokussierung auf lokale Ressourcen zumeist wenig geeignet. Der zentrale Aspekt dieser Arbeit ist die Darstellung verschiedener theoretischer Ansätze aus dem Umfeld der verteilten Prozesse zur Unterstützung mobiler Prozesse. Aus den derzeit existierenden, theoretischen Ansätzen, die auch bereits teilweise umgesetzt wurden, sind aus Sicht dieser Arbeit, die beiden wichtigen Konzepte der physischen Fragmentierung sowie der logischen Fragmentierung, bei der Prozessinstanzen migriert werden, interessant, andere Ansätze, wie zum Beispiel agentenbasierte Ansätze, werden in dieser Arbeit nicht betrachtet. Abschließend wird am Beispiel eines kommerziellen Produktes - dem Microsoft BizTalk Server - gezeigt, inwiefern dieses zur Unterstützung mobiler Prozesse eingesetzt werden kann

    Spawn & Merge - A programmingmodel for deterministic synchronization of distributed systems

    Get PDF
    Bestehende Ansätze zur deterministischen Ausführung führen alle Codebereiche einer Anwendung voll-deterministisch aus, was mit hohen Performancekosten und einem Verlust der Skalierbarkeit einhergeht. In dieser Arbeit wird ein Programmiermodell entwickelt, das eine skalierbare deterministische Ausführung einer verteilten Anwendung mit geringeren Performancekosten (gegenüber vollem Determinismus) ermöglicht. Dazu wird das Konzept des Determinismus auf Applikationsebene eingeführt, das im Gegensatz zu vollem Determinismus die deterministische Ausführung auf diejenigen Codebereiche beschränkt, deren nebenläufige Ausführung einen Einfluss auf das deterministische Ergebnis hat. Das darauf aufbauende Spawn & Merge Programmiermodell ermöglicht die automatisierte Entscheidung, ob die Ausführungsreihenfolge zweier Codebereiche für ein deterministisches Ergebnis beibehalten werden muss. Die Evaluation eines Prototyps für Spawn & Merge in Verteilten Systemen zeigt, dass verteilte Spawn & Merge Anwendungen, die einen hohen parallelisierbaren Anteil haben, effizient skalieren können (bis zu 100% der maximal erreichbaren Beschleunigung), während eine deterministische Ausführung der Anwendungslogik garantiert wird. Dem Performancegewinn stehen die Kosten für die Mechanismen gegenüber, die den Determinismus der Anwendung ermöglichen und sich aus den Kosten für die intern verwendete Operational Transformation (OT) und den eingeführten Wartebedingungen zusammensetzen. Der Großteil der potenziellen Wartebedingungen wird durch ein internes dynamisches Scheduling der parallel ausgeführten Anteile der Anwendung verhindert. Die verbleibenden Wartebedingungen wurden durch ein angepasstes OT-System, das eine effiziente deterministische Zusammenführung in beliebiger Reihenfolge ermöglicht, weiter reduziert. Die Höhe der OT-Kosten ergibt sich aus der Anwendung und kann einen Großteil der Ausführungszeit einnehmen (im Worst Case bis zu 97,5% in den durchgeführten Messungen), wenn viele Modifikationen an geteilten Datenstrukturen durchgeführt und häufig zu parallel ausgeführten Anteilen der Anwendung synchronisiert werden. Das liegt an der Berechnungskomplexität O(n^2) der verwendeten OT-Systeme. Die OT-Kosten sind allerdings für eine Anwendung konstant (für feste Eingabedaten). Somit sinkt der Anteil der OT-Kosten an der Gesamtlaufzeit bei steigender Parallelität. Die Eignung von Spawn & Merge für eine Anwendung ist somit abhängig vom parallelisierbaren Anteil, der Anzahl durchgeführter Modifikationen an geteilten Datenstrukturen und der Häufigkeit von Synchronisationen innerhalb der Anwendung.Existing approaches for deterministic execution run all code sections in a fully deterministic manner, resulting in high performance costs and a loss of scalability. In this thesis we develop a programming model for a scalable deterministic execution of distributed applications, which introduces less performance costs than fully deterministic systems. We introduce the concept of Application-level Determinism, which, in contrast to full determinism, limits the deterministic execution to code sections that potentially influence the deterministic result of the application when executed concurrently. Based on this concept, the Spawn & Merge programming model automates the decision whether the execution of two code segments must be kept in order to maintain a deterministic result. The evaluation of a prototype of Spawn & Merge for distributed systems shows that applications with a high share of parallelizable code can scale efficiently (achieve up to 100% of maximum speedup possible) and guarantee the deterministic and reproducible execution of the application logic. The performance gain competes with the costs for the determinism-enforcing mechanisms used by Spawn & Merge: Operational Transformation (OT) and waiting conditions introduced. The majority of potential waiting conditions is automatically dealt with by internal dynamic scheduling of the parallel parts of the application. The remaining waiting conditions are further reduced by introducing a modified OT system that allows for an efficient deterministic merge in any given order. The costs for OT depend on the application and can take up most of the execution time (up to a worst case of 97,5% in the performed measurements) when many modifications of shared data structures are performed and when there is a high amount of synchronization between the parts of the application that are executed in parallel. This is due to the computational complexity of O(n^2) for the OT systems used. However, these costs for OT are constant for an application for a given input. Thus, the share of OT on the overall application runtime reduces with rising parallelism. Therefore, the feasibility of Spawn & Merge for an application depends on the parallelizable share of the application, the amount of performed modifications of shared data structures, and the amount of internal synchronizations

    Der E-Learning Redaktionsleitstand: Zentrale Koordination verteilter Produktions- und Einsatzprozesse im E-Learning

    Get PDF
    In den zurückliegenden Jahren ist ein deutlicher Anstieg der Nachfrage an onlinebasierten, multimedialen Aus- und Weiterbildungsangeboten sowohl im universitären als auch im privatwirtschaftlichen Bereich zu verzeichnen. Im Vergleich zu traditionellen Lehr-/Lern-Arrangements ist die Entwicklung dieser Angebote mit einem deutlich erhöhten Zeit- und Kostenfaktor verbunden. Um diesen zu reduzieren sind neue Konzepte notwendig. Neben der Parallelisierung von Produktions- und Überarbeitungsprozessen spielt dabei vor allem die Wiederverwendung einmal erstellter Lerninhalte die entscheidende Rolle. Diese zu den wichtigsten Forderungen aus Sicht der Wirtschaftsinformatik

    XML-Verarbeitung auf Grafikkarten

    Get PDF
    Die Extensible Markup Language (XML) ist ein weit verbreitetes, strukturiertes Format zur Datenspeicherung und zum Datenaustausch. Die Komplexität und die Menge der zu verarbeitenden XML-Daten hat in den vergangenen Jahren erheblich zugenommen, und sowohl in der Wissenschaft wie auch in der Wirtschaft wird an Verfahren zur schnellen Verarbeitung von XML gearbeitet. In einigen Arbeiten werden auch Verfahren zur parallelen Verarbeitung von XML mittels üblicher Mehrkern-CPUs entwickelt. Seit einigen Jahren gewinnt die parallele Verarbeitung allgemeiner Probleme mittels Grafikprozessoren (GPUs) an Bedeutung. GPUs ähneln in ihrer Architektur und Arbeitsweise dem bekannten Single Instruction Multiple Data-Prinzip. Daher sind GPUs besonders gut geeignet für die Verarbeitung massiv-datenparalleler Probleme wie etwa der Matrixmultiplikation oder der Bildverarbeitung. XML-Dokumente bzw. XML-Datenmodelle haben eine baumartige Struktur und folglich basieren viele der Verfahren zur Verarbeitung von XML auf dieser Baumstruktur. Solche Strukturen und Verfahren können jedoch wegen der Architektur von GPUs nicht trivial von CPUs auf GPUs übertragen werden, selbst wenn es sich um Verfahren zur parallelen Verarbeitung mittels Mehrkern-CPUs handelt. Daher existieren bisher kaum Arbeiten, die die parallele Verarbeitung von XML mittels GPUs untersuchen. In der vorliegenden Arbeit wird anhand einer konkreten XML-Anwendung, der Transformation von XML-Dokumenten mit XSLT, untersucht, inwieweit die Verarbeitung von XML an die massiv-parallele Architektur von GPUs angepasst werden kann. Dazu wird zunächst ein Konzept zur XSLT-Verarbeitung durch GPUs entworfen und danach werden die vier wichtigsten in diesem Konzept eingesetzten neuen Verfahren vorgestellt: ein schnelles Sortierverfahren für GPUs, ein Verfahren um GPUs als asynchrone Koprozessoren für die CPU einsetzen zu können, ein Verfahren um XPath-Ausdrücke parallel auszuwerten und schließlich ein Verfahren zur XSLT-Verarbeitung mittels GPUs. In umfangreichen Tests wird gezeigt, dass mit den hier dargelegten Verfahren die Nutzung von GPUs für die XPath- und XSLT-Verarbeitung in vielen Fällen zu einer Leistungssteigerung gegenüber der Verarbeitung durch Mehrkern-CPUs führt. Es ist demnach möglich, GPUs auch zur Verarbeitung von XML gewinnbringend einzusetzen

    Entwurfsbegleitende Leistungsanalyse für SDL-basiertes Design multimedialer Internet-Transportsysteme

    Get PDF
    Neben der funktionalen Korrektheit von komplexen Kommunikationssystemen spielt eine ausreichende Performance dieser Systeme eine immer wichtigere Rolle. Dabei ist es notwendig, Performance-Aspekte bereits in frühen Entwurfsphasen und nicht erst nach der Implementierung der Systeme zu berücksichtigen. Die vorliegende Arbeit präsentiert eine Methodik zur entwurfsbegleitenden, modellgestützten Leistungsanalyse von Kommunikationsprotokollen, die mit Hilfe der Sprache SDL formal spezifiziert wurden. Die vorgestellte Methodik verwendet dazu Beschreibungsmechanismen, Verfahren und Werkzeuge, die bereits im Entwurfsprozeß dieser Systeme verwendet werden. Für die wichtigsten Implementierungsansätze von Kommunikationsprotokollen werden Performance-Bausteine vorgestellt und deren Verwendung erläutert. Die Tragfähigkeit der entwickelten Methodik wird durch eine große Fallstudie im Kontext von Reservierungsprotokollen zur Unterstützung von Multimedia-Anwendungen im Internet demonstriert. Dabei werden nicht nur die informellen Angaben der vorhandenen RFCs in formale SDL-Beschreibungen umgesetzt, sondern auch als existent vorausgesetzte Ressource-Management-Funktionen entwickelt und analysiert. Die vorliegende Arbeit schließt so die bisher bestehende Lücke im SDL-basierten Entwurfsprozeß verteilter reaktiver Systeme und ermöglicht die modellgestützte Betrachtung von Performance-Aspekten in den frühen Phasen des Entwurfsprozesses
    corecore