Mehr über Multicore-Systeme


Thomas Wölfer
Thomas Wölfer

25. August 2010


Ich hatte gestern eine kleine Tabelle gezeigt, aus der man die Performance-Gewinne durch den Einsatz von Multicore-Systemen ablesen konnte. (Es gibt übrigens bereits durchaus bezahlbare 24-Core Desktop Systeme.)

Aus der Kurve konnte man beim 4-Kern System sehen, das der gemessene Vorgang nur noch die Hälfte der Zeit brauchte. Das ist natürlich nicht besonders beeindruckend, wenn man bedenkt, das immerhin 4 CPUs beteiligt sind: 4 CPUs machen die Sache also nur doppelt so schnell wie eine einzelne.

Es kommt aber auch immer drauf an, was man eigentlich betrachtet. Beim Vorgang gestern wurden sämtliche Vorgänge mit gemessen. Nach dem Klick auf den Befehl für die Bemessungsergebnisse finden aber eine ganze Menge Dinge statt: Es wird eine Plausibilitätskontrolle durchgeführt (beim gegebenen System mit 1800 Stäben kann das schon mal eine Sekunde oder so dauern, es wird eine FEM-Berechnung durchgeführt, die zugehörige Matrix aufgefüllt, etc. etc. – und vieles davon ist eben (noch) nicht parallelisiert.

Wenn man sich aber einen anderen Vorgang ansieht – einen, der möglicherweise häufiger vorkommt – dann sieht die Sache schon anders aus. Angenommen, man ist bereits auf dem Fenster zur Auswahl der Ergebnisse – dann geht es nur noch darum, eine bestimmte Bemessung (oder eine bestimmte Überlagerung) durchzuführen.

Der Wechsel von Bemessungsgruppe “1” zu Bemessungsgruppe “2” löst einen Bemessungsvorgang aus. Und der dauert (auf dem gleichen 4-Kern System von gestern, mit dem gleichen Tragwerk von gestern):

Mit Multicore-Support: ca. 4 Sekunden
Ohne Multicore-Support: ca. 16 Sekunden

Hier gibt es also plötzlich eine dramatische Verbesserung: Die benötigte Zeit nimmt bei so einem Vorgang tatsächlich linear zu den vorhandenen CPUs ab.