Jaguar nun komplett mit AMD Quad-Core Opterons

pipin

Administrator
Teammitglied
Mitglied seit
16.10.2000
Beiträge
24.368
Renomée
9.694
Standort
East Fishkill, Minga, Xanten
  • SIMAP Race
  • QMC Race
  • RCN Russia
  • Spinhenge ESL
  • Docking@Home
  • BOINC Pentathlon 2019
  • SETI@Home Intel-Race II
  • THOR Challenge 2020
  • BOINC Pentathlon 2021
  • BOINC Pentathlon 2023
Cray hat in einer Pressemitteilung bekanntgegeben, dass die Erweiterung des am Oak Ridge National Laboratory installierten Supercomputers namens Jaguar abgeschlossen ist.

Alle Cray XT4 Dual-Core Systeme wurden auf Quad-Core Prozessoren umgerüstet und zusätzlich wurde der Arbeitsspeicher jedes Sockels verdoppelt. Damit besitzt der Jaguar nun eine Peak-Performance von über 260 TeraFLOPS, was in der letzten Top500-Liste Platz 2 bedeutet hätte.
<blockquote>"Compute performance has a direct impact on our ability to tackle the greatest engineering and scientific challenges we face, resulting in the breakthroughs that change society," said Dr. Thomas Zacharia, Oak Ridge National Laboratory associate director for computing and computational sciences. "The scalability, reliability and upgradeability of the Cray XT4 has made Jaguar an increasingly powerful computing resource for our researchers and scientists. This upgrade will enable even greater achievements in today's most important areas of science."</blockquote>

<b>Zur Pressemitteilung:</b> <a href="http://www.planet3dnow.de/vbulletin/showthread.php?p=3605999#post3605999"> Cray Doubles Size of One of World's Largest Supercomputers</a>
 
Bin mal gespannt was da letztlich für eine Performance-Steigerung bei rauskommt. Viele HPC-Anwendungen sind ja primär an die Bandbreite des externen RAMs gebunden und die wird ja durch mehr Kerne nicht höher.
 
Bin mal gespannt was da letztlich für eine Performance-Steigerung bei rauskommt. Viele HPC-Anwendungen sind ja primär an die Bandbreite des externen RAMs gebunden und die wird ja durch mehr Kerne nicht höher.
Jo, aber dual DDR2 reicht für nen Quad, bei nem dual core hast du fast keine Unterschiede zw. single/ dual channel DDR2. Den gabs nur damals bei DDR1.

ciao

Alex
 
Bin mal gespannt was da letztlich für eine Performance-Steigerung bei rauskommt. Viele HPC-Anwendungen sind ja primär an die Bandbreite des externen RAMs gebunden und die wird ja durch mehr Kerne nicht höher.
Da der K10 gegenüber dem K8 ein verbessertes und aggressiveres Hardware Data Prefetching besitzt, dürften sich auch Anwendungen aus diesem speziellen Bereich über den K10 im Allgemeinen (nicht nur über die doppelte Anzahl an Kernen im Speziellen) freuen, da auf diese Weise der Flaschenhals "RAM" intelligent ausgetrickst wird, wenn die benötigten Daten bereits im Cache liegen, wenn sie benötigt werden.
 
Da der K10 gegenüber dem K8 ein verbessertes und aggressiveres Hardware Data Prefetching besitzt, dürften sich auch Anwendungen aus diesem speziellen Bereich über den K10 im Allgemeinen (nicht nur über die doppelte Anzahl an Kernen im Speziellen) freuen, da auf diese Weise der Flaschenhals "RAM" intelligent ausgetrickst wird, wenn die benötigten Daten bereits im Cache liegen, wenn sie benötigt werden.
Ich glaub nicht, dass das verbesserte Prefetching nennenswert was bringt. Die Zugriffspatterns sind bei HPC-Anwendungen eh sehr einfach vorhersagbar, dass man schon mit einfachem Prefetching hinkommt. Außerden verhindert Prefetching keine Cache-Stalls, sondern verkürzt i.d.R. nur die Latenz etwss und erhöht den Durchsatz.
 
