Ideal für Spezialitäten

64-Bit-Computing kommt auf die PC-Plattform, aber langsam: Von den Vorteilen profitieren bis dato in erster Linie Spezialanwendungen mit sehr hohem Speicherbedarf.

Artikel erschienen in Swiss IT Magazine 2006/14

     

Prozessoren mit einer Re­gister­­breite von 64 Bit sind in der Midrange-Unix-Welt schon längst gang und gäbe. Mit Spezialbetriebssystemen wie Tru64- oder der 64-Bit-Version von HP-UX und AIX ausgerüstet, erledigen sie anspruchsvolle Berechnungen in Technik, Wissenschaft und Finanz. Für einen grösseren Anwendungskreis waren solche Systeme dagegen zu teuer und das für Programmierung und Betrieb erforderliche Spezialwissen zu rar.


64 Bit wird Mainstream

Angefangen hat es mit dem Opteron im Herbst 2003: AMDs neuer Serverprozessor war die erste
64-Bit-CPU, die vergleichsweise preisgünstig war und sich auf den x86-Instruktionssatz der PC-Plattform verstand. Im Gegensatz zum bis heute nur in Nischen erfolgreichen Itanium von Intel, der auf der vollkommen neuen IA64-Architektur basiert, läuft auf dem Opteron auch herkömmliche 32-Bit-Software mit uneingeschränkter Geschwindigkeit.
Inzwischen hat sich die Palette an 64-Bit-Prozessoren für PCs drastisch erweitert. Bei AMD spricht man heute von der «AMD64-Plattform», die neben dem Opteron für Server auch CPUs für Desktops (Athlon 64, Athlon 64 FX) und Notebooks (Turion 64, Athlon64) bereitstellt. Auch wenn AMD mit dem Opteron-Launch die Nase vorn hatte, darf Intel natürlich längerfristig nicht hintenanstehen: Seit dem Pentium D unterstützt jeder höherwertige x86-Prozessor mit Pentium-Architektur eine Speicher­adressbreite von 64 Bit, wobei Intel den gleichen Instruktionssatz verwendet wie AMD. Für den mobilen Core Duo gilt dies allerdings nicht: Bei der ersten Generation der Core-CPUs handelt es sich um 32-Bit-Prozessoren. Erst der soeben angekündigte Core 2 Duo («Merom») bietet 64 Bit.
Marketingtechnisch spricht Intel, analog zum AMD64-Label der Konkurrenz, von der «EM64T-Plattform». Microsoft bezeichnet beide Implementationen zusammengefasst als «x64-Plattform». Näheres zu Details und Unterschieden lesen Sie ab Seite 36.


Knackpunkt Betriebssystem

Mit einer 64-Bit-CPU allein lassen sich die Vorteile des 64-Bit-Computing nicht nutzen. Mindestens das Betriebssystem muss ebenfalls auf 64-Bit-Adressierung getrimmt sein, damit sich mit der neuen Adressvielfalt überhaupt etwas anfangen lässt. Abgesehen von Solaris und Mac OS X, die mit anderen Prozessorarchitekturen arbeiten, gibt es aktuell drei Möglichkeiten: 64-Bit-Linux, zu haben unter anderem bei Red Hat und Novell, Windows Server 2003 in der x64-Ausgabe und das als OEM-Version erhältliche Windows XP Professional x64. Auch von der Windows-Vista-Beta ist eine 64-Bit-Variante erhältlich. Im folgenden beziehen wir uns in erster Linie auf 64-Bit-Computing unter den aktuell verfügbaren Windows-Varianten. Die grundsätzlichen Aspekte gelten aber für alle 64-Bit-Plattformen gleichermassen.


Vorteil: Speicher à gogo

