Text anzeigen (PDF) - bei DuEPublico
Text anzeigen (PDF) - bei DuEPublico
Text anzeigen (PDF) - bei DuEPublico
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Parallelität in Protokollen<br />
Da<strong>bei</strong> werden mehrere Formen der Parallelität vorgestellt, die sich durch die Aufteilung des<br />
Gesamtsystems in parallel ausführbare Einheiten unterscheiden [113], [116]. Da<strong>bei</strong> haben sich<br />
die folgenden Parallelitätsmodelle herausgebildet:<br />
58<br />
Schichtenbezogene Parallelität<br />
Verbindungsbezogene Parallelität<br />
Richtungsbezogene Parallelität<br />
Nachrichten- (PDU)- bezogene Parallelität<br />
Funktionsbezogene Parallelität<br />
Bei schichtenbezogener Parallelität bilden die Protokollschichten gemäß des ISO/OSI-Modells<br />
die parallel ausführbaren Einheiten, während <strong>bei</strong> verbindungsbezogener Parallelität jede Verbindung<br />
als parallel ausführbare Einheit angesehen wird. Da<strong>bei</strong> kann schichtenübergreifend parallelisiert<br />
werden. Außerdem ist die letztere Form an die Existenz einer logischen Verbindung<br />
geknüpft. Bei richtungsbezogener Parallelität wird die Bear<strong>bei</strong>tung von Sende- und Empfangs-<br />
PDUs (protocol data units) durch getrennte Einheiten vorgenommen.<br />
Bei nachrichtenbezogener Parallelität existieren eine Reihe von (identischen) Einheiten, die eingehende<br />
Nachrichten unabhängig von ihrer Zugehörigkeit zu bestimmten Verbindungen, bear<strong>bei</strong>ten<br />
können. Diese Form der Parallelisierung eignet sich besonders gut für Datagram-Dienste<br />
wie zum Beispiel IP, da zwischen je zwei Nachrichten keinerlei Bezug existiert.<br />
Die aufwendigste Form der Parallelisierung, die aber auch den größten Performance-Gewinn<br />
verspricht, stellt die funktionsbezogene Parallelisierung dar. Hier<strong>bei</strong> werden für alle benötigten<br />
Protokollfunktionen spezialisierte Einheiten bereitgestellt, die diese Funktionalitäten allen Verbindungen<br />
und Schichten zur Verfügung stellen. Davon verspricht man sich vor allem, daß unabhängige<br />
Aufgaben, z.B. die Funktionen Prüfsummenberechnung und Ermittlung des<br />
Nachfolgeknotens in einer Instanz der Netzwerkschicht, parallel ausgeführt werden können.<br />
Außerdem kann mit diesem Ansatz die Ausführung gleicher Funktionen in unterschiedlichen<br />
Schichten vermieden werden [116]. Funktionsbezogene Zerlegung von Protokollen ist in der<br />
Regel nicht trivial, da sich keine allgemeingültigen Ableitungsregeln angeben lassen. Statt dessen<br />
sollen parallele Strukturen bereits in der Entwurfsphase berücksichtigt werden [113].<br />
Für die oben vorgestellten Parallelisierungsansätze werden nun im folgenden QSDL-Bausteine<br />
entwickelt, mit deren Hilfe die Auswirkungen auf die Performance der Protokollausführung<br />
untersucht werden können.<br />
Alle potentiell nebenläufig ausführbaren Einheiten müssen auf ebensolche QSDL-Einheiten<br />
abgebildet werden. Daher ist darauf zu achten, daß diese Einheiten oder Instanzen auf einen<br />
(Q)SDL-Prozeß oder eine Menge von (Q)SDL-Prozessen abgebildet werden, da nur diese in<br />
einem (Q)SDL-System parallel fortschreiten können. Damit ist ein Grad maximaler Parallelität<br />
möglich, der durch die Zuordnung von (Q)SDL-Prozessen zu QSDL-Maschinen entsprechend<br />
der Implementierungsentscheidungen eingeschränkt werden kann.<br />
4.3.1 Modelle für schichtenbezogene Parallelität<br />
Implementierung vollständiger Parallelität<br />
Damit Parallelisierung in vollem Umfang möglich ist, müssen alle potentiell parallelen Aktionen<br />
in unterschiedlichen SDL-Prozessen spezifiziert werden. Andernfalls schränkt man bereits durch