TU Wien | ZID | ZIDline 9 | Itanium 2
Egal ob Quantentheorie, Biochemie oder Mikroelektronik, der Bedarf an leistungsfähigen Rechnersystemen ist ungebrochen. Neue Prozessoren wie der Itanium 2 kommen da gerade richtig. Bei all der Rechenleistung stellt sich aber auch die Frage einer objektiven Bewertung derselben.
Die Standard Performance Evaluation Corporation (SPEC) ist eine Non-Profit Organisation mit der Zielsetzung, aussagekräftige Benchmarks für aktuelle Hochleistungsrechner zu erstellen und zu etablieren. Die von den Mitgliedern und Lizenznehmern eingereichten Ergebnisse der Benchmarks werden von der SPEC überprüft und veröffentlicht (www.spec.org).
Zur Bewertung von Rechnersystemen für numerisch intensives Rechnen wird gerne der SPEC CPU2000 herangezogen. Dies ist eine Sammlung von real world Applikationen, die die Leistungsfähigkeit von CPU, Hauptspeicher und Compiler des untersuchten Rechnersystems testen soll.
Der SPEC CPU2000 besteht aus zwei Teilen; SPEC int2000 besteht aus 12 C/C++ Programmen, bei denen die Integer Leistung dominiert, während bei SPECfp2000 die Gleitpunktleistung im Vordergrund steht. Da bei technisch-naturwissenschaftlichen Anwendungen (Modellbildung, Simulation) meistens die Gleitpunktleistung ausschlaggebend ist, wird im Folgenden näher auf den SPECfp2000 eingegangen; die Programme des SPEC fp2000 sind in Tabelle 1 angeführt.
Jedes dieser Programme wird auf dem zu testenden System compiliert und die Laufzeit ermittelt; diese wird in Relation zu einer Referenzlaufzeit gesetzt und aus dem geometrischen Mittel dieser Faktoren wird der SPEC fp2000 Wert berechnet. Als Referenzsystem dient eine Sun Ultra 5/10 (300 MHz), die den Wert 100 erhält. (Ein SPECfp2000 Wert von 1500 bedeutet daher, dass das betreffende System 15 mal schneller arbeitet als das Referenzsystem.)
Dabei gibt es 2 Varianten: bei der Ermittlung des base Wertes müssen Einschränkungen bei der Art und der Anzahl der Compiler-Optionen berücksichtigt werden, während beim peak Wert diese Einschränkungen wegfallen. In diesem Artikel sind immer die peak Werte angeführt.
Benchmark | Sprache | Anwendungsgebiet |
168.wupwise | Fortran 77 | Physik/Quantenchromodynamik |
171.swim | Fortran 77 | Meteorologie/Wasserströmungen |
172.mgrid | Fortran 77 | Multi-grid Gleichungslöser |
173.applu | Fortran 77 | Partielle Differentialgleichungen |
177.mesa | C | 3D Graphik Bibliothek |
178.galgel | Fortran 90 | Strömungsdynamik |
179.art | C | Bilderkennung mit neuralen Netzwerken |
183.equake | C | Ausbreitung von seismischen Wellen |
187.facerec | Fortran 90 | Bildbearbeitung |
188.ammp | C | Atombewegungen in einen Protein-Molekül |
187.facerec | Fortran 90 | Bildbearbeitung |
188.ammp | C | Atombewegungen in einen Protein-Molekül |
189.lucas | Fortran 90 | Zahlentheorie/Primzahltest |
191.fma3d | Fortran 90 | Crash Simulation mit finiten Elementen |
200.sixtrack | Fortran 77 | Partikel in einem Teilchenbeschleuniger |
301.apsi | Fortran 77 | Meteorologie/Schadstoffausbreitung |
Tabelle 1: Die Programme des SPECfp2000
Computer System | Prozessor | OS | SPECint2000 | SPECfp2000 |
HP rx2600 | Itanium 2 1.5 GHz, 6 MB | Redhat AS 2.1 | 1322 | 2119 |
IBM p655 | Power4+ 1.7 GHz | AIX 5.2 | 1103 | 1678 |
Intel D875PBZ | Pentium 4 EE 3.2 GHz | Windows XP | 1620 | 1494 |
AMD | Athlon FX-51 2.2 GHz | Windows XP | 1447 | 1423 |
HP ES45 68 | Alpha 21264C 1.25 GHz | Tru64 | 928 | 1365 |
Intel D875PBZ | Pentium 4 3.2 GHz | Windows XP | 1330 | 1285 |
AMD A4800 | Opteron 144 1.8 GHz | Windows 2003 | 1170 | 1219 |
Sun Blade 2000 | Ultra SPARC III 1.2 GHz | Solaris 9 | 722 | 1118 |
SGI Origin3200 | Mips R14000 600 MHz | IRIX 6.5 | 500 | 529 |
HP rp5470 | PA-8700 750 MHz | HPUX 11i | 549 | 522 |
Tabelle 2: SPEC CPU2000 Werte einiger Rechnersysteme
Der Itanium Prozessor war die erste Generation einer neuen Prozessorarchitektur, die von Hewlett-Packard und Intel gemeinsam entwickelt wurde und von Intel produziert und vermarktet wird.
Die Anfänge der Itanium-Architektur reichenbis ins Jahr 1980, als HP Labs eine Architektur zu entwickeln begann, die die damals von HP angebotenen Computersysteme einander ähnlicher machen sollte. Daraus entstand die so genannte PA-RISC-Architektur, die auf der Mehrzahl der Unix Systeme von HP noch immer im Einsatz ist.
Weil man sich bewusst war, dass die RISC-Architektur irgendwann an ihre Grenzen stoßen würde, initiierte HP Labs Anfang 1989 ein Forschungsprogramm zum Thema Instruction Level Parallelism (ILP) mit dem Ziel, die Architektur des Very Long Instruction Word (VLIW) auf allgemeinere Zwecke und Belange umzulegen. Aus diesem Forschungsprogramm, das bis 1996 lief, gingen die EPIC-Architektur und die entsprechende Compiler-Technologie hervor.
Etwa zur gleichen Zeit, als die Arbeit an ILP begann, startete HP Labs ein eigenes Programm für den Aufbau einer EPIC-Architektur, die PA-RISC ersetzen sollte. 1993 hatte man die PA-WideWord-Architektur entwickelt - die Basis der Zusammenarbeit zwischen HP und Intel und Grundstein der Itanium Prozessor Spezifikation (ursprünglich IA-64 genannt).
Itanium wurde als parallele Hochleistungsarchitektur entwickelt, die mehr Befehle in einem Takt ausführt als die Vorgängerarchitekturen. Das ist möglich, weil die Last des Befehls-Schedulings auf den Compiler abgewälzt wird; der Compiler kann zur Compile-Zeit die einzelnen Instruktionen für maximale Parallelität ordnen; zur Laufzeit ist kein Befehls-Scheduling mehr notwendig (und auch nicht möglich).
Die Effizienz Itanium-basierter Systeme hängt ganz wesentlich von der Verfügbarkeit entsprechender Compiler ab. Die erste Generation des Itanium Prozessors konnte unter anderem aus diesem Grund nicht überzeugen.
Die neueste Generation des Itanium 2 Prozessors soll, glaubt man den Aussagen der diversen Anbieter, alles besser und vor allem schneller können.
Die erste Version des Itanium Prozessors konnte mit seiner eher mäßigen Leistung nicht überzeugen. Eine der Ursachen neben dem fehlenden Compiler-Support war die Konzeption des Speichersubsystems, das dazu führte, dass der Prozessor vornehmlich auf den Hauptspeicher warten musste. Mit riesigen on-chip L3 Caches mit bis zu 6 MB versucht Intel beim aktuellen Itanium 2 dieses Manko auszugleichen. Die SPEC CPU2000 Werte belegen den Erfolg dieser Strategie eindrucksvoll. Wie weit diese Leistung auch in anderen Applikationen erreichbar ist, bleibt aber offen. Die Tabelle 2 gibt einen Überblick über die SPEC CPU2000 Werte einiger Computer Systeme.
Die extrem hohen SPEC CPU2000 Werte des Itanium 2 Prozessors beruhen zumindest zu einem Teil auf seinem 6 MB großen Level 3 Cache; einige Programme des SPEC CPU2000 (beispielsweise 179.art) finden im L3 Cache Platz, zeitraubende Zugriffe auf den Hauptspeicher können dadurch minimiert werden. Damit wird aber auch eine Zielsetzung des SPEC CPU2000 unterlaufen: die Leistungsfähigkeit des Hauptspeichers geht in die SPEC CPU2000 Werte kaum mehr ein. Da diese Problematik nicht nur für den Itanium 2 gilt, wird von SPEC bereits seit 2 Jahren an einem Nachfolger gearbeitet, dem SPEC CPU2004.
Tabelle 3 gibt die relativen SPECfp2000 Werte einiger Itanium 2 Konfigurationen wieder.
Prozessor | Itanium 2 | Itanium 2 | Itanium 2 | Itanium 2 | Itanium 2 |
MHz | 900 | 900 | 1000 | 1000 | 1500 |
L3 Cache in MB | 1.5 | 1.5 | 3.0 | 3.0 | 6.0 |
OS | Redhat | Redhat | Redhat | HPUX | Redhat |
Compiler | Intel 7.0 | Intel 7.1 | Intel 7.0 | HP | Intel 7.1 |
168.wupwise | 1.00 | 1.01 | 1.09 | 0.64 | 1.54 |
171.swim | 1.00 | 1.04 | 1.08 | 0.82 | 1.39 |
172.mgrid | 1.00 | 1.00 | 1.10 | 0.99 | 1.51 |
173.applu | 1.00 | 1.08 | 1.09 | 0.56 | 1.75 |
177.mesa | 1.00 | 1.00 | 1.11 | 1.10 | 1.72 |
178.galgel | 1.00 | 1.18 | 1.75 | 1.77 | 2.87 |
179.art | 1.00 | 1.01 | 2.66 | 1.68 | 3.96 |
183.equake | 1.00 | 1.01 | 1.10 | 0.69 | 1.72 |
187.facerec | 1.00 | 1.07 | 1.19 | 0.76 | 1.89 |
188.ammp | 1.00 | 1.01 | 1.38 | 1.46 | 2.15 |
189.lucas | 1.00 | 1.13 | 1.09 | 1.00 | 1.49 |
191.fma3d | 1.00 | 1.04 | 1.08 | 0.85 | 1.51 |
200.sixtrack | 1.00 | 1.01 | 1.17 | 1.21 | 1.81 |
301.apsi | 1.00 | 1.02 | 1.10 | 1.76 | 1.63 |
SPECfp2000 | 1.00 | 1.04 | 1.23 | 1.13 | 1.84 |
Tabelle 3: SPECfp2000 Werte relativ zu Itanium 2 (900 MHz)
Bemerkenswert sind die Unterschiede in den Resultaten zwischen Linux/Intel und HPUX bei identer Hardware. Die beiden Compiler haben offenbar jeweils ihre Schwächen; ein Teil der Leistungsfähigkeit des Itanium 2 wird derzeit nicht ausgenutzt.
Der SPEC CPU2000 ist ein allgemein anerkannter Benchmark und die Hersteller zitieren gerne (die für sie günstigen) Resultate. Sie sollten aber nicht überbewertet werden; es gibt genügend Applikationen, deren Laufzeitverhalten auf den einzelnen Systemen nicht mit den SPEC CPU2000 Werten korrelieren. Eine Kaufentscheidung nur aufgrund eines beeindruckenden Benchmark-Wertes zu treffen, könnte mit unliebsamen Überraschungen enden.
In der Tabelle 4 sind die SPECfp2000 Werte detailliert dargestellt; der Wert des jeweils besten Systems ist hervorgehoben. Obwohl die HP rx2600 mit dem Itanium 2 Prozessor mit Abstand den besten SPECfp2000 Wert vorweisen kann, wird sie bei der Hälfte der Benchmark-Programme von anderen Systemen (zum Teil deutlich) übertroffen. Ein extremes Beispiel ist das Programm 179.art, bei dem ein Sun Blade2000 System fast doppelt so schnell ist wie die HP rx2600, wobei die rx2600 wiederum ein Mehrfaches schneller ist als die restliche Konkurrenz.
System: | HP rx2600 | Intel | Intel | AMD | IBM p655 | Blade2000 |
Prozessor: | Itanium 2 | Pentium 4 | Pent. 4EE | Athl. FX-51 | Power4+ | US III |
Taktrate: | 1.5 GHz | 3.2 GHz | 3.2 GHz | 2.2 GHz | 1.7 GHz | 1.2 GHz |
168.wupwise | 1466 | 1755 | 1745 | 1590 | 2135 | 959 |
171.swim | 4136 | 1882 | 1914 | 2220 | 2423 | 2659 |
172.mgrid | 2503 | 1238 | 1323 | 1216 | 1214 | 706 |
173.applu | 3469 | 1289 | 1318 | 1202 | 1448 | 956 |
177.mesa | 1126 | 1324 | 1323 | 1579 | 1024 | 735 |
178.galgel | 4225 | 1860 | 2606 | 2291 | 4697 | 2374 |
179.art | 6514 | 925 | 2374 | 1739 | 2304 | 11077 |
183.equake | 2982 | 1625 | 1653 | 1352 | 2644 | 1616 |
187.facerec | 1925 | 1661 | 1769 | 1633 | 1966 | 1179 |
188.ammp | 1413 | 773 | 1266 | 1353 | 1022 | 651 |
189.lucas | 1774 | 1578 | 1611 | 1459 | 2005 | 716 |
191.fma3d | 1091 | 1312 | 1330 | 1315 | 1315 | 547 |
200.sixtrack | 1402 | 594 | 606 | 601 | 741 | 454 |
301.apsi | 1024 | 890 | 1205 | 1249 | 1341 | 648 |
SPECfp2000 | 2119 | 1267 | 1494 | 1423 | 1678 | 1118 |
Tabelle 4: SPECfp2000 Werte einiger Rechnersysteme
Der Pentium 4EE Prozessor hat im Gegensatz zum Pentium 4 Prozessor zusätzlich einen on-chip L3 Cache von 2 MB, der einige Benchmark-Programme (beispielsweise 179.art) deutlich beschleunigt. Die IBM p655 profitiert beim SPECfp2000 enorm vom 128 MB großen L3 Cache, den sich im Normalbetrieb 8 Prozessoren teilen müssen; gibt es allerdings nur einen aktiven Prozess, so kann dieser den ganzen L3 Cache für sich allein nutzen. Programme wie 189.facerec (mit einem Hauptspeicherbedarf von etwa 16 MB) profitieren davon sehr deutlich.
Benchmark-Programme wie der SPECfp2000 zeigen, wie gut (oder schlecht) ein Rechnersystem für die im Benchmark vertretenen Programme geeignet ist. Die einzelnen Applikationen haben teilweise deutlich unterschiedliche Anforderungen an die Rechnersysteme; einzelne Werte wie ein SPECfp2000 können die Leistungsfähigkeit eines Computersystems immer nur sehr vereinfacht und nur unter den zugrunde liegenden Annahmen des jeweiligen Benchmarks darstellen. Bei der Auswahl eines geeigneten Rechnersystems für eine bestimmte Applikation können Benchmark-Werte hilfreich sein; als alleinige Entscheidungsgrundlage sind sie nur selten geeignet.
SPECint2000 und SPECfp2000 sind nur zur Bewertung der Einzel-Prozessor-Leistung geeignet; für die Bewertung der Durchsatz-Leistung von Mehr-Prozessor-Systemen werden der SPECint_rate2000 und der SPEC fp_rate2000 (jeweils wieder als base und peak Varianten) herangezogen. Bei der Durchsatzmessung werden auf einem n-Prozessor System genau n Kopien des jeweiligen Benchmark-Programmes gestartet und deren Laufzeit gemessen. Die Laufzeiten der einzelnen Benchmark-Programme werden in Relation zu denen des Referenzsystems (Sun Ultra 5/10) gesetzt und gemittelt. Bei einem System, das optimal skaliert, führt eine Verdoppelung der Anzahl der Prozessoren zu einer Verdoppelung des SPECint_rate2000 bzw. SPECfp_rate2000 Wertes (oder anders ausgedrückt: die Laufzeit der Benchmark-Programme ist unabhängig von der Anzahl der Prozessoren).
Die SPECfp_rate2000 Werte in Tabelle 5 stammen von einer HP rx5670, die mit ein bis vier Itanium 2 Prozessoren (1.5 GHz) bestückt sein kann.
Laufzeit [s] | Faktor | |||||
Anzahl CPUs: |
1 | 2 | 4 | 1 | 2 | 4 |
168.wupwise |
112.0 | 120.0 | 129.0 | 1.00 | 1.07 | 1.15 |
171.swim |
73.8 | 135.0 | 273.0 | 1.00 | 1.83 | 3.70 |
172.mgrid |
71.8 | 117.0 | 225.0 | 1.00 | 1.63 | 3.13 |
173.applu |
61.7 | 66.1 | 101.0 | 1.00 | 1.07 | 1.64 |
177.mesa |
122.0 | 122.0 | 122.0 | 1.00 | 1.00 | 1.00 |
178.galgel |
68.3 | 68.4 | 69.0 | 1.00 | 1.00 | 1.01 |
179.art |
39.0 | 39.7 | 39.7 | 1.00 | 1.02 | 1.02 |
183.equake |
44.6 | 57.9 | 108.0 | 1.00 | 1.30 | 2.42 |
187.facerec |
97.0 | 106.0 | 124.0 | 1.00 | 1.09 | 1.28 |
188.ammp |
155.0 | 155.0 | 156.0 | 1.00 | 1.00 | 1.01 |
189.lucas |
114.0 | 148.0 | 266.0 | 1.00 | 1.30 | 2.33 |
191.fma3d |
199.0 | 210.0 | 251.0 | 1.00 | 1.06 | 1.26 |
200.sixtrack |
80.0 | 80.0 | 80.4 | 1.00 | 1.00 | 1.01 |
301.apsi |
260.0 | 263.0 | 285.0 | 1.00 | 1.01 | 1.10 |
SPECfp_rate2000: |
24.5 | 42.6 | 66.4 |
Tabelle 5: Absolute und relative Laufzeiten des SPECfp_rate2000 auf einem HP rx5670
Das Benchmark-Programm 171.swim hat hohe Anforderungen an die Speicherbandbreite des betreffenden Systems. Bei der HP rx5670 verbraucht bereits eine einzige Instanz dieses Programmes einen Großteil der verfügbaren Speicherbandbreite, sodass bei zwei Prozessoren die Laufzeit um den Faktor 1.83, und bei vier Prozessoren die Laufzeit um den Faktor 3.7 ansteigt. Viele Anwendungen im technisch-naturwissenschaftlichen Bereich haben ähnliche Anforderungen, beispielsweise das an der TU Wien entwickelte Programmpaket WIEN. Für derartige Applikationen scheint dieses System nicht geeignet zu sein. (In diesen Fall hätte ein 4-Prozessor System nur eine marginal bessere Durchsatzleistung als das entsprechende System mit nur einem Prozessor.) Bei Applikationen, die vollständig im Cache ablaufen (wie 179.art) oder nur selten Zugriffe auf den Hauptspeicher benötigen, mag eine Konfiguration dieses Systems mit vier Prozessoren sinnvoll sein (sofern man gewillt ist, den Preis von mehr als 100 000 Euro in Kauf zu nehmen).
WIEN ist ein umfangreiches Programmsystem aus dem Bereich der theoretischen Chemie zur Berechnung von elektronischen Eigenschaften von Festkörpern nach der FP-LAPW Methode (siehe Blaha et al. [1]), mit dem sehr genaue Lösungen der Gleichungen der Dichtefunktionaltheorie berechnet werden können.
LAPW1 ist Teil von WIEN und beinhaltet der Lösung eines verallgemeinerten Eigenwertproblems, wodurch dieses Programm nicht nur sehr rechenintensiv ist, sondern auch hohe Anforderungen an die Speicherbandbreite des Rechnersystems stellt. Die Laufzeiten für einen konkreten Datensatz sind in Tabelle 6 zusammengefasst.
Die numerisch intensiven Berechnungen sind in die BLAS Bibliothek ausgelagert. Dies ist eine Sammlung grundlegender mathematischer Operationen (beispielsweise Multiplikation zweier Matrizen). Für eine optimale Laufzeit ist in der Regel die Verwendung hoch optimierter BLAS Bibliotheken anzuraten. Die MKL (Math Kernel Library) von Intel ist eine derartige Bibliothek. Ist für ein bestimmtes Computersystem keine vom Hersteller optimierte BLAS Bibliothek vorhanden, steht über NETLIB (www.netlib.org) eine portable, aber im Allgemeinen nicht sehr effiziente Fortran 77 Referenzimplementierung zur Verfügung.
Auf dem Pentium 4 System bringt die Verwendung der MKL von Intel deutliche Vorteile gegenüber der Fortran 77 Referenzimplementierung. Die neueren Versionen des Intel Compilers und der MKL bringen nur noch geringfügige Verbesserungen.
Ein völlig anderes Bild bietet das Itanium 2 System; die extremen Laufzeitunterschiede zwischen den beiden Versionen der MKL belegen den teilweise fehlenden Support bei der Einführung des Itanium 2 Prozessors. Die Laufzeiten unter HPUX belegen, dass auch weiterhin noch Verbesserungen der Intel Compiler möglich sein sollten.
Rechnersystem | Prozessor | Betriebssystem | Compiler | BLAS | Laufzeit |
HP rx2600 | Itanium 2 900 MHz | Redhat AS 2.1 | Intel 7.0 | MKL 5.2 | 3213 |
Redhat AS 2.1 | Intel 7.0 | Netlib | 1402 | ||
Redhat AS 2.1 | Intel 7.1 | MKL 6.0 | 257 | ||
HPUX 11i | HP | MLIB | 225 | ||
PC, ASUS P4T533 | Pentium 4 2.8 GHz | Redhat 8.0 | Intel 7.0 | MKL 5.2 | 210 |
Redhat 8.0 | Intel 7.1 | MKL 6.0 | 194 | ||
Redhat 8.0 | Intel 7.1 | Netlib | 577 |
Tabelle 6: Laufzeiten von LAPW1 in Abhängigkeit von Betriebssystem und Compiler
Bei Einführung des Itanium Prozessors war de facto keine Applikations-Software für diese Plattform erhältlich. Mittlerweile gibt es von vielen Anbietern auch Versionen für Itanium-basierte Systeme (sowohl unter HPUX als auch unter 64-Bit Linux).
Für Applikationen aus dem Bereich der Strömungsdynamik und Finite Elemente ist am ZID ein eigener Server eingerichtet (www.zserv.tuwien.ac.at/sc). Die Hardware besteht aus 10 Compaq ES45 Systemen mit jeweils 4 Alpha 21264C Prozessoren mit 1 GHz. Als Vergleichssystem diente eine HP rx2600 mit zwei Itanium 2 Prozessoren mit 900 MHz.
Laufzeit [s] | |||
Produkt |
Testfall |
ES45 | rx2600 |
Fluent |
big |
927 | 1188 |
small |
149 | 186 | |
Ansys |
big |
10980 | 13470 |
small |
820 | 1230 | |
Cfx5 |
big |
36112 | 46250 |
small |
472 | 544 |
Tabelle 7: Laufzeiten einiger CFD Applikationen
Beide Systeme sind mit nicht mehr ganz aktuellen Prozessoren ausgestattet. Bei allen drei Applikation ist der Alpha Prozessor um etwa 20 - 40 % schneller als der Itanium 2 Prozessor. Ein Vergleich der derzeit jeweils leistungsfähigsten verfügbaren Prozessoren würde wahrscheinlich zu Gunsten des Itanium 2 Prozessors ausgehen.
Der Itanium 2 ist ein sehr leistungsfähiger Prozessor, der überall dort seine Berechtigung findet, wo man mit den Beschränkungen der IA32 Architektur nicht leben kann oder will. Im Bereich großer SMP Systeme beginnen Itanium-basierte System den etablierten Serversystemen Konkurrenz zu machen: HP bietet mit der Superdome Systeme mit bis zu 64 Prozessoren; SGI bietet mit der Altix Systeme mit bis zu 128 Prozessoren (eines davon ist an der Universität Linz installiert). Zudem können mehrere Altix Systeme zu einem Super-Cluster verbunden werden, wobei jeder Prozessor auf den gesamten Hauptspeicher aller beteiligten Systeme zugreifen kann (www.sgi.com/servers/altix).
Die effiziente Portierung einer Applikation auf die Itanium 2 Plattform kann sehr zeitaufwendig sein, speziell wenn es sich um C/C++ Code handelt. Intel übernimmt zwar laufend Features vom GNU C Compiler in seine Compiler, unter Linux/gcc entwickelte Applikationen müssen aber in den meisten Fällen für die Verwendung der Intel Compiler adaptiert werden. Auf Itanium Systemen sind die Intel Compiler aus Gründen der Effizienz dem GNU C Compiler vorzuziehen; auf IA32 Systemen sind die beiden Compiler mittlerweile etwa gleichwertig.
Wenn die Beschränkungen der IA32 Architektur (Adressraum mit 4 GB limitiert) nicht zum Tragen kommen, bieten IA32 Systeme ein deutlich besseres Preis/Leistungsverhältnis. (Für den high-end Itanium 2 Prozessor mit 1.5 GHz und 6 MB Level 3 Cache sind ca. 10 000 Euro Listenpreis zu kalkulieren.) Und mit den Opteron bzw. Athlon64 Prozessoren ist durch deren Kompatibilität mit der IA32 Architektur zudem ein wesentlich sanfterer Einstieg in die 64-Bit Welt möglich.
Am ZID wurde ein Evaluierungsserver für den Itanium 2 Prozessor eingerichtet; weitere Informationen findet man unter www.zid.tuwien.ac.at/zserv/systeme/titan.html.
Literatur
[1]P. Blaha, K. Schwarz, P. Sorantin, S. B. Trickey: Full-Potential, Linearized Augmented Plane Wave Programs for Crystalline Systems. Comp. Phys. Commun. 59 (1990), pp. 399-415.