Mehr als acht Kerne sind zuviel des Guten:
Speicherbandbreite Flaschenhals für CPUs

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 von 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.

Drastischer Performanceeinbruch bei 16 Kernen
Die Ergebnisse des Sandia-Teams zeigen zwar, dass vier statt zwei Rechenkerne eine klare Steigerung der Geschwindigkeit bringen. Bereits die nächste Verdoppelung der Zahl 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.

Notlösung Multi-Cores?
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.

Hürde nicht unüberwindbar
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. (pte/red)