Die Strategie von IBM sieht hingegen zumindest sehr klar aus: Im Softwaregeschäft auf die Übernahme von Linux setzen und selbiges nutzen, um die Cell-Architektur in die Dienstleistungsmärkte hinein zu drängen, für alles vom Desktop bis zu Supercomputern, während die Partner Sony und Toshiba es in den Unterhaltungs- und in den asiatischen PC-Massenmarkt pressen.
In seiner gegenwärtigen Form besteht der Cell-Prozessor aus Bausteinen, die auf 8-Wege-GRIDs auf einem Chip hinauslaufen. Dementsprechend gibt es einen vom PowerG5 abgeleiteten Hauptprozessor und acht Sondereinheiten, welche die parallele Taskausführung übernehmen. Der Schlüssel zu dem Programmiermodell hierfür ist eine Zugriffsschicht oder eine Abstraktion, die weit über die alte Mikrocode-Idee hinausgeht, als Betriebssystem für das Grid zu funktionieren – und nicht auf einzelne Assemblies beschränkt ist.
Eine kritische Konsequenz davon ist, dass die Erstellung und Verwaltung größerer Grids, die aus 8-Wege-Blöcken bestehen, vom Betriebssystem auf Prozessorebene übernommen werden, nicht durch das Linux-Betriebssystem, das obendrauf läuft. Auf gewisse Weise sieht das wie eine nette Vereinfachung aus, die Sicherheit, Portabilität und Programmiervorteile bietet. Andererseits sieht es aus wie eine Behelfslösung, die dazu vorgesehen ist, Einschränkungen der älteren Mutex/Locks-basierten Architektur des jetzigen Linux-Kernels zu entgehen. Hätte sich IBM zum Beispiel für so etwas wie Dragonfly entschieden, wäre diese Abstraktionsschicht mit daraus folgenden Vereinfachungen bei den Programmier-, Vernetzungs- und Sicherheitsmodellen nicht notwendig gewesen.
Der Befehlsatz und Mikrocode für den Hauptprozessor bedeuten, dass Standard-Linux und anderer Open-Source-Code sich leicht in diese Umgebung portieren lassen, aber wenig Nutzen aus dem Grid ziehen, es sei denn, es würde dementsprechend modifiziert. Wenn er allerdings so modifiziert wird, dass er zur Abstraktionsschicht passt, wird Code, der auf einem einzelnen 8-Wege-Chip läuft, auch weiterhin unverändert auf Komplexen laufen, die durch die Verlinkung von Cells entstehen. Als Resultat könnte IBM bereitstehen, Technologien zu liefern, die ihren Anwendern eine einzige Code-Basis bieten, von einem Laptop-PC mit einer teilweisen Cell Assembly, bis zu Petaflop-Supercomputern mit Hunderten davon.
Es wird nicht einfach sein, das zu verwirklichen. Tatsächlich verlassen sich frühe Anwendungen des Cell in der Sony Playstation 3 auf eine externe GPU, trotz der Tatsache, dass der Cell für diese Art von Aufgabe besser geeignet ist als die GPU, einfach weil das Programmiermodell ohne sie zu schwierig wird.
IBM hat neulich eine ausführliche Cell-Dokumentation veröffentlicht, einschließlich einer Übersicht von Chef-Designer Peter Hofstee, die den folgenden Abschnitt enthält:
Das produktivste SPE-Speicherzugriffsmodell scheint das zu sein, in dem eine Liste (wie zum Beispiel eine Scatter-Gather-Liste) von DMA-Transfers im lokalen Speicher eines SPE aufgestellt wird, sodass der DMA-Controller des SPE die Liste asynchron verarbeiten kann, während der SPE auf Basis der zuvor übertragenen Daten operiert. In mehreren Fällen hat dieser neue Ansatz zum Speicherzugriff zu einer Anwendungsleistung geführt, welche die von herkömmlichen Prozessoren um fast zwei Größenordnungen übersteigt, bedeutend mehr als irgendjemand vom Spitzenleistungsverhältnis (ungefähr 10 x) zwischen der Cell Broadband Engine und herkömmlichen PC-Prozessoren erwarten würde.
Hört sich wunderbar an, oder nicht? Aber es liegt auch ein enormer Vorteil darin: Wird man richtig gut im Grid-Programmieren, dann kann man auf einem einfachen 8-Wege-Standardrechner fast das Hundertfache der Leistung von Intel herausholen. Der Anfang ist dabei einfach, aber gut zu werden ist sehr schwer. So drückt es Arnd Bergman im Linux-Programmiermodell für Cell aus: „Linux zu portieren, damit es auf dem Cell Power PC-Core läuft, ist wegen der Ähnlichkeit zu bestehenden Plattformen wie der IBM p-Serie oder Apple Power Macintosh eine relativ einfache Aufgabe, aber das gibt einem noch keinen Zugriff auf die enorme Verarbeitungsleistung der SPUs.“
Neueste Kommentare
1 Kommentar zu Hardware-Strategien und Programmiermodelle
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Multi-Core mit C# 2008
Gute Artikel. Eigentlich bin ich, Forschung über Multicore-Programmierung mit C #.
Ich kaufte mir ein neues Buch für Einsteiger von Packt Publishing:
"C # 2008 und 2005 Threaded Programming: Beginner’s Guide"
Von Gaston C. Hillar – http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book
Amazon.com: http://www.amazon.com/2008-2005-Threaded-Programming-Beginners/dp/1847197108
Amazon.de: http://www.amazon.de/2008-2005-Threaded-Programming-Beginners/dp/1847197108/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1233595988&sr=8-1
Das Buch ist für Anfänger, die zu nutzen Multi-Core mit C# 2005, 2008 und Zukunft 2010.
Ich habe das Buch in einer Woche, und es hat großen Übungen helfen Entwicklern die in den Multi-Core-Dschungel. Ich empfehle es auf C# Programmierer.