Welche Speicherbandbreite haben aktuelle PCs?



  • Ich bin hierzu leider nicht auf dem Laufenden.

    Weiß das jemand?



  • ...



  • Danke.

    Und kann man daraus Schlüsse ziehen oder Ableiten, wie viele Double Werte in einem Array man pro Sekunde durch Berechnung (Addition, Subtraktion, Multi., Div.) verändern kann?

    Oder anders gesagt, wenn ich ein 21 GB großes Array bestehend aus Double Werten habe, wie viele Werte kann ich dann darin in einer Sekunde verändern?



  • ...



  • Swordfish schrieb:

    Bandwith schrieb:

    Und kann man daraus Schlüsse ziehen oder Ableiten, wie viele Double Werte in einem Array man pro Sekunde durch Berechnung (Addition, Subtraktion, Multi., Div.) verändern kann?

    Wenn deine Software exklusiv auf der Hardware läuft: eventuell.

    Ja, also nur CPU und RAM.

    BTW: GB/s = Gbit/s, gell?

    Ja.
    21 GBit/s macht also 2,4 GByte/s. (Kolibri Bezeichnung wird nicht verwendet)



  • 2.4 GB/s wäre etwas wenig für ein heutiges System.

    Ich hatte vorhin mal memcpy auf zwei Systemen getestet (zwischendurch noch eine volle Tasse Kaffee übers Notebook gekippt), von denen du die Resultate hier sehen kannst: http://81.169.152.91/img/memcpy.png
    Tendenziell siehst du links die Performance des L2-Caches, in der Mitte die des L3-Caches und rechts die des tatsächlichen RAMs. Welche Werte für dich am ehesten interessant sind, kommt darauf an, wie viele Daten in deinem Anwendungsfall im Schnitt aus den Caches kommen und ob der Flaschenhals überhaupt der Speicherzugriff ist (wenn du z.B. für jedes double eine Division durchführst, wird das sicherlich nicht der Fall sein).



  • Swordfish schrieb:

    Sandy Bridge: 21 GB/s

    Also 168 Gbit/s, wer lesen kann ist klar im vorteil.

    http://www.anandtech.com/show/5091/intel-core-i7-3960x-sandy-bridge-e-review-keeping-the-high-end-alive/4



  • Athar schrieb:

    2.4 GB/s wäre etwas wenig für ein heutiges System.

    Ich hatte vorhin mal memcpy auf zwei Systemen getestet (zwischendurch noch eine volle Tasse Kaffee übers Notebook gekippt), von denen du die Resultate hier sehen kannst: http://81.169.152.91/img/memcpy.png
    Tendenziell siehst du links die Performance des L2-Caches, in der Mitte die des L3-Caches und rechts die des tatsächlichen RAMs. Welche Werte für dich am ehesten interessant sind, kommt darauf an, wie viele Daten in deinem Anwendungsfall im Schnitt aus den Caches kommen und ob der Flaschenhals überhaupt der Speicherzugriff ist (wenn du z.B. für jedes double eine Division durchführst, wird das sicherlich nicht der Fall sein).

    Oh, vielen Dank.
    Die Grafik ist wirklich gut, aber jetzt frage ich mich, warum das bei steigender Blockgröße nahezu linear bleibt. Da müßte es doch auch bald einen Einbruch geben, oder?

    Und dann noch ne weitere Frage, warum bricht der Ivy Bride und Phenoum 2 bei ca. 4-5 und 6-8 KByte Blockgröße kurzzeitig so stark ein und steigt dann wieder an? Woran liegt das?



  • Bandwith schrieb:

    Und dann noch ne weitere Frage, warum bricht der Ivy Bride und Phenoum 2 bei ca. 4-5 und 6-8 KByte Blockgröße kurzzeitig so stark ein und steigt dann wieder an? Woran liegt das?

    Ich kann nur raten. Könnte mir vorstellen dass es an der Assoziativität des Cache liegt. Vielleicht verwendet der Test ein bestimmtes Zugriffsmuster, das bei diesen Grössen unvorteilhaft mit der begrenzten Assoziativität zusammenspielt.



  • Bandwith schrieb:

    aber jetzt frage ich mich, warum das bei steigender Blockgröße nahezu linear bleibt. Da müßte es doch auch bald einen Einbruch geben, oder?

    Sobald die Blockgröße so groß geworden ist, dass auch die L3-Caches nichts mehr dazu beitragen können, ist kein Geschwindigkeitsabfall mehr zu erwarten (naja, irgendwann fängt das Swapping an).

    Bandwith schrieb:

    Und dann noch ne weitere Frage, warum bricht der Ivy Bride und Phenoum 2 bei ca. 4-5 und 6-8 KByte Blockgröße kurzzeitig so stark ein und steigt dann wieder an? Woran liegt das?

    Ich gehe auch davon aus, dass das mit der Cache-Assoziativität zu tun hat.
    Beim Phenom II war das im Grunde auch nur Pech, denn etwas näher "herangezoomt" sieht die Einbruchsstelle so aus:
    http://81.169.152.91/img/memcpy-phenom2-6.2-9k.png
    Im ersten Graph wird zufällig eine der ungünstigen Größen verwendet (7591 Bytes).

    Wenn man immer dieselben Buffer verwendet, fällt diese Varianz weg.
    Habe das ganze dann auch mit den selben Buffern, aber verschiedenen Offsets probiert:
    http://81.169.152.91/img/memcpy-offsets.png
    Bestimmte Kombinationen scheinen sich da beim Phenom II sehr ungünstig auszuwirken.


Anmelden zum Antworten