Es geht um HPC-Anwendungen; die kannst Du nicht mit Erkenntnissen aus Desktop- und Server-Benchmarks bewerten.
Doch kann man, ich bezog mich auf Stream Speicherwerte der dual core K8. Daran sieht man, dass die beiden Kern(chen) die schiere Datenflut per dual DDR2 gar nicht bewältigen können. Wenn ich mich recht erinnere, dann hat das music damals beim ersten AM2 Test gemessen, schau mal in der Artikelsuche.

Der K8 ist ursprünglich nur für dual DDR1 ausgelegt, mit mehr ist er regelrecht überfordert, der K10 ist da schon ein andres Kaliber ;-)

Ich glaub nicht, dass das verbesserte Prefetching nennenswert was bringt. Die Zugriffspatterns sind bei HPC-Anwendungen eh sehr einfach vorhersagbar, dass man schon mit einfachem Prefetching hinkommt. Außerden verhindert Prefetching keine Cache-Stalls, sondern verkürzt i.d.R. nur die Latenz etwss und erhöht den Durchsatz.
Sagen wir mal so ... der K8 hat überhaupt kein Prefetching ...
Wieso werden mit Prefetch keine Cache Stalls vermieden ? Klar, wenn die Vorhersage mal daneben geht ist das suboptimal... aber sonst wird dafür gesorgt, dass die Caches schön voll sind, und dem CPU Kern die Daten nicht ausgehen, oder hab ich was falsch verstanden ?

ciao

Alex
 
Zuletzt bearbeitet:
Doch kann man, ich bezog mich auf Stream Speicherwerte der dual core K8. Daran sieht man, dass die beiden Kern(chen) die schiere Datenflut per dual DDR2 gar nicht bewältigen können. ..
Das ist Käse. Wenn man Workingsets hat die an die Bandbreite des externen RAMs gebunden sind, dann reichen die Rechenwerke völlig problemlos. Nehmen wir mal Stream Triad in single precision bei einem Gesamtdrchsatz von 10GB/s auf zwei Kerne (ist mit ner optimierten Variante wie die von Sandra und DDR2-1066 möglich); das macht dann läppische 1,7GFlops pro Sekunde - d.h. in solchen Fällen bringt dir die verbessete FPU des K10 rein garnichts.
Der K8 ist ursprünglich nur für dual DDR1 ausgelegt, ...
Kein Kern ist für irgendeinen spezifischen Speicher ausgelegt.
Sagen wir mal so ... der K8 hat überhaupt kein Prefetching ...
Ja, hat er.
Wieso werden mit Prefetch keine Cache Stalls vermieden?
Keine Cache-Stalls, das hieße Du hättest im jeweiligen Benchmark den Durchsatz des L1-Caches. Das bei in HPC-Anwendungen so gut wie nie gegeben. Schau dir mal den BlueGene an; die Kerne arbeiten mit weniger als 1GHz, und das weil der Teil der maßgeblich für die Performance ist das Speicherinterface ist.
[/QUOTE]aber sonst wird dafür gesorgt, dass die Caches schön voll sind, ...[/QUOTE]
Erstens sind Caches immer voll und zweitens verringert das Prefetching unter Bedingungen wie bei HPC-Anwendungen nur die Latenz.
 
Sagen wir mal so ... der K8 hat überhaupt kein Prefetching ...
Da muss ich Dir widersprechen! Alle AMD-Prozessoren seit dem "Palomino" Kern beherrschen Data-Prefetching in Hardware. Allerdings wurde dieses Feature beim K10 noch einmal verbessert.

Verbessert wurde im übrigen nicht nur das Data-Prefetching, sondern generell das Bandbreiten-Management.
1. Verbessertes Data-Prefetching wie erwähnt
2. Verbessertes Instruction-Prefetching (doppelte Tiefe ggü. dem K8)
3. Prefetching direkt in den L1-Cache statt in den L2-Cache wie beim K8
4. Support für Load re-ordering falls sinnvoll (z.B. wenn eine Page bereits offen ist und in einer der nächsten Pipelinestufen Daten daraus benötigt werden).
5. Support für 1 GB Pages für weniger RAM-Verwaltungsoverhead bei großen Datensätzen
6. Doppelte Bandbreite der L1- und L2-Caches zum Kern ggü. dem K8.
7. 2 MB L3-Cache mit 256 Bit Anbindung.
8. Vergrößerte L1-TLBs
9. Zwei unabhängige 64-Bit Memory-Controller ("Unganged Mode") statt eines 128-Bit Controllers beim K8. So kann ein Controller schreiben, während der andere liest, es können beide schreiben oder beide lesen - was gerade opportun ist.
10. Speicherbus-Takt nicht mehr aus dem Kerntakt generiert, sondern aus dem Referenztakt. Damit laufen z.B. DDR2-800 RAMs auch immer mit exakt 400 MHz und nicht wie beim K8 je nach Kernfrequenz des Modells mal mit 400 MHz, mal mit 370 MHz, mal mit 385 MHz, wodurch Bandbreite verschenkt wurde.