Auf den ersten Blick bietet 64-Bit-Computing gegenüber der 32-Bit-Welt einen einzigen klaren Vorteil: Mit einer Adressbreite von 64 Bit lässt sich mehr Speicher direkt ansprechen. Genauer gesagt: viel, viel mehr. Theoretisch ermöglichen 64-Bit-Adressen den Direktzugriff auf 16 Exabyte Speicher – das sind 17 Mrd. Gigabyte. Mit einer 32-Bit-Adresse beschränkt sich der verfügbare Bereich auf vier Gigabyte.
In der Praxis unterstützen 64-Bit-Systeme naturgemäss weniger Speicher. Die schwerwiegendste Einschränkung ist hardwarebedingt: Typische moderne Motherboards wie das brandneue, für den Core 2 Duo konzipierte GA-965P-DQ6 von Gigabyte bieten vier Slots für Speichermodule. Mit den derzeit grössten erhältlichen DDR2-DIMMs von je 2 GB ist also bei 8 GB Schluss. Serverboards bieten oft bis zu acht Slots und ermög­lichen mit 4-GB-DDR-Modulen die Installation von 32 GB RAM.



Das Betriebssystem schränkt die Speicherlust etwas weniger ein: 64-Bit-Linux unterstützt meist
64 GB physisches RAM, und unter Windows x64 lassen sich 128 GB RAM und 16 Terabyte virtueller Speicher nutzen. Es liegt auf der Hand, dass ein Umstieg auf 64 Bit vor allem dann etwas bringt, wenn tatsächlich mehr als vier Gigabyte Speicher installiert sind. Diese Erkenntnis gilt unter Windows allerdings nur bedingt: In der herkömmlichen 32-Bit-Variante schränkt Windows XP nämlich auch den virtuellen Speicherbereich über Gebühr ein, der jedem Prozess zur Verfügung steht – aus dem theoretischen Maximum von 4 GB werden normalerweise 2 oder allenfalls 3 GB, wenn das System mit der Option /3GB gebootet wird. Den Rest des 32-Bit-Adressraums beansprucht das OS für sich. Anders in der 64-Bit-Welt: Windows x64 überlässt jedem 32-Bit-Prozess den vollen virtuellen Adressraum von 4 GB für eigene Zwecke, falls das Programm mit der Option /LARGEADRESSAWARE kompiliert wurde.




Die doppelt so langen Adressen haben jedoch auch einen Haken: Für 64-Bit kompilierte Software ist grösser als die 32-Bit-Geschwister, und auch während der Ausführung wird für die doppelt so langen Pointer mehr Speicher benötigt. In ungünstigen Fällen verdoppelt sich der Gesamtbedarf, wie ein Vergleich auf zwei identisch ausgestatteten Athlon-64-PCs mit einer frühen Version von Windows XP x64 zeigte: Das 32-Bit-System belegte knapp 36 MB an Kernel-Memory, während das 64-Bit-System fast
64 MB in Anspruch nahm. Mit dem virtuellen Speicher verhielt es sich ähnlich. Ein 64-Bit-System ermög­licht also nicht nur mehr Speicher, es benötigt auch selbst mehr.



Memory-Vergleich Windows 32/64 Bit


Mehr Leistung, mehr Sicherheit

«Die meisten aktuellen Anwendungen laufen unter Windows XP mit 64 Bit nicht schneller als mit 32 Bit, auch wenn sie für 64 Bit umgeschrieben wurden», meint ein Microsoft-Whitepaper. Ein allfälliger Performancegewinn der 64-Bit-Plattform lässt sich primär auf den grösseren Adressbereich zurückführen – die Anwendung kann mehr Daten im RAM halten und muss beim Umgang mit grösseren Datenmengen, als es die bisherige 3-GB-Grenze des virtuellen Speichers erlaubte, nicht mehr auf zeitintensive eigene Auslagerungsmechanismen zurückgreifen. Dafür ist jetzt der um Klassen mächtigere, vom Betriebssystem verwaltete virtuelle Speicher zuständig.
Der Prozessor verbessert die Gesamtleistung mit mehr Registern und stärkerer I/O-Verarbeitung zusätzlich. Auch davon profitieren sowohl 64-Bit- als auch 32-Bit-Anwendungen. Am meisten gilt dies für speicherintensive Anwendungen, die den 32-Bit-Adressraum bisher ständig ausgereizt haben. Die Anwender von Alltagsapplikationen spüren dagegen wenig bis nichts von einer Leistungssteigerung.


