Die Programmiersprache Modula-P [chapter]

Jürgen Vollmer
1993 Informatik aktuell  
J urgen Vollmer Gesellschaft f ur Mathematik und Datenverarbeitung Forschungsstelle an der Universit at Karlsruhe Zusammenfassung Die Programmiersprache Modula-P erweitert Modula-2 um parallele Sprachkonstrukte. Sie basiert auf den kommunizierenden sequentiellen Prozessen (CSP) und den bedingten kritischen Regionen. Dieser Artikel erweitert die fr uhere Sprachde nition von Modula-P und de niert die dritte Version der Sprache. Einige typische Programmbeispiele werden gezeigt. Einf uhrung
more » ... Einf uhrung Heutzutage sind die verschiedenartigsten parallelen Rechner am Markt erh altlich, von deren Nutzung man sich h ohere Rechenleistungen verspricht. Es stellt sich n un die Frage, wie diese Rechner zu programmieren sind. Es gibt hierf ur zumindest zwei Ans atze: Entweder kann der Ubersetzer die in einem sequentiellen Programm enthaltene Parallelit at aufsp uren und versuchen, dieses automatisch zu parallelisieren. Oder der Programierer 1 gibt die dem Problem inh arente Parallelit at explizit im Programm an. Mit Modula-P wird der zweite Weg beschritten. Modula-P 4, 5] ist eine Obermenge der Sprache Modula-2 6], erweitert um Sprachkonstrukte, die auf den kommunizierenden sequentiellen Prozessen (CSP) 2] und bedingten kritischen Regionen 1] basieren. Die Modula-P zugrundeliegende Rechnerarchitektur ist der sogenannten MIMD 2 -Rechner mit gemeinsamem und/oder getrenntem Speicher. Eine solche Architektur besteht aus mehreren Prozessoren, die alle ublichen arithmetischen und logischen Operationen ausf uhren k onnen. Sie kommunizieren miteinander entweder uber einen gemeinsamen Speicher oder uber spezielle Hardware (oder beides). Diese Sprachde nition erg anzt die bisherigen Sprachde nitionen 4, 5]. Neben einigen syntaktischen Anderungen wird das Konzept der bedingten kritischen Regionen eingef uhrt. Es gibt f ur Modula-P eine Entwicklungsumgebung MOCKA-P (Modula-P Compiler Karlsruhe), die Code f ur ein Netzwerk von T800 Transputern 3] erzeugt. Geplant u n d i n E n twicklung sind Portierungen auf T9000 Prozessoren, sowie auf einen Mehrprozessorrechner mit gemeinsamen Speicher. Die n achsten Abschnitte de nieren die Sprache und stellen L osungen f ur einige typische Probleme dar. Die Sprache Alle aus Modula-2 6] bekannten Sprachkonstrukte (mit Ausnahme der Koroutinen) sind Teil von Modula-P. Modula-P erlaubt es, Anweisungen parallel (PAR Anweisung) auf einem oder mehreren Prozessoren (AT Anweisung) auszuf uhren. Diese Platzierung kann " netzwerkunabh angig\ Diese Arbeit wurde teilweise durch das ESPRIT Projekt COMPARE (#5399) gef ordert. 1 Programmierer steht f ur beide: den Programmierer und die Programmiererin.
doi:10.1007/978-3-642-78123-0_14 fatcat:5ilhme3vzfhefhcxtk2v4g7l5i