22 research outputs found

    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

    SCC-News. 2020,2

    Get PDF

    Big Data Analytics für die effiziente Aktivitätserkennung und -vorhersage in Assistenzsystemen

    Get PDF
    In dieser Arbeit wird untersucht, inwiefern parallele relationale Datenbanksysteme für Methoden der Aktivitätserkennung und -vorhersage in Assistenzsystemen gewinnbringend eingesetzt werden können. Der Fokus liegt hierbei auf der effizienten und skalierbaren Umsetzung und Komposition von Basisoperatoren der linearen Algebra. Dies ermöglicht neben der Umsetzung zugehöriger Machine-Learning-Verfahren die Einbeziehung zahlreicher weiterer Methoden des wissenschaftlichen Rechnens. Für die potenzielle Umsetzung solcher werden daher zahlreiche Aspekte diskutiert und experimentell ausgewertet

    Komponentenbasierte Softwareentwicklung für datenflußorientierte eingebettete Systeme

    Get PDF
    Diese Dissertation beschäftigt sich mit den Problemen bei der Entwicklung von effizienter und zuverlässiger Software für eingebettete Systeme. Eingebettete Systeme sind inhärent nebenläufig, was mit einen Grund für ihre hohe Entwurfskomplexität darstellt. Aus dieser Nebenläufigkeit resultiert ein hoher Grad an Kommunikation zwischen den einzelnen Komponenten. Eine wichtige Forderung zur Vereinfachung des Entwurfsprozesses besteht in der getrennten Modellierung von Kommunikationsprotokollen und eigentlichen Verarbeitungsalgorithmen. Daraus resultiert eine höhere Wiederverwendbarkeit bei sich ändernden Kommunikationsstrukturen. Die Grundlage für die sogenannten Datenflußsprachen bildet eine einfache von Gilles Kahn konzipierte Sprache für Parallelverarbeitung. In dieser Sprache besteht ein System aus einer Menge sequentieller Prozesse (Komponenten), die über Fifokanäle miteinander kommunizieren. Ein Prozess ist rechenbereit, wenn seine Eingangsfifos mit entsprechenden Daten gefüllt sind. Übertragen werden physikalische Signale, die als Ströme bezeichnet werden. Ströme sind Folgen von Werten ohne explizite Zeitangaben. Das Einsatzgebiet von Datenflußsprachen liegt in der Entwicklung von Programmen zur Bild- und Signalverarbeitung, typischen Aufgaben in eingebetteten Systemen. Die Programmierung erfolgt visuell, wobei man Icons als Repräsentanten parametrisierbarer Komponenten aus einer Bibliothek auswählt und mittels Kanten (Fifos) verbindet. Ein im allgemeinen dynamischer Scheduler überwacht die Ausführung des fertiggestellten Anwendungsprogramms. Diese Arbeit schlägt ein universelleres Modell physikalischer Signale vor. Dabei werden zwei Ziele verfolgt: 1. Effiziente Kommunikation zwischen den Komponenten 2. Entwurfsbegleitende Überprüfung von Programmeigenschaften unter Verwendung komplexerer Komponentenmodelle Zur Effizienzsteigerung werden nur relevante Werte innerhalb von Strömen übertragen. Dies erhöht zwar den Mehraufwand zur Kennzeichnung des Aufbaus eines Teilstroms, in praktischen Anwendungen ist die hier vorgestellte Methode jedoch effizienter. Die Einführung neuer Signalmerkmale erlaubt unterschiedlichste Überprüfungen der Einhaltung von Typregeln durch die Eingangs- und Ausgangsströme einer Komponente. Anstelle einfacher Schaltregeln werden aufwendigere Kommunikationsprotokolle für die verschiedenen Arten von Komponenten eingeführt. Fifomaten (Fifo-Automaten) dienen als formale Grundlage. Mittels eines dezidierten Model-Checking-Verfahrens wird das Zusammenspiel der Fifomaten daraufhin untersucht, ob ein zyklischer Schedule existiert. Die Existenz eines solchen zyklischen Schedules schließt Speicherüberlauf und Deadlocks aus und garantiert darüber hinaus, daß das Programm nach endlicher Zeit wieder in die Ausgangssituation zurückfindet. Da im allgemeinen die Datenflußprogramme turingäquivalent sind, kann es allerdings zyklische Schedules geben, die das Verfahren nicht entdeckt. Mit der hier vorgestellten und implementierten Methode wird die Entwicklungszeit korrekter Datenflußprogramme deutlich reduziert. Das neue Modell physikalischer Signale macht zudem die Ausführung effizienter

    Dynamisch erweiterbares Trading mit heterogenen Softwarekomponenten

    Get PDF
    Universal Component Trading (UComT) ist ein neuer Ansatz zum Trading mit (objektorientierten) Softwarekomponenten. Component Trading steht für die Anwendung des Trading-Ansatzes auf objektorientierte Komponentenmodelle (z.B. Java Beans/EJB, CORBA Components, COM, CLI/.NET). Der Begriff Universal in dem Namen bedeutet, dass die Trading-Architektur in der Lage ist, mit beliebigen Komponentenmodellen sowohl als Dienstanbieter (Exporter) als auch als Dienstnutzer (Importer) zusammenzuarbeiten. Ausgehend von einem Metamodell, das die Gemeinsamkeiten der objektorientierten Softwarekomponentenmodelle abbildet, wird mit der Simple XML-based Component Description Language (SXCDL) eine modellübergreifende Strukturbeschreibungssprache in XML-Form entwickelt, in die beliebige Dienstbeschreibungssprachen dynamisch zur Laufzeit integriert werden können. Eine einzelne Komponente kann zahlreiche Dienstbeschreibungen besitzen, die gleiche oder unterschiedliche Sprachen verwenden und von gleichen oder unterschiedlichen Autoren stammen. Der Trader im UComT-Modell bietet dem Importer ferner eine vielfältige Unterstützung für die Nutzung der Komponenten. Zur Validierung der Forschungsergebnisse wird im Rahmen der Arbeit ein Prototyp für den Trader-Server (in C#) und zwei Prototypen für den Trader-Client (in C# und in Java) entwickelt, die die zentralen Konzepte des UComT-Modells realisiere

    Methodik und Referenzarchitektur zur inkrementellen Verbesserung der Metaqualität einer vertragsgebundenen, heterogenen und verteilten Dienstausführung

    Get PDF
    Eine umfängliche Berücksichtigung der qualitativen Zusammensetzung von beschreibenden Artefakten im Internet der Dienste über dafür ausgelegte Dienstplattformen steigert die Erlebnisqualität für die Benutzer der angebotenen Dienstleistungen. In dieser Dissertation sind die existierenden Verfahren zur Erkennung, Propagierung und Verbesserung von Qualitatsmetriken in dienstorientierten Architekturen in Hinblick auf diese gesteigerten Anforderungen systematisch in Verfahren eingebunden. Die Arbeit liefert zwei wissenschaftliche Beiträge. Der erste ist beinhaltet ein Konzept für inkrementelle Qualiẗatsverbesserungen von Diensten durch Nutzung von Laufzeitmechanismen zur dynamischen Beschreibung und Bewertung nichtfunktionaler Eigenschaften. Der zweite liefert eine Definition eines abstrakten Zusammenspiels von Architekturmustern und Prozessen zur vertraglich abgesicherten Gewahrleistung von Dienstgüteeigenschaften in Dienstlandschaften in Form einer Referenzarchitektur.:1 Einleitung 1.1 Problemdefinition 1.2 Wissenschaftliche Beiträge der Dissertation 1.3 Aufbau der Arbeit 2 Grundlagen und Verwandte Arbeiten 2.1 Dienstbeschreibungen und Dienstnutzungsverträge 2.2 Qualitätsbezogene Prozesse in Dienstumgebungen 2.3 Klassifikation und Struktur von NFE 2.4 Dienst-, Datenqualität und Metaqualität 2.5 Dienstumgebungen 3 Methodik zur Qualitätsverbesserung 3.1 Inkrementelle Qualitätsverbesserung durch Abgleichverfahren 3.2 CPEM - Ein Modell für die Ausdrucksstärke von NFE 3.3 Metaqualität von Diensten 3.4 Verfahren zur inkrementellen Qualitätsverbesserung 3.5 Einbindung der Verfahren in IoS-Plattformen 4 Plattform für das Internet der Dienste 4.1 Konzeption der Architektur 4.2 Umsetzung der Plattformdienste und Komponenten 4.3 Integrierte Architektur und Derivate 4.4 Umsetzung und Integration der SMQ-Erweiterungen 5 Validierung von Methodik und Plattform 5.1 Anforderungen an die Validierung 5.2 Experimentierumfeld für die Validierung 5.3 Experimentelle Abläufe und Ergebnisse 5.4 Auswertung des Experiments 6 Zusammenfassung A Ausgewählte Publikationen B ExperimentierumgebungA holistic consideration of the qualitative composition of descriptive artefacts in the Internet of Services through specifically designed service platforms increases the quality of experience for the users of the offered services. In this dissertation, the existing methods for the recognition, propagation and improvement of quality metrics in service-oriented architectures are systematically included in methods related to these increased requirements. The work delivers two scientific contributions. The first one encompasses a concept for the incremental improvement of quality of services via the use of runtime mechanisms for the dynamic description and rating of non-functional properties. The second one carries a definition of an abstract interplay of architecture patterns and processes for the contractually safeguarded guarantee of quality of service properties in service ecosystems in the form of a reference architecture.:1 Einleitung 1.1 Problemdefinition 1.2 Wissenschaftliche Beiträge der Dissertation 1.3 Aufbau der Arbeit 2 Grundlagen und Verwandte Arbeiten 2.1 Dienstbeschreibungen und Dienstnutzungsverträge 2.2 Qualitätsbezogene Prozesse in Dienstumgebungen 2.3 Klassifikation und Struktur von NFE 2.4 Dienst-, Datenqualität und Metaqualität 2.5 Dienstumgebungen 3 Methodik zur Qualitätsverbesserung 3.1 Inkrementelle Qualitätsverbesserung durch Abgleichverfahren 3.2 CPEM - Ein Modell für die Ausdrucksstärke von NFE 3.3 Metaqualität von Diensten 3.4 Verfahren zur inkrementellen Qualitätsverbesserung 3.5 Einbindung der Verfahren in IoS-Plattformen 4 Plattform für das Internet der Dienste 4.1 Konzeption der Architektur 4.2 Umsetzung der Plattformdienste und Komponenten 4.3 Integrierte Architektur und Derivate 4.4 Umsetzung und Integration der SMQ-Erweiterungen 5 Validierung von Methodik und Plattform 5.1 Anforderungen an die Validierung 5.2 Experimentierumfeld für die Validierung 5.3 Experimentelle Abläufe und Ergebnisse 5.4 Auswertung des Experiments 6 Zusammenfassung A Ausgewählte Publikationen B Experimentierumgebun

    Formatives E-Assessment in der Hochschullehre:computerunterstützte Lernfortschrittskontrollen im Informatikstudium

    Full text link
    Der Einsatz von E-Assessment-Systemen zur computerunterstützten Durchführung von Lernfortschrittskontrollen kann die Effektivität, Effizienz und Qualität universitärer Prüfungsprozesse steigern. Im Studienfach Informatik, in dem analytische, kreative und konstruktive Fähigkeiten zu überprüfen sind, werden solche Systeme bislang jedoch nur selten eingesetzt. In der vorliegenden Dissertation wird aufgezeigt, wie die Potenziale der Computerunterstützung im Übungsbetrieb der Informatik realisiert werden können. Hierzu werden zunächst wesentliche didaktische, methodische und organisatorische Grundlagen des universitären E-Assessments skizziert und analysiert. Aufbauend werden die Entwicklung, die Funktionsweise und der Praxiseinsatz des E-Assessment-Systems EASy beschrieben, das insbesondere durch seine anspruchsvollen Aufgabenmodule zu Java-Programmieraufgaben, mathematischen Beweisen und Verifikationsbeweisen eine adäquate Unterstützung des Informatik-Übungsbetriebs ermöglicht
    corecore