froscon06 1.02

FrOSCon 2006
Free and Open Source Software Conference

Speakers
Ignatios Souvatzis
Schedule
Tag 2
Location HS6
Zeit 15:00
Dauer 01:00
INFO
ID 74
Veranstaltungsart Vortrag
Track Programming
Sprache deutsch

Eine Maschinenunabhängige Portierung des MPD- und SR- Laufzeitsystems auf NetBSD

Berichtet wird über eine Maschinen-unabhängige Implementierung der Laufzeitumgebung der Sprachen SR und MPD auf NetBSD. Die Methode wird beschrieben, sowie die Leistungsdaten im Vergleich mit herkömmlichen Implementierungen vorgestellt.

SR (synchronizing resources) ist eine PASCAL - artige Programmiersprache mit Sprachkonstrukten für paralleles Programmieren, die an der University of Arizona Ende der 1980er Jahre entwickelt wurde.

MPD (vorgestellt in Gregory Andrews' Buch "Foundations of Multithreaded, Parallel, and Distributed Programming") ist ihr Nachfolger und bietet dieselben Sprachkonstrukte mit einer anderen Syntax an.

Das Laufzeitsystem (im Prinzip zwischen SR und MPD identisch) simuliert eine Multiprozessormaschine durch Abbildung auf kernelunterstützte oder interne Threads eines Unix - Einprozessorsystems, durch Abbildung auf Threads eines echten Multiprozessorsystems oder auf ein (lokales) Netzwerk von Unix - ähnlichen Maschinen. Der Lehrstuhl V des Instituts für Informatik der Universität Bonn betreibt ein Parallelrechnerlabor für die Lehre, bestehend aus Rechnerknoten unter NetBSD/ARM32, und darauf aufbauend PVM, MPI u.ä.

Es wird erwogen, SR und MPD dafür zur Verfügung zu stellen. Da die ursprüngliche SR - Distribution nur einige kommerzielle Unices unterstützt, muss (besonders das Laufzeitsystem) noch portiert werden. Hilfestellung dazu liefert der "SR porting guide"der der Distribution beiliegt.

Die POSIX-Threads-Umgebung von NetBSD-2.0 erlaubt es uns, Bibliotheksprimitive des Betriebssystems zu benutzen, um die Primitive des SR - Laufzeitsystems zu implementieren. Auf diese Weise lassen sich die 13 momentanen Prozessorarchitekturen sowie die zukünftigen unterstützen, ohne selbst (maschinenabhängigen) Assemblercode schreiben zu müssen, und prinzipiell auch symmetrische Multiprozessormachinen (auf VAX, Alpha, PowerPC, Sparc, 32-bit Intel und 64-bit AMD CPUs) unterstützen.

Die Methode wird im Detail beschrieben, sowie die Leistungsdaten im Vergleich mit herkömmlichen Implementierungen vorgestellt.

Attachments