Treffer: A light-weight parallel execution layer for shared-memory stream processing

Title:
A light-weight parallel execution layer for shared-memory stream processing
Authors:
Contributors:
Kirner, Raimund
Publication Year:
2020
Collection:
TU Wien: reposiTUm
Document Type:
Dissertation thesis
File Description:
vii, 81 S.
Language:
English
Rights:
open
Accession Number:
edsbas.EF4E972A
Database:
BASE

Weitere Informationen

Zsfassung in dt. Sprache ; In den letzten Jahren haben sich zunehmend Mehrkernprozessoren im Bereich der Universalrechner etabliert. Um die Vorteile der zunehmend ansteigenden Anzahl von Rechenkernen nutzen zu können, sind Programmierparadigmen notwendig, welche die Ableitung von Nebenläufigkeiten erleichtern bzw. erst ermöglichen. S-Net ist eine deklarative Koordinationssprache, deren Ziel es ist, die Programmierung von Nebenläufigkeit und die Programmierung von Programmlogik zu trennen. Es wird die Koordination von Netzen bestehend aus asynchronen, zustandslosen Komponenten, sogenannten "Boxen", die mittels typisierter Datenströme verbunden sind, definiert. Boxen werden in einer konventionellen Programmiersprache geschrieben und haben einen einzigen Eingangs- und einen einzigen Ausgangsdatenstrom. Netzwerke werden in SNet durch algebraische Formeln ausgedrückt, bestehend aus vier Kombinatoren, nämlich serieller und paralleler Komposition, sowie serieller und paralleler Replikation. Das Ziel dieser Arbeit ist es, das bestehende Laufzeitsystem dahingehend zu erweitern, dass es zwei Anforderungen genügt. Erstens soll es ermöglicht werden, Informationen über die Ausführungszeiten der Laufzeitkomponenten oder die Auslastung der Kommunikationskanäle zu sammeln. Zweitens soll es die Möglichkeit zur Kontrolle des Schedulings der Komponenten geben. Durch Recherche von bestehenden Systemen, welche auf Datenstromverarbeitung basieren, und insbesondere deren Laufzeitsystemen, wurden Konzepte für eine neue Ausführungsschicht erarbeitet. Ein Light-weight Parallel Execution Layer (LPEL), d.h. eine leichtgewichtige parallele Ausführungsschicht, wurde entwickelt, welche Komponenten, die mittels gerichteter und gepufferter Datenströme kommunizieren, auf User-Ebene verwaltet, wobei besonderes Augenmerk auf die Anforderungen des S-Net Modells gelegt werden musste. Mechanismen, die dem Stand der Technik entsprechen, z.B. nebenläufige Datenstrukturen und Lock-free Algorithmen, wurden bei der Umsetzung verwendet. Um die ...