Lead
In diesem Projekt erforschen wir neue Programmiermodelle für Platform-as-a-Service (PaaS) Clouds, die durch Task-Parallelismus und asynchrone Kommunikation gekennzeichnet sind. In dem resultierenden Programmiermodell wird der Entwickler die Möglichkeit haben, jede parallele Anwendung auf hohem Abstraktionsniveau zu spezifizieren, während das PaaS-System die Ausführung automatisch parallelisiert und optimiert, den Ressourcenverbrauch kontrolliert, sowie die Konsistenz der Daten sicherstellt.

Lay summary
Eine der wichtigsten Eigenschaften von Cloud Computing ist der Parallelismus aufgrund der virtualisierten Ausführungsumgebungen, der gleichzeitigen Client-Anfragen, sowie der asynchronen und verteilten Interaktionen innerhalb der Cloud und mit externen Systemen und Datenquellen. Bestehende PaaS Clouds bieten keine Unterstützung für allgemeine parallele Programmiermodelle und verursachen bedeutende architektonische Einschränkungen, wie Anwendungen den zugrundeliegenden Parallelismus nutzen können.

Um diese Einschränkungen zu überwinden, werden wir ein neues paralleles PaaS-Programmiermodell entwickeln, welches auf funktionaler und ereignis-basierter Programmierung aufsetzt, welche sich gut für die Entwicklung von Web-Anwendungen eignen. Wir werden relaxed Konsistenzmodelle erkunden, um Synchronisation zu reduzieren. Weiters werden wir spezielle Kommunikationsprimitiven für Streaming Berechnungen und deren Zusammensetzung erforschen. Auf der Ebene des Laufzeitsystems werden wir Mechanismen zur genauen Ressourcenkontrolle untersuchen, wobei wir plattformunabhängige Ressourcenverbrauchsmetriken verwenden werden.