next up previous
Next: Koroutinen Up: No Title Previous: Zusammenfassung

Parallelität und Synchronisierung

Parallelität im Bereich von Programmiersprachen ist unter zwei Gesichtspunkten interessant, die ziemlich voneinander abweichen:

Es gibt eine Reihe unterschiedlicher Ansätze, um Parallelität zu erreichen. Sofern nicht Parallelität im Sinne von gleichzeitiger Verarbeitung auf mehreren Prozessoren erreicht wird, wird auch häufig von Quasi-Parallelität gesprochen. Allerdings muß sich der Unterschied nicht notwendigerweise auf die Gestaltung des Programms auswirken.

Koroutinen sind das einzige Mittel zur Parallelisierung, das sich auf allen Rechnern und bei allen Umgebungen auf portable Weise realisieren läßt. Da jedoch eine aktive Koroutine auf ``freiwillige'' Weise auch andere Koroutinen zur Ausführung kommen lassen sollte, ergeben sich besondere Anforderungen an Fairneß und Kooperationsmechanismen.

Unabhängig von der Art der Parallelisierung sind Sprachmittel zur Synchronisierung zu sehen - mit etwas Glück und durch den Einsatz geeigneter Abstraktionen können auch beide orthogonal (also voneinander völlig unabhängig) gelöst werden. Die größte Flexibilität wird natürlich gewonnen, wenn beides - soweit wie möglich - innerhalb einer Bibliothek gelöst wird, wenngleich dies nicht immer sehr einfach zu portieren ist und auch Effizienzeinbußen mit sich bringen kann.



 
next up previous
Next: Koroutinen Up: No Title Previous: Zusammenfassung
Andreas Borchert
2/2/1998