Die 64-Bit-CPUs von AMD und Intel bieten neben dem grösseren Adressraum einen hardware­basierten Schutzmechanismus, das Data Execution Prevention Bit (DEP). Das Feature ist auf den beiden Plattformen leicht unterschiedlich realisiert, hat aber die gleiche Funktion: Mit dem DEP-Bit lässt sich bestimmen, in welchen Speicherbereichen überhaupt Programmcode ausgeführt werden kann. Wenn das Betriebssystem DEP unterstützt und die Code-Ausführung ausschliesslich für Adressen freigibt, die von Rechts wegen wirklich Code enthalten, lassen sich damit Buffer-Overflow-Exploits vermeiden.


Kompatibilität: Ja, aber…

Windows XP x64 und Windows Server 2003 x64 ermöglichen neben nativen 64-Bit-Anwendungen den parallelen Betrieb von herkömmlichen 32-Bit-Applika­tionen ohne Änderung. Dazu enthält das Betriebssystem einen Mechanismus namens WOW64 (Windows on Windows 64-Bit), der jeder 32-Bit-Anwendung eine eigene, geschützte Umgebung zur Verfügung stellt. Eine merkliche Geschwindigkeitseinbusse ist dabei nicht zu befürchten, da es sich nicht um eine softwarebasierte Emulation handelt: WOW64 schleust die 32-Bit-Instruktionen ohne Übersetzung direkt an den x64-Prozessor durch, der sie in seinem 32-Bit-Kompatibilitätsmodus mit vollem Speed abarbeitet. Der Verwaltungsaufwand von WOW64 ist vernachlässigbar. Tests zeigen durchgängig, dass praktisch keine 32-Bit-Anwendung unter 64-Bit langsamer läuft. Die meisten Programme arbeiten mehr oder weniger mit der gleichen Leistung wie bisher, einige sogar besser.




Keine Chance hat dagegen Software, die eigentlich schon unter Windows XP nichts mehr zu suchen hatte: 16-Bit-Anwendungen von Windows 3.1 oder gar DOS-Programmen verweigert WOW64 die Gunst. Davon betroffen sind auch einige 32-Bit-Pakete, die mit einem 16-Bit-Installer ausgeliefert werden: Sie lassen sich auf dem 64-Bit-Betriebs­system zwar betreiben, aber nicht installieren. Hier hilft eine Dual-Boot-Konfiguration – mit einem älteren OS aufstarten, Programm in einem geeigneten Verzeichnis installieren und ins 64-Bit-OS rebooten. Für manche Anwender mag hingegen die Installation einer Virtualisierungssoftware bequemer sein. VMWare Workstation zum Beispiel läuft auf Windows x64 und unterstützt als Guest-OS sogar DOS.


32-Bit-Treiber unerwünscht

Probleme machen auch Anwendungen, die auf einen eigenen Kernel-Mode-Treiber angewiesen sind. Solche Software muss für x64 umgeschrieben werden: Treiber laufen unter Windows x64 ausschliesslich im Kernel-Modus des eigentlichen OS und nicht in der WOW64-Umgebung. Windows XP X64 unterstützt aber keine 32-Bit-Treiber; die bisherigen Treiber müssen somit allesamt neu programmiert werden. Betroffen sind zum Beispiel Virenschutzprogramme – beim Launch von Windows XP x64 lief überhaupt keines, heute offerieren immerhin einige Hersteller x64-kompatible Versionen, darunter Symantec und McAfee.



Auch Disk-Management-Utilities sind betroffen. Defragmentierung ist das geringste Problem; O&O offeriert eine 64-Bit-Version seines Defrag-Tools. Eine Partitionierungssoftware für Windows x64 sucht man dagegen vergebens. Es empfiehlt sich deshalb, die dringend zu empfehlende Partitionierung der Harddisk vor der 64-Bit-Installation noch unter einem 32-Bit-OS vorzunehmen.




