64bit und Multi-Core: Was ist das, was bringt das ?


Thomas Wölfer
Thomas Wölfer

17. September 2009


64bit - wofür ist das gut?

Neuere Computer kommen bereits seit einiger Zeit fast immer mit 64bit-Prozessoren, haben also 32bit "mehr" als die Computer, die über ein Jahrzehnt lang zuvor verkauft wurden. Stellt sich die Frage: Was hat man davon?

Wie so immer ist die Antwort nicht ganz einfach. Zunächst einmal ist es so, das man die 64bit-Fähigkeit gar nicht nutzen kann, wenn man ein 32bittiges Betriebssystem verwendet. Zwar gibt es bereits seit Windows XP eine 64bit-Variante von Windows - die überraschenderweise Windows XP64 hieß - doch die hatte keine besonders große Verbreitung. Auch vom XP Nachfolger Vista und vom Vista-Nachfolger Windows 7 gibt es 64bittige Geschmacksrichtungen: Grundvoraussetzung für die Nutzung der 64bit CPU (bei Windows) ist also eine der 64bit - Varianten des Systems.

Nun kann man auf einem 64bit System aber auch ein 32bit Windows verwenden. Tut man  das allerdings, dann ändert sich gar nichts. (Stimmt zwar nicht ganz, ist aber im Wesentlichen richtig genug.)

Hat man nun also ein 64bit Windows und einen 64bit Rechner, dann ändert sich zunächst einmal folgendes: Das Betriebssystem kann mehr als 4GB Speicher verwenden - und auch an Anwendungen verteilen.  Das 4GB Limit (das 1995 noch sehr hoch gegriffen schien, aber - zumindest bei einigen Anwendungen - heute eher niedrig ist) wird also mit einem 64bit Windows auf einem 64bit Prozessor durchbrochen. Zumindest im Prinzip - man benötigt dann nämlich auch einen Rechner, in den man auch in der Praxis mehr als 4GB reinstecken kann. Die sind zwar nicht mehr unbedingt selten, aber weit über 8GB gehen die herkömmlichen Systeme nicht hinaus. (Immerhin: das ist ja schon mal das doppelte...)

Wenn man nun also ein passendes Betriebssystem, einen passende CPU und eine entsprechende Menge Speicher hat, passiert zunächst einmal folgendes: Leider noch immer nicht viel. Die meisten Anwendungen laufen nämlich auch unter eine 64bit Windows als 32bittige Prozesse. Solche Prozesse haben zwar speicherseitig ein paar Vorteile im Gegensatz zum gleichen Prozess unter einem 32bit Windows -allerdings sind die minimal.

Erst richtig sinnvoll wird die Sache, wenn zusätzlich auch die Anwendung die man verwendet eine echte 64bit Anwendung ist: Eine solche Anwendung kann dann Ihrerseits deutlich mehr Speicher verwenden, als das bei einer 32bit Anwendung der Fall ist: Geht einem also bei der Arbeit mit einem Programm öfter mal "der Speicher aus", dann wäre es eine Überlegung wert, nach einer 64bit-Version dieser Anwendung zu suchen - die wird derlei Probleme lösen. (Immer unter der Voraussetzung, das man auch tatsächlich genug Speicher im Rechner hat.)

Gibt es dadurch auch Performance-Verbesserungen? In der Theorie ja - in der Praxis wohl eher nicht, außer vielleicht in speziellen Ausnahmefällen.
Für die Baustatik bedeutet das übrigens das folgende: Wer häufiger Systeme hat, die so groß sind, das Sie sich geschlossen nicht mehr berechnen lassen, der braucht die 64bit Version der Baustatik: Leider haben wir die aber noch nicht. Wir arbeiten aber zur Zeit daran - und es wird auch ganz sicher eine solche Version geben. Wer sich also damit trägt einen neuen Rechner und ein neues Betriebssystem anzuschaffen: Eine 64bit CPU und ein 64bit Windows sind da ganz sicher keine falschen Investitionen in die Zukunft.


... und Mutli-Core?

Mit dem Begriff Multi-Core ist gemeint, das ein gegebenes System so vorliegt, das eine Anwendung mehrere CPUs (statt wie klassisch nur einer) im vorfindet. Das kann auf verschiedenen Wegen passieren - im einfachsten Fall befinden sich tatsächlich mehrere CPUs im System, im etwas gängigeren Fall befindet sich nur eine CPU die aber intern über 2 "Kerne" verfügt im Rechner. Dabei ist "Multi" nicht auf "2" beschränkt: Es gibt sehr wohl auch die Möglichkeit mit 8 oder noch mehr Kernen zu arbeiten. Dabei gibt es bei Windows allerdings ein paar künstliche Limits: Nicht alle Versionen von Windows unterstützen auch alle vorhandenen CPUs.

Hat man nun aber eine Version von Windows die mehrere CPUs unterstützt - und natürlich auch mehrere Kerne im System - dann können die ausgeführten Programme parallel auf mehreren CPUs ausgeführt werden: Laufen also beispielsweise 2 Programme gleichzeitig, dann stören sich die beiden gegenseitig nicht und laufen schneller als mit nur einer CPU: Zumindest solange die Programme nur die CPU benutzen - gleichzeitige Festplattenzugriffe stören die schöne Welt beispielsweise wieder.

Davon ab kann aber auch ein einzelnes Programm mehrere CPUs gleichzeitig verwenden - sofern es dafür programmiert wurde. Das bringt dann schon einen erheblichen Geschwindigkeitsvorteil - zumindest dann, wenn das Programm CPU-intensive Aufgaben erledigt.

Im Fall der Baustatik ist das der Fall - zum Beispiel beim Gleichungslöser der FE-Matrix: Wesentlich CPU-intensiver wird es nicht - und der Gleichungslöser verwendet darum auch alle vorliegenden CPUs. Hat man also beispielsweise 4 Kerne im System, dann liegt die Berechnung etwa viermal schneller vor, als bei nur einer CPU. Zumindest in der Theorie - in der Praxis geht durch Verwaltungsoverhead ein wenig Performance verloren - die dreifach Geschwindigkeit erreicht man aber allemal. Der Multi-Core Support ist also in der Baustatik bereits eingebaut - je mehr CPUs man in den Rechner steckt, desto schneller kommen die Ergebnisse. (Zwar noch nicht an alle Stellen die mir vorschweben, aber zumindest an einigen der wichtigsten und bisher Zeit-intensivsten.)

Mit anderen Worten: Ein Multi-Core System ist heute bereits keine Investition in die Zukunft, sondern liefert schon in der aktuellen Version der Baustatik ganz praktisch spürbare Verbesserungen - von denen es aber in kommenden Version noch weitere geben wird.