Nebenläufige Programmierung mit Threading by Appointment
Concurrent Programming with Threading by Appointment
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Concurrent Programming,
Event Queueing,
Operating Systems,
Web Servers,
Multi Threading
Threading by Appointment (TAP) ist ein Modell zur nebenläufigen Programmierung, das automatische Kellerverwaltung (thread-basiert) mit einer neuen Methode der Warteschlangenverwaltung von Systemaufrufen (ereignis-basiert) verbindet. Im Gegensatz zu konventionellen Threads können TAP Threads Systemaufrufe nur nach vorheriger "Terminabsprache" (appointments) mit dem Laufzeitsystem durchführen. Ausserdem umfassen Termine in unserem Modell, im Gegensatz zum üblichen Begriff eines Ergeignisses, eine Dauer, die es erlaubt sowohl unterbrechbare Ein- und Ausgabemethoden als auch konventionelle und neue Synchronisationstechniken zu modellieren. TAP verwaltet Systemaufrufe in Warteschlangen mit Hilfe einer vorgegebenen Vereinbarung (policy), die eine Strategie zur Terminvereinbarung (enqueueing) und einen logischen Zeitbegriff (dequeueing) festlegt, der Anfang und Ende der Termine bestimmt. Mit Hilfe einer Vereinbarung, die Systemaufrufe als Netzwerkpackete auffasst und damit "traffic shaping" in Netzwerkroutern nachahmt, konnten wir bereits sehr vielversprechende Resultate erzielen. Die Vereinbarung unterscheidet Systemaufrufe zur Ein- und Ausgabe über Netzwerke und Festplatten, und gibt Systemaufrufen von interaktiven Threads, die nur kurze Zeit laufen, Priorität über Systemaufrufen von Threads, die lange Zeit laufen und grosse Mengen an Daten kommunizieren. Wir schlagen vor neue Mechanismen, Vereinbarungen, und Modelle zur nebenläufigen Programmierung, die auf Threading by Appointment basieren, zu untersuchen. Threading by Appointment könnte zu einem wesentlichen Bestandteil neuer Kernelarchitekturen werden, die nicht nur eine effiziente sondern auch eine überprüfbare und modulare Programmierung nebenläufiger Anwendungen ermöglichen. Unser Ziel ist neue Prinzipien von Betriebssystemen und Programmiersprachen zu entdecken, die den Entwurf und die Implementierung von komplexen nebenläufigen Anwendungen wie zum Beispiel schnelle Webserverarchitekturen, die umfangreicher und dennoch robuster sind als herkömmliche Systeme, ermöglichen.
Ziel dieses Projektes war ursprünglich die Rolle von Zeit in nebenläufiger Programmierung zu untersuchen. Die tatsächlichen Forschungsergebnisse dieses Projektes gehen jedoch darüber hinaus. Im wesentlichen haben wir nicht nur allein das Zeitverhalten von nebenläufigen Softwareprozessen sondern auch deren Speicherverwaltung und Stromverbrauch im Zusammenhang mit deren Zeitverhalten untersucht. Im Prinzip geht es hier um die Frage wie man Softwareprozesse auf einer Maschine so ausführen kann, dass sowohl ihr zeitliches und räumliches Verhalten als auch ihr Stromverbrauch unabhängig voneinander ist. Damit wäre es möglich robustere und grössere Softwaresysteme als bisher zu konstruieren. Hier ist eine Zusammenfassung der wichtigsten Resultate. Das zeitliche Verhalten von Softwareprozessen (Durchsatz, Latenz) kann pro Prozess, zeitlich und räumlich effizient, und unter Berücksichtigung des systemweiten Stromverbrauchs kontrolliert werden während der entsprechende Planungsaufwand dafür entweder in erhöhter Systemauslastung oder verzögerten Prozessantwortzeiten verrechnet werden kann (zeitliche Isolierung). Speicherplatz kann in konstanter Zeit pro Allozierungs- und Deallozierungsoperation verwaltet werden während Speicherfragmentierung in linearer Zeit pro Deallozierungsoperation unabhängig von der Allozierungs- und Deallozierungsreihenfolge beschränkt werden kann. Nicht-benötigter Speicherplatz kann ne- benläufig und inkrementell in konstanter Zeit pro Speicherverwaltungsoperation unabhängig von der Grösse des durch den Programmierer angebenen benötigten Speicherplatzes erfasst und dealloziert werden (räumliche Isolierung). Stromverbrauch kann pro Prozess unter Beibehaltung seines zeitlichen Verhaltens selbst unter Berücksichtigung nicht-linearer Stromverbrauchsmodelle und Anwendung diskreter Frequenzskalierung beschränkt werden. Hier gibt es einen komplexen Zusammenhang zwischen der Abschätzungsqualität des Stromverbrauchs pro Prozess und des Gesamtstromverbrauchs, der von mehreren Faktoren abhängt (Stromverbrauchsisolierung). Abschliessend haben wir festgestellt, dass die Abschwächung der Semantik nebenläufiger Datenstrukturen deren Skalierbarkeit auf grossen Multicoresystemen verbessert. Die Abschwächung kann strikt oder wahrscheinlichkeitstheoretisch beschränkt werden und damit unter Umständen die Isolierung von Prozessen auf Multicoresystemen ermöglichen (nicht-linearisierbare Berechnung).
- Universität Salzburg - 100%
Research Output
- 168 Zitationen
- 13 Publikationen
-
2011
Titel The Logical Execution Time Paradigm DOI 10.1007/978-3-642-24349-3_5 Typ Book Chapter Autor Kirsch C Verlag Springer Nature Seiten 103-120 -
2008
Titel Logical Reliability of Interacting Real-Time Tasks DOI 10.1109/date.2008.4484790 Typ Conference Proceeding Abstract Autor Chatterjee K Seiten 1-6 -
2011
Titel Runtime Programming through Model-Preserving, Scalable Runtime Patches* *This work has been supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design, the National Research Network RiSE on Rigorous Systems Engineering (Austria DOI 10.1109/acsd.2011.28 Typ Conference Proceeding Abstract Autor Kirsch C Seiten 77-86 Link Publikation -
2011
Titel Short-term memory for self-collecting mutators DOI 10.1145/1993478.1993493 Typ Conference Proceeding Abstract Autor Aigner M Seiten 99-108 -
2010
Titel Response Time versus Utilization in Scheduler Overhead Accounting*Supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design and the Austrian Science Funds P18913-N15 and V00125. DOI 10.1109/rtas.2010.14 Typ Conference Proceeding Abstract Autor Craciunas S Seiten 291-300 Link Publikation -
2010
Titel Power-aware temporal isolation with variable-bandwidth servers DOI 10.1145/1879021.1879056 Typ Conference Proceeding Abstract Autor Craciunas S Seiten 259-268 Link Publikation -
2009
Titel Programmable temporal isolation in real-time and embedded execution environments DOI 10.1145/1519130.1519134 Typ Conference Proceeding Abstract Autor Craciunas S Seiten 19-24 -
2009
Titel Distributed, Modular HTL* *Supported by the EU ArtistDesign Network of Excellence on Embedded Systems Design the EU project COMBEST, the Austrian Science Funds P18913-N15 and V00125, and Fundacao para a Ciência e Tecnologia funds SFRH/BD/29461/2006 a DOI 10.1109/rtss.2009.9 Typ Conference Proceeding Abstract Autor Henzinger T Seiten 171-180 Link Publikation -
2009
Titel Programmable Temporal Isolation through Variable-Bandwidth Servers DOI 10.1109/sies.2009.5196213 Typ Conference Proceeding Abstract Autor Craciunas S Seiten 171-180 Link Publikation -
2009
Titel CSL: A Language to Specify and Re-Specify Mobile Sensor Network Behaviors DOI 10.1109/rtas.2009.17 Typ Conference Proceeding Abstract Autor Love J Seiten 67-76 Link Publikation -
2009
Titel Avoiding unbounded priority inversion in barrier protocols using gang priority management DOI 10.1145/1620405.1620416 Typ Conference Proceeding Abstract Autor Röck H Seiten 70-79 Link Publikation -
2009
Titel Compositionality for Markov reward chains with fast and silent transitions DOI 10.1016/j.peva.2009.01.001 Typ Journal Article Autor Markovski J Journal Performance Evaluation Seiten 435-452 Link Publikation -
2008
Titel I/O resource management through system call scheduling DOI 10.1145/1400097.1400103 Typ Journal Article Autor Craciunas S Journal ACM SIGOPS Operating Systems Review Seiten 44-54 Link Publikation