Asynchronous Computing

Aus Zeitwörter

Wechseln zu: Navigation, Suche

Begriff


Beim „asynchronous computing" folgen die Berechnungsprozesse der verschiedenen Systemteile des Computers nicht wie gewöhnlich dem Takt bzw. der Frequenz des Master Clock Signals, sondern ihrem eigenen Takt. Mit Asychronous Computing ist die Angabe der Prozessorgeschwindigkeit - üblicherweise im Gigahertz- Bereich, hinfällig.

ILLIAC II Control Panel in 2006


Medienwissenschaftliche Perspektive


Bereits Alan Turing dachte über die Möglichkeit asynchroner Rechenprozesse nach. Diesem Gedanken wurde wegen leichterer Realisierbarkeit von getakteten Systemen von ihm und anderen jedoch nicht nachgegangen. Synchrone Systeme arbeiten mit einem einzigen Taktgeber, der dem Computer seine diskrete Zeit gibt. Die von Neumann sogenannte Clock "provides certain stimuli that are necessary for it's functioning at definite periodically recurrent moments"[1]. Die Clock erzeugt den Takt in dem alle Schaltvorgänge des Computers vor sich gehen. Diese Taktsignale werden von einem winzigen Kristalloszillator in der Maschine koordiniert. Diese Schaltfrequenz muss so gewählt werden, dass das langsamste Bauteil des Computer mit ihr arbeiten kann. Das heißt einerseits, schnellere Systemteile müssen "warten"; andererseits, Prozesse werden zum festen Takt abgefragt, auch wenn diese noch kein "Ergebnis"haben. Hohe Taktraten führen zu Stabilitätsproblemen, wenn im Zeitintervall ein Ergebnis erwartet wurde, aber nicht zur Verfügung steht. Zusätzlich kommt die Laufgeschwindigkeit der Zeitsignale hinzu, die mit dem Anwachsen der Rechengeschwindigkeit nicht schritthalten konnte. "In der Zeit, die ein Signal von einem Ende des Chips zum anderen braucht, könnte ein moderner Transistor bereits mehrere elementare Arbeitsschritte vollenden. Damit dieser Geschwindigkeitsvorteil unter einem zentralen Taktgeber nicht verloren geht, ist sorgfältige Planung erforderlich – und ziemlich viel elektrische Leistung, die sich in einer entsprechenden Wärmeentwicklung bemerkbar macht."[2]

Beim Asynchronous Computing setzten die Bearbeitungsschritte nicht synchron zur Master Clock ein, sondern bemessen sich asynchron an der Bearbeitungsgeschwindigkeit des Systems. Erst wenn bestimmte Vorbedingungen für den nächsten Schritt erfüllt sind und gewünschte Eingangsdaten vorliegen, wird der nächste Schritt eingeleitet. Das Einleiten des nächsten Schritts erfolgt also aus der tatsächlich benötigten Zeit, die die jeweiligen Schritte benötigen. Jedes Element arbeitet folglich im eigenen Takt. So kann die Taktzeit abhängig von der benötigten Dauer von Systemteilen verkürzt oder verlängert werden. Da nicht auf die Taktfrequenz, das Zeitzeichen "gewartet", wird sondern auf Vorbedingungen, dauern unkomplexe Vorgänge kürzer, komplexerer Vorgänge länger. Die Geschwindigkeit der Rechenprozesse hängt nicht mehr vom langsamsten Teil, sondern von der durchschnittlichen Dauer ab. Die Systeme koordinieren sich hierzu lokal um festzustellen, ob die Bedienungen erfüllt oder die Eingangsdaten vorhanden sind. Dies wird unter anderem mit Hilfe von "Rendezvous" und "Arbiter" Schaltkreisen bewerkstelligt. So haben beispielsweise eine Art der Rendezvous-Schaltkreise namens Muller-C-Elemente die Eigenschaft, zwei Eingänge und einen Ausgang zu haben. Nur wenn beide Eingänge den gleichen Wert (also 1-1 oder 0-0) haben, verändert sich sich das Ausgangssignal. Ein Arbiter-Schaltkreis sorgt dafür, dass zu einem Zeitpunkt nie mehr als einer Anforderung stattgegeben wird. Er bringt die Zugriffe nach bestimmten Bedienungen in Reihenfolge. Unter anderem mit solchen Bauteilen lässt sich, wenn auch viel komplexer als hier dargestellt und mit erheblichen Aufwand, ein asynchrones System verwirklichen.

Es ist also möglich, dass ein asynchrones System schneller ist, als ein getaktetes. Hinzu kommt ein geringer Stromverbrauch. Durch den Wegfall des Zeitsignals, welches bei getakteten Systemen erheblichen Anteil am Energieverbrauch hat, da es konstant im Dauerbetrieb ist, ob genutzt oder nicht, verbrauchen die ruhenden Elemente keine Energie. Ein weiterer Vorteil ist die geringere Radiowelleninterferenz. Synchrone Systeme senden ein starkes Radiosignal, welches abgeschirmt werden muss um andere Systeme nicht zu stören. Auf einzelnen Frequenzen fallen so weniger ungewollte Strahlungen an.

Asynchronous Computing bietet eine völlig andere Zeitweise des Computers. Neben dem technischen Trade-off unterschiedlicher Fähigkeiten ist die grundsätzlich andere Denkweise medienwissenschaftlich interessant. So zeigt die Tatsache, dass bereits Turing über die Möglichkeit asynchroner Taktung als Alternative nachgedacht hat erneut, dass technische Medien nicht nur als historische Weiterentwicklung gesehen werden dürfen. Werden Medien epistemisch betrachtet, zeigen sich andere Realitäten als die einer Historie (in diesem Fall der Taktung des Computers). So brodelt diese grundlegend andere Zeitweise des Computers schon lange Zeit vor sich hin. Erst in den letzten Jahren wird die neue Taktweise des taktlosen Computers ernster genommen. So ist interessant zu sehen, dass das asynchrone Rechnen vor allem noch an ausgereifter Design-Software, keinen allgemein akzeptierten Prüfverfahren und zu wenig ausgebildeten Fachleute leidet.

Artefakte


Epsons ACT11, 8-bit asynchronous chip, ILLIAC II (asychronous computer)


Weiterführendes


Jens Sparsø,Steve Furber (Hg.)Principles of Asynchronous Circuit Design: A Systems Perspective. Kluwer 2001.

Ivan E. Sutherlan, Micropipelines: The Turing Award Lecture. In: Communications of the ACM, Bd. 32, Nr. 6, S. 720, Juni 1989.

Sebastian Vehlken, Christoph Engemann , Supercomputing In: Takt und Frequenz. Paderborn Wilhelm Fink 2012.

https://en.wikipedia.org/wiki/Asynchronous_circuit


Textverweise


  1. John von Neumann, First Kraft of a Report on the EDVAC, 1945, S.5 http://www.virtualtravelog.net/wp/wp-content/media/2003-08-TheFirstDraft.pdf [Zugriff 13.10.2017]
  2. Ivan E. Sutherland / Jo Ebergen, Taktlose Computer, in: Spektrum Wissenschaft. Dossier Supercomputing, Februar 2007. W. 38 - 44. S.44