Unabsichtliche Verlangsamung von Supercomputern

17. Jänner 2009, 17:38
5 Postings

Simulationen zum Multi-Core-Design haben gezeigt: Bei zu vielen Rechenkernen leidet die Leistung bei komplexen Anwendungen

Albuquerque - Bei Multi-Core-Prozessoren immer mehr Rechenkerne auf einen einzelnen Chip zu packen, macht Supercomputer nicht unbedingt schneller. Das haben Simulationen des konventionellen Multi-Core-Designs ergeben, die von Sandia, einer für die US-Regierung arbeitenden Lockheed-Martin-Tochter, durchgeführt wurden. Vielmehr ist es so, dass die Performance bei komplexen Anwendungen durch zu viele Kerne leidet und die Geschwindigkeit  bei 16 und mehr Kernen deutlich sinkt.

Das zugrunde liegende Problem ist die begrenzte Bandbreite für den Speicherzugriff. Denn um diese Ressource konkurrieren die einzelnen Rechenkerne letztendlich miteinander. "Diese Simulation bedeutet sicher nicht, dass das Problem grundsätzlich nicht lösbar wäre", betont Thomas Lippert, Leiter des Jülich Supercomputing Centre, auf Anfrage.

Ergebnisse

Die Ergebnisse des Sandia-Teams zeigen zwar, dass vier statt zwei Rechenkerne eine klare Steigerung der Geschwindigkeit bringen. Bereits die nächste Verdoppelung der Anzahl der Kerne bringt nur noch wenig und danach geht es bergab. Mit 16 Kernen sind Berechnungen nur etwa so schnell wie mit zwei und bei noch mehr Rechenkernen sinkt die Performance drastisch.

Das liegt den Forschern zufolge daran, dass in einem konventionellen Prozessor alle Rechenkerne Speicher über den gleichen Kanal anfordern. "Das ist, als würden ein, zwei, vier oder acht Personen gleichzeitig mit einem reden und sagen: 'Ich will diese Information.' Sie müssen dann auf die Antwort zu ihrer Anfrage warten", beschreibt James Peery, Direktor von Sandias Computations, Computers, Information and Mathematics Center. Das führt zu Verzögerungen und mit genau diesem Problem kämpfen auch die Multi-Core-Prozessoren.

Das Multi-Core-Design

Aufgekommen sind Multi-Cores, weil immer höher getaktete Einzelkern-Prozessoren durch ihren Strombedarf, steigende Wärmeentwicklung und andere physikalische Effekte an ihre Grenzen gestoßen sind. "Die Chipdesign-Community hat sich nicht für Multi-Cores entschieden, weil sie fehlerfrei sind", sagt Sandia-Mitarbeiter Mike Heroux. Vielmehr habe man keinen besseren Zugang gesehen. Das Multi-Core-Design ermöglicht es, die vielen Transistoren auf Prozessoren immer kleinerer Strukturgrößen auch zu nutzen. Jedoch begrenzt die Kommunikation mit dem Speicher die Leistungsfähigkeit.

Problemlösung

Theoretisch ist das von den Sandia-Forschern untersuchte Problem lösbar. "Als Faustregel wäre ein Byte pro Flop und Core Speicherbandbreite eine gute Lösung", erklärt Lippert. Solang das umgesetzt werden könne, wären auch hunderte Rechenkerne kein Problem. Aktuell entsprächen aber nur die Prozessoren für IBMs Blue Gene/P dieser Faustregel. "Wir werden aber mit Nehalem eine wichtige Weiterentwicklung erleben", meint Lippert. Der Intel-Chip werde immerhin ein halbes Byte pro Flop und Kern Speicherbandbreite bieten und es bestünde die Hoffnung, dass AMD ähnliches leisten könne.

"Wir sehen derzeit Speicher-Designs, die eine drastische Verbesserung gegenüber den vor zwölf Monaten verfügbaren darstellen", meint auch Heroux. Sandia-Simulationen für bestimmte, spezialisierte Prozessor-Designs haben auch ergeben, dass bei diesen Chips die Geschwindigkeit bei acht und mehr Kernen zwar nicht mehr wirklich steigt, aber zumindest auch nicht abfällt. (pte)

  • Mehr Rechenkerne auf einem Chip bringen nicht unbedingt mehr Performance.
    foto: sandia/randy montoya

    Mehr Rechenkerne auf einem Chip bringen nicht unbedingt mehr Performance.

Share if you care.