22.12.2013 Aufrufe

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

Verbindungsnetzwerke für parallel und verteilte Systeme.pdf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Satz 3.2: Solange in einem Netz keine vollen Puffer bzw. keine exklusiv belegten<br />

Kanäle existieren, sind Verklemmungen nicht möglich.<br />

Satz 3.3: Volle Puffer oder belegte Kanäle sind dann Deadlock-trächtig, wenn<br />

ein kreisförmiges (zyklisches) Warten auf Pufferplatz oder Kanalkapazität<br />

stattfinden kann.<br />

Satz 3.4: An einem Deadlock können eine beliebige Zahl (1,2,...,n) von Kommunikationen<br />

beteiligt sein.<br />

Diese Sätze haben ein gewisse Praxisrelevanz bei der Verhinderung von Deadlocks.<br />

Im allgemeinen wird man jedoch versuchen, ein a priori verklemmungsfreies<br />

Routing-Verfahren auszuwählen.<br />

Verhinderung von Deadlocks<br />

Nach der Darstellung, unter welchen Bedingungen Verklemmungen auftreten<br />

können, geht es nun um Methoden zu ihrer Vermeidung. Es zeigt sich, daß die<br />

Verhinderung einer Verklemmung, die durch zyklisches Warten auf Kanäle<br />

oder Puffer verursacht wird, nur <strong>für</strong> den Spezialfall von zwei einander blokkierenden<br />

Knoten leicht zu bewerkstelligen ist, bei mehr als zwei Knoten jedoch<br />

besondere Gegenmaßnahmen erfordert.<br />

Die "Zweier"-Verklemmung nach Bild 3.14 läßt sich leicht durch getrennte<br />

Sende- <strong>und</strong> Empfangspuffer vermeiden, weil durch diese Maßnahme auch dann<br />

noch Daten von Nachbarknoten entgegengenommen werden können, wenn die<br />

Sendepuffer voll sind. Analog kann man die Verklemmung nach Bild 3.15<br />

durch die Einführung getrennter Hin- <strong>und</strong> Rückkanäle lösen. Beim zyklischen<br />

Fall der Vierer-Verklemmung (Bild 3.16) hingegen führen einfache Maßnahmen<br />

nicht mehr zum Ziel, wie folgende Konstellation zeigt:<br />

Vier mit getrennten Sende- <strong>und</strong> Empfangspuffern versehene <strong>und</strong> im Kreis geschaltete<br />

Knoten versuchen, Daten zum jeweils übernächsten Nachbarn zu<br />

übertragen. Dazu ist es notwendig, daß die Daten in einem Zwischenknoten von<br />

dem Empfangspuffer in den Sendepuffer transferiert <strong>und</strong> von dort abgeschickt<br />

werden können. Die Situation nach Bild 3.19 ist jedoch so, daß die Daten solange<br />

nicht transferiert werden können, wie der Sendepuffer seinerseits belegt<br />

ist <strong>und</strong> auf einen freien Empfangspuffer im Nachbarknoten wartet. Durch die<br />

zyklische Verbindung wartet jeder Knoten mit dem Transferieren vom Sendezum<br />

Empfangspuffer, bis der Nachbarknoten seinen Empfangspuffer frei<br />

macht, was nie der Fall ist.<br />

Die in Bild 3.19 gezeigte Verklemmung läßt sich vermeiden, wenn es in jedem<br />

Knoten genauso viele Sende- <strong>und</strong> Empfangspuffer gibt, wie aufeinander wartende<br />

Knoten, also in diesem Fall je vier Puffer.<br />

Man kann zeigen, daß die Einführung von vier virtuellen Kanälen, die das<br />

Multiplexen voneinander unabhängiger Transfers auf demselben physikalischen<br />

Kanal erlauben, eine zu Bild 3.19 analoge Deadlock-Situation, die durch<br />

109

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!