Darüber hinaus trifft man beim Betrieb von 32-Bit-Software auf 64-Bit-Systemen des öfteren Merkwürdigkeiten an. Mit Acrobat 7 lassen sich PDF-Dateien betrachten, aber der PDF-Printer, auf dem auch die PDF-Ausgabe von Office beruht, steht nicht zur Verfügung – es handelt sich um einen 32-Bit-Druckertreiber. Adobe empfiehlt, stattdessen PostScript-Files zu erzeugen und diese mit dem Distiller in PDFs umzuwandeln.
Die PDF-Anzeige im Browser funktioniert im übrigen nur in der 32-Bit-, nicht aber in der ebenfalls im Systemumfang enthaltenen 64-Bit-Variante von Internet Explorer.
Kurios auch Outlook Express, das zwar in einer 64-Bit-Version mitgeliefert wird, für die Rechtschreibeprüfung aber auf die entsprechende Office-DLL zurückgreift. Diese gibt es aber wie das gesamte Office nur als 32-Bit-Variante. Ein 64-Bit-Programm kann jedoch nicht auf eine 32-Bit-DLL zugreifen. Fazit: Outlook Express läuft unter Windows x64 zwar als natives 64-Bit-Programm, bietet aber keinen Spellchecker.



Die Architektur von Windows XP Pro x64


Software für die 64-Bit-Ära

Die Palette mit nativer 64-Bit-Software für die Industriestandard-Plattform ist erst am Entstehen. Die bereits verfügbaren Produkte zeigen deutlich, wofür sich eine 64-Bit-Umgebung derzeit vornehmlich eignet: Anwendungen mit grossem Datenvolumen, die in einer 32-Bit-Umgebung an ihre Grenzen stossen. Dies gilt sowohl für Infrastruktursoftware als auch für daten- und rechenintensive Desktop-Applikationen. Am meisten Nutzen bringt 64 Bit vorerst aber auf der Serverseite:
➤ Am allerwichtigsten ist die Befreiung vom bisherigen Speicherkorsett für Datenbanksysteme. Nicht bloss bei Grösstkunden haben die Datenbestände in den letzten Jahren enorme Volumina erreicht, auch in vielen KMU fallen heute in wenigen Monaten terabyteweise neue Daten an. Mit einer 64-Bit-Umgebung auf Windows- oder Linux-Basis lässt sich die bisherige 32-Bit-Infrastruktur nahtlos umstellen oder eine in die Jahre gekommene 64-Bit-Unix-Installation ersetzen. Alle namhaften Datenbankhersteller bieten denn auch bereits sowohl 64-Bit-Linux- als auch Windows-x64-konforme Produktvarianten an.



Die Open-Source-Datenbanken mySQL und PostgreSQL gibt es dagegen auf der Windows-Seite nicht für 64-Bit.
++ Die eigentliche Killer-Applikation für 64-Bit-Server ist Business Intelligence. Mit der Möglichkeit, grosse Datenbestände im Hauptspeicher zu halten statt dem Zwang, ständig neue OLAP-Cubes direkt ab Datenbank zu erstellen, steigt die Performance der analytischen Anwendungen deutlich. Dem Data Warehouse wiederum nützt die bessere Leistung der zugrundeliegenden Datenbanken. Von den drei BI-Grössen bieten Hyperion und SAS ihre Plattformen für alle denkbaren 64-Bit-Linuxe und Unixe an, eine 64-Bit-Windows-Version ist bei beiden Herstellern jedoch nur für Itanium erhältlich. Bei Cognos hingegen heisst es lapidar: «Alle Cognos-Produkte sind 32-Bit-Produkte», was laut Website sogar für die Itanium-Variante unter HP-UX gilt.