Da hat AMD also schon einiges getan gegenüber den alten Dual-Core Opterons auf K8 Basis, um die Wartezyklen der Kerne im Allgemeinen so gering wie möglich zu halten. Die theoretische Peakbandbreite des Speichers beeinflusst dies natürlich nicht, das ist klar - die ist beim K10 genauso hoch wie beim K8 wenn der Speicherbus mit der gleichen Frequenz arbeitet. Aber der K10 geht deutlich intelligenter damit um.
 
Kein Kern ist für irgendeinen spezifischen Speicher ausgelegt.
Was zählst Du zum Kern ? Nur die Rechenwerke, oder auch die Caches ? Ich zähl da die Caches mit dazu, und deren Busse sind beim K8 für Dual-DDR2 zu schmal, eben weil sie Anno 2000 nur auf Dual-DDR1 ausgelegt waren. Les Dir am besten die Artikel hier durch (falls Du nicht soviel Zeit hast, um die ganz zu lesen dann such nach "bottleneck"):

K8 / DDR2:
http://www.digit-life.com/articles2/mainboard/ddr2-800-am2.html

K10:
http://www.digit-life.com/articles3/cpu/rmma-phenom.html

Und wenn Du noch magst, hier noch ein Artikel zur K8 G1 Revision, da ist der L1-L2 Flaschenhals bekanntermaßen noch schlimmer:
http://www.digit-life.com/articles2/cpu/rmma-a64x2-ee-page1.html

Äh schreib lieber "Doch, hat er", meine Aussage ist falsch, habe in letzter Zeit zuviel über Software Prefetch gelesen, da wurde nicht viel zum hardware AMD Prefetch geschrieben, sondern nur immer betont, dass man das v.a. bei AMD CPUs bräuchte ^^
Keine Cache-Stalls, das hieße Du hättest im jeweiligen Benchmark den Durchsatz des L1-Caches. Das bei in HPC-Anwendungen so gut wie nie gegeben.
Ok, gut also ich hab hier keine HPC Kiste im Keller, und hab mich auf Deine obige Aussage verlassen, dass Prefetching bei HPC Code einfach ist:
Die Zugriffspatterns sind bei HPC-Anwendungen eh sehr einfach vorhersagbar, dass man schon mit einfachem Prefetching hinkommt.
Prefetching ist dazu da, dass Daten im L1 sind, die das Rechenwerk sofort braucht. Wenn das jetzt bei HPC so einfach ist, wie solls dann zu Cache Stalls kommen ? Klar, die Latenzen sinken, weil es eben nicht zu Cache Stalls kommt und das Rechenwerk nicht auf L2/L3/RAM warten muss.
Also ich seh da einen Zusammenhang zwischen den Aussagen

geringe Latenzen -> keine Cache Stalls, bzw.
Keine Cachestalls -> geringe Latenzen.

Wo ist der Denkfehler *noahnung*

@Nero:
Jojo hast ja recht, wie besagt, z.Zt. zuviel Software Prefetch im Hirn *lol*

Edit:
Die theoretische Peakbandbreite des Speichers beeinflusst dies natürlich nicht, das ist klar - die ist beim K10 genauso hoch wie beim K8 wenn der Speicherbus mit der gleichen Frequenz arbeitet. Aber der K10 geht deutlich intelligenter damit um.
Jo oder anders gesagt, die praktische/echte Peakbandbreite ist beim K10 um einiges höher ;-)

ciao

Alex
 
Zuletzt bearbeitet:
Zurück
Oben Unten