Parallelisierbarkeit

Parallelisierbarkeit

Nebenläufigkeit liegt vor, wenn mehrere Ereignisse in keiner kausalen Beziehung zueinander stehen, sich also nicht beeinflussen. Ereignisse sind nebenläufig, wenn keines eine Ursache des anderen ist. Oder anders ausgedrückt: Aktionen können nebenläufig ausgeführt werden (sie sind parallelisierbar), wenn keine das Resultat der anderen benötigt. Eine Modellierungssprache, die diese Abhängigkeiten sehr gut wiedergibt, sind Petri-Netze.

Inhaltsverzeichnis

Kausalordnung

Beispiel von nebenläufigen Aktionen

Die Nebenläufigkeit beschreibt einen relativistischen Begriff der Gleichzeitigkeit, der im Kausalitätsprinzip begründet ist (siehe Relativität der Gleichzeitigkeit und Happened-Before). Man kann sich das anhand eines Minkowski-Diagramms verdeutlichen: Ein Ereignis ist nebenläufig zu einem anderen, wenn es im Anderswo des anderen Ereignisses liegt. Das heißt, das eine Ereignis befindet sich weder in der Zukunft, noch in der Vergangenheit des anderen bzw. keines der Ereignisse ist Ursache oder Wirkung des anderen. Die drei Relationen "ist Ursache von", "ist Wirkung von" und "ist nebenläufig zu" definiert die Kausalordnung, eine Halbordnung, die zu einer Sequenzialisierung der Ereignisse benutzt werden kann.

Dies macht man sich zum Beispiel in der Netzwerktechnik zu Nutze, da hier die Kausalordnung nur durch die Übermittlung von Nachrichten definiert ist: zur Sequenzialisierung von verteilten Prozessen werden hier Logische Uhren eingesetzt, die den relativistischen Zeitbegriff spiegeln.

Planung

Beispiel zur kausalen Abhängigkeit

Man kann das Konzept der Nebenläufigkeit nicht nur auf die Betrachtung von Ereignissen anwenden, sondern auch zur Planung von Aktionen. Dabei wird festgelegt, welche Aktion eine Voraussetzung einer anderen ist. Die Nebenläufigkeit ist dann so definiert, dass zwei Aktionen nebenläufig sind, wenn keine von ihnen Voraussetzung der anderen ist. Auf Grund der sich daraus ergebenden Halbordnung lassen sich dann Abläufe planen, optimieren und gegebenenfalls parallelisieren. Als Beispiel (nicht das gleiche wie in der Abbildung!) hier ein kleines Programm in Pseudocode (mit Zeilennummern):

Z1    a= 2;
Z2    b= 3;
 
Z3    p= a + b;
Z4    q= a * b;
 
Z5    r= q - p;

Die (kausalen) Abhängigkeiten ergeben sich dadurch, welches Kommando das Ergebnis eines anderen benötigt. Insbesondere sind die folgenden Zeilenpaare (potenziell) nebenläufig, weil nicht eine von dem Ergebnis der anderen abhängt: Z1 || Z2 und Z3 || Z4. Auf einem Massiv-Parallelen Computer könnten diese Befehle jeweils parallel ausgeführt werden. Einige moderne CPUs sind sogar in der Lage, solche Situationen zu erkennen und einzelne Befehle gleichzeitig in verschiedenen Teilen desselben Prozessors auszuführen (siehe Pipeline).

Siehe auch

Literatur

  • Peter Ziesche: Nebenläufige & verteilte Programmierung. W3L, 2004, ISBN 3937137041
  • Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann: Pattern-orientierte Softwarearchitektur, Muster für nebenläufige und vernetzte Objekte. dpunkt 2002, ISBN 3-89864-142-2

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • 3-Sphäre — Unter einer Sphäre versteht man in der Mathematik die Verallgemeinerung der Kugeloberfläche auf beliebig viele Dimensionen. Definitiongemäß besteht die Sphäre nur aus der verallgemeinerten Oberfläche. Verallgemeinerte Vollkugeln werden in der… …   Deutsch Wikipedia

  • Dreikugel — Unter einer Sphäre versteht man in der Mathematik die Verallgemeinerung der Kugeloberfläche auf beliebig viele Dimensionen. Definitiongemäß besteht die Sphäre nur aus der verallgemeinerten Oberfläche. Verallgemeinerte Vollkugeln werden in der… …   Deutsch Wikipedia

  • Einheitssphäre — Unter einer Sphäre versteht man in der Mathematik die Verallgemeinerung der Kugeloberfläche auf beliebig viele Dimensionen. Definitiongemäß besteht die Sphäre nur aus der verallgemeinerten Oberfläche. Verallgemeinerte Vollkugeln werden in der… …   Deutsch Wikipedia

  • Optical Coherence Tomography — Optische Kohärenztomografie (engl. optical coherence tomography, OCT) ist ein Untersuchungsverfahren, bei dem Licht geringer Kohärenzlänge mit Hilfe eines Interferometers zur Entfernungsmessung reflektiver Materialien eingesetzt wird. Vorteile… …   Deutsch Wikipedia

  • Optische Koheränztomographie — Optische Kohärenztomografie (engl. optical coherence tomography, OCT) ist ein Untersuchungsverfahren, bei dem Licht geringer Kohärenzlänge mit Hilfe eines Interferometers zur Entfernungsmessung reflektiver Materialien eingesetzt wird. Vorteile… …   Deutsch Wikipedia

  • Optische Kohärenztomografie — der Fingerkuppe (Leistenhaut) mit Schweißdrüsengängen, Grundfläche 1 × 1 mm, Tiefe ca. 600 µm Optische Kohärenztomografie (engl. optical coherence tomography, OCT) ist ein Untersuchungsverfahren, bei dem Licht geringer… …   Deutsch Wikipedia

  • Optische Kohärenztomographie — Optische Kohärenztomografie (engl. optical coherence tomography, OCT) ist ein Untersuchungsverfahren, bei dem Licht geringer Kohärenzlänge mit Hilfe eines Interferometers zur Entfernungsmessung reflektiver Materialien eingesetzt wird. Vorteile… …   Deutsch Wikipedia

  • Sphäre (Mathematik) — Darstellung der 2 Sphäre Unter einer Sphäre versteht man in der Mathematik die Verallgemeinerung der Oberfläche einer Kugel auf beliebig viele Dimensionen. Ein wichtiger Spezialfall ist die Einheitssphäre, die Oberfläche einer Kugel mit Radius… …   Deutsch Wikipedia

  • Algorithmus von Faddejew-Leverrier — Der Algorithmus von Faddejew Leverrier (nach Dmitri Konstantinowitsch Faddejew und Urbain Le Verrier) ist ein Verfahren, das für beliebige quadratische Matrizen die Koeffizienten des durch p(λ) = det(λI − A) definierten charakteristischen… …   Deutsch Wikipedia

  • Algorithmus von Samuelson-Berkowitz — Der Algorithmus von Samuelson Berkowitz (nach Paul A. Samuelson und S. Berkowitz) ist ein Verfahren, das für beliebige quadratische Eingabematrizen die Koeffizienten des charakteristischen Polynoms von A ermittelt, d.h. insbesondere auch die… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”