++ Eine wichtige Basis für BI- und andere Enterprise-Anwendungen sind Applikationsserver. Auch in dieser Kategorie haben die wichtigsten Hersteller 64-Bit-Versionen für Linux, Unix und Windows im Programm. Nur bei Sun ist verständlicherweise keine Windows-Ausgabe erhältlich. Bei Bea und IBM läuft die Windows-Variante nur unter Windows Server 2003 x64. Als Basis für die Appserver dient jeweils eine Java-Runtime-Umgebung: Während Java 1.4.x unter Windows nur als 32-Bit-Version zu haben ist, gibt es das neuere Java 5.x auch für 64-Bit-Windows.
++ Auch Terminal Services ziehen aus einer 64-Bit-Umgebung erheblichen Nutzen, besonders wenn zahlreiche Clients bedient werden sollen. Neben dem integrierten Terminaldienst von Windows Server bietet sich auch die neueste Version 4 des Citrix Presentation Server als Plattform unter 64-Bit-Windows an.
++ Die meiste generelle Business-Software lebt noch voll und ganz in der 32-Bit-Welt. Dies gilt für die KMU-Pakete der lokalen Hersteller, aber etwa auch für Microsofts ERP-Produkt Dynamics NAV. Das zweite Microsoft-ERP Dynamics AX dagegen ist bereits auf x64-Windows zugeschnitten, ebenso die Enterprise-Produkte mySAP und NetWeaver des ERP-Marktführers SAP.


64 Bit für den Desktop

Für Desktop-Anwendungen sind die 64-Bit-Vorteile weniger klar ersichtlich, wenn auch genau gleich begründbar wie auf der Serverseite: Wer riesige Daten mengen bearbeitet, hat am meisten davon. Auf die Mehrzahl der Office-Anwender trifft dies nicht zu – ein 64-Bit-OS macht derzeit auf einem Bürorechner wenig Sinn.



Multimedial engagierte Anwender dürfen da schon mehr Interesse zeigen. Neben den traditionell leistungsgeilen Gamern – einzelne Spiele wie Unreal Tournament sind bereits auf 64 Bit umgemünzt – geht es hier vor allem um diejenigen Profis, die Multimedia-Inhalte erstellen. Je nach Bereich sind 64-Bit-Produkte unterschiedlich verfügbar: Softwarelösungen wie 3D-Animationspaktete liegen grösstenteils bereits als 64-Bit-Versionen vor. Beispiele sind Maya, Cinema4D, 3DS Max und Lightwave. Wo Spezialhardware involviert ist und damit neue Treiber erstellt werden müssen, sieht es weniger gut aus: Praktisch sämtliche Musikproduk­tionslösungen, zum Beispiel die Protools von Digidesign oder Cubase SX von Steinberg, gibt es nach wie vor nur als 32-Bit-Versionen, obwohl ein guter Teil der MIDI- und Audiointerfaces am Markt bereits mit 64-Bit-Treibern ausgerüstet ist. Eine Ausnahme ist das rein softwarebasierte virtuelle Musikstudio Sonar von Cakewalk, das Microsoft als Musterbeispiel für x64-Applikationen positioniert. Auch für die Videoproduktion wäre 64-Bit-Verarbeitung hochinteressant – aber auch hier sind Hersteller wie Avid bisher nicht auf die x64-Schiene aufgesprungen.




Die verbreitete Kreativ-Produktpalette von Adobe verbleibt vorerst ebenfalls im 32-Bit-Kontinuum. Photoshop zum Beispiel läuft zwar tadellos unter WOW64 und lastet im Verbund mit den installierten Plug-ins die vier Gigabyte seines Adressraums optimal aus. Stehen mehr als 4 GB zur Verfügung, kann das Betriebssystem den Rest des freien Arbeitsspeichers als Cache für die Photoshop-Scratchdisk nutzen. Eine 64-Bit-Applikation ist Photoshop deswegen aber nicht – darauf muss man vermutlich mindestens bis zum Release der Creative Suite 3 warten.
Software-Entwickler gehören naturgemäss zu den ersten Anwendern neuer Technologien. Die Windows-IDE, Visual Studio 2005, bietet Unterstützung für die Entwicklung auf der und für die x64-Plattform. Das .Net-Framework ist dagegen erst ab Version 2.0 x64-konform; .Net 1.1 gibt es nur für 32-Bit-Systeme.
In der Unix/Linux/Java-Welt ist Eclipse die verbreitetste Entwicklungsumgebung; die meisten Komponenten sind für Unix-artige Systeme auch in 64-Bit-Version verfügbar. Den Eclipse SDK 3.2 gibt es sogar in einer «Early Access»-Ausgabe für Windows x64.


64-Bit-Treiber: Nicht am Ziel, aber auf gutem Weg

Die 64-Bit-Ausgaben von Windows verlangen zwingend nach 64-Bit-Treibern, und zwar für sämtliche intern und extern angeschlossenen Geräte vom Floppy-Controller bis zum USB-Fernsehtuner. Auch die allerneuesten 32-Bit-Treiber von Windows XP funktionieren in einer 64-Bit-Umgebung nicht.
Beim Release des x64-OS im Frühling 2005 gab es für die Anwender deshalb einigen Grund zur Klage: Zwar lieferte Microsoft das neue System mit zehntausenden von Geätetreibern aus, damit war aber die nachgerade unendliche Vielfalt der am Markt existierenden Devices längst nicht abgedeckt. Ältere Peripherie und Geräte für Spezialzwecke waren ebenso betroffen wie Motherboards mit selten eingesetzten Komponenten – und dies gilt weitgehend auch heute: Die meisten Hersteller solcher Produkte werden kaum Ressourcen einsetzen, um einen fünf Jahre alten Scanner 64-Bit-fähig zu machen, sondern ihre Anstrengungen auf die aktuelle Produktepalette konzentrieren.



In der Microsoft-Auswahl fehlen ausserdem einige essentielle Bereiche. Support für SATA-RAIDs ist auf den ausgelieferten x64-Medien zum Beispiel nicht enthalten, so dass sich das Betriebssystem auf solchen Konfigurationen nicht ohne Griff in die Trickkiste installieren lässt: Die nötigen Treiber müssen vom Hersteller bezogen und auf einer Diskette bereitgestellt werden, die dann im Lauf der Installation eingelesen wird. Pech haben Anwender mit PCs ohne Diskettenlaufwerk.
Im Gesamten hat sich die Treiberproblematik im Lauf der letzten 14 Monate deutlich entspannt. Für die gängigen Grafik- und Soundkarten, Mäuse und Tastaturen sind 64-Bit-Treiber erhältlich. Schlechter sieht es bei Multimedia-Geräten wie Webcams und TV-Tunerkarten aus. Bei Hauppauge gibt es beispielsweise nur für den WinTV PVR 150/500 einen 64-Bit-Treiber im Betastadium, alle anderen Karten und Boxen sind nicht unterstützt. Logitech bietet den Setpoint-Treiber für Mäuse und Tastaturen in Ver­sion 3.01 auch als x64-Variante an, die Webcams der Quickcam-Serie dagegen laufen nur auf 32-Bit-Sy­stemen.




Besonders schlecht sind nach wie vor Scanner und damit auch Multifunktionsdrucker gestellt. Die Hersteller werfen in rascher Folge immer wieder neue Geräte auf den Markt – für viele Multifunktionsgeräte, die statt PostScript oder PCL auf die Druckdatenverarbeitung im PC selbst setzen, dürfte es deshalb überhaupt nie einen 64-Bit-Treiber geben.
Ein weiterer kritischer Bereich: Per USB angeschlossene Netzwerkgeräte wie Kabel- und DSL-Modems sowie WLAN-Karten zum nachträglichen Einbau. Während integrierte WLAN-Adapter (Centrino) gut unterstützt sind, findet sich für PC- und PCI-Karten häufig kein 64-Bit-Treiber – auch hier ist in manchen Fällen zweifelhaft, ob es je einen geben wird.
Mit der Einführung von Windows Vista wird sich die 64-Bit-Treiberproblematik sprunghaft verbessern: Damit ein Produkt sich mit dem Logo «Designed for Windows
Vista» schmücken darf, muss es auch unter der 64-Bit-Version von Vista arbeiten. Für die Hersteller ist dies ein starker Ansporn, entsprechende Treiber zu programmieren.



64-Bit-Software im Überblick

(ubi)


Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Was für Schuhe trug der gestiefelte Kater?
GOLD SPONSOREN
SPONSOREN & PARTNER