Artikel-Schlagworte: „räumlich“

Parallelität

Sonntag, 17. Januar 2010

Parallelität bedeutet, dass man Aufgaben oder Teilaufgaben parallel – also gleichzeitig – bearbeitet. Dabei gibt es zwei grundsätzliche Arten:

  • Räumliche Parallelität
    Bei der räumlichen Parallelität gibt es die arbeitenden Teile mehrfach, sie sind also physikalisch mehrfach vorhanden. Ein gutes Beispielt sind Multicore CPUs. Da kann auch pro Core eine Aufgabe ausgeführt werden, also mehrere parallel.
    Das Problem der räumlichen Parallelität ist, dass man nicht jede Aufgabe so aufteilen kann, dass sie parallel ausgeführt werden kann. Es kann zum Beispiel Probleme mit Abhängigkeiten geben, dass der nachfolgende Teil das Ergebnis des Vorgängers benötigt.
  • Zeitliche Parallelität (Pipelining)
    Um die zeitliche Parallelität zu verstehen, ist es sinnvoll sich mit den Zeitanforderungen an sequenzielle Schaltungen auseinanderzusetzen. Siehe dazu meinen Artikel zum Thema Timing und Glitches.

    Umso mehr Logik man in einem Takt durchlaufen will, umso mehr Zeit benötigt man (t_{pd}). Umso größer diese Zeit allerdings wird, umso kleiner wird die Taktfrequenz. Also teilt man die komplexe Logik in viele und simplere Logikblöcke auf, die nacheinander (nicht parallel!) durchlaufen werden. Da jeder dieser Blöcke das Ergebnis schnell bereit stellen kann, kann man die Taktfrequenz wieder hoch drehen. In Hardware wird dieses Verfahren auch als Pipelining bezeichnet, weil man die Logik verlegt und zwischen jeden Block ein Flipflop baut, dass das jeweilige Ergebnis bis zur nächsten Taktflanke zwischenspeichert.
    Das Problem beim Pipelining ist das man die Logikblöcke nur bis zu einem bestimmten Maß verkleinern kann. Außerdem steigt durch die zusätzlichen Flipflops die Latenz (also die Zeitspanne die benötigt wird, bis nach der Eingabe der Daten das Ergebnis bereit steht).
    Die zeitliche Parallelität kann man vergleichen mit dem Fließbandprinzip bei der Autofertigung. Um so mehr Arbeitsstationen man hat, und umso kürzer die Zeit ist, die pro Station benötigt wird, umso mehr Autos können auch produziert werden.

Durch die parallele Berechnung schafft man immer einen höheren Durchsatz (man kann also mehr Datensätze pro Zeiteinheit berechnen).