Vorige week heb ik in mijn blog gekeken naar de prestaties van verschillende (server)processors in SPECfp_2006, een test van rauwe cpu-prestaties en doorvoer, voornamelijk gebaseerd op wetenschappelijke simulaties die zwaar leunen op floating point-getallen. Vandaag ga ik kijken naar de broer van deze test, SPECint_2006. Deze is op een heel ander soort software gebaseerd, zoals (video)compressie, compilers, kunstmatige intelligentie, spellen en xml-verwerking, stuk voor stuk applicaties waarin de nadruk ligt op integers. Kenmerkend voor SPECint is dat de code ook veel meer vertakkingen heeft dan SPECfp, zoals if-else constructies. Hierdoor komt de nadruk iets meer te liggen op de intelligentie van de processor en compiler, in plaats van op 'domme' rekenkracht. In sommige gevallen kan dat voor grote verschillen in relatieve prestaties zorgen.
Net als SPECfp kent SPECint eigenlijk twee scores: base en peak. Bij de eerste worden alle subtests met dezelfde instellingen gecompileerd, terwijl bij de tweede voor iedere benchmark opnieuw getweakt mag worden. De discussie over wat nou het meest realistisch is woedt na jaren nog steeds hevig door. Voorstanders van peak vinden dat bijna alles aan de kant van de software geoorloofd is om de hardware in het beste licht te laten zien.
Tegenstanders redeneren echter dat ontwikkelaars in de praktijk zelden de moeite doen om reeksen van tientallen exotische parameters te proberen, alleen maar om de laatste paar procent extra prestaties weg te slepen. Bovendien beweren boze tongen dat sommige opties in compilers er alleen maar voor deze test zijn ingebouwd. Het is 'illegaal' om een compiler te gebruiken die specifieke SPEC-code probeert te herkennen (op straffe van verwijdering uit de database), maar is het niet onmogelijk om de regels te buigen. In dit blog gebruik ik peakscores, zodat niemand zich benadeeld kan voelen en omdat ik later toch nog een aantal andere benchmarks ga behandelen die niet van compilers afhankelijk zijn.
Laten we weer eens beginnen met de singlethreadprestaties. Net als in SPECfp staat de Power6 hier bovenaan de lijst, maar het verschil met Intels Xeon is eigenlijk te verwaarlozen. Gegeven het feit dat de chip van IBM met gemak twee keer zoveel stroom verbruikt, veel hoger geklokt is en hele sloten extra cache en bandbreedte tot zijn beschikking heeft, kunnen we de Xeon eigenlijk wel de morele overwinnaar noemen van deze fotofinish. Ten opzichte van de Opteron heeft de Core-
SPECint2006 (singlethread) | ||||
---|---|---|---|---|
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
Intel | Xeon 5160 | dual | 3,0GHz | ![]() ![]() ![]() |
AMD | Opteron 2222 | dual | 3,0GHz | ![]() ![]() ![]() |
Intel | Itanium 9050 | dual | 1,6GHz | ![]() ![]() ![]() |
IBM | Power5+ | dual | 2,2GHz | ![]() ![]() ![]() |
Intel | Pentium 4 EE | dual | 3,73GHz | ![]() ![]() ![]() |
Fujitsu | Sparc64 VI | dual | 2,4GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
SPECint2006 (singlethread) - score per GHz | ||||
---|---|---|---|---|
Intel | Itanium 9050 | dual | 1,6GHz | ![]() ![]() ![]() |
Intel | Xeon 5160 | dual | 3,0GHz | ![]() ![]() ![]() |
IBM | Power5+ | dual | 2,2GHz | ![]() ![]() ![]() |
AMD | Opteron 2222 | dual | 3,0GHz | ![]() ![]() ![]() |
Fujitsu | Sparc64 VI | dual | 2,4GHz | ![]() ![]() ![]() |
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
Intel | Pentium 4 EE | dual | 3,73GHz | ![]() ![]() ![]() |
Dual socket
Scores met twee sockets (vier of acht threads) zijn vaak belangrijker voor servers dan prestaties met een thread, dus dat wordt het volgende waar ik naar ga kijken. IBM staat weer bovenaan, maar dat was niet meer dan verwacht. Opvallend is dat de Xeon het in deze test een stuk beter doet dan in SPECfp_rate. Vorige week werd namelijk duidelijk dat Intel die test alleen maar kon winnen van AMD omdat het als enige van de twee een quadcore in de aanbieding heeft. In deze test is daar geen sprake van: de dualcore Woodcrest neemt al een kleine voorsprong op de Opteron, waarna de quadcore Clovertown kans ziet om het gat wijd open te blazen. Het is duidelijk dat SPECint_rate een stuk minder afhankelijk is van bandbreedte. De Itanium en Xeon MP blijven echter wel nog steeds achter.
SPECint_rate2006 (dual socket) | ||||
---|---|---|---|---|
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
Intel | Xeon X5365 | quad | 3,0GHz | ![]() ![]() ![]() |
Intel | Xeon 5160 | dual | 3,0GHz | ![]() ![]() ![]() |
AMD | Opteron 2222 | dual | 3,0GHz | ![]() ![]() ![]() |
Intel | Itanium 9040 | dual | 1,6GHz | ![]() ![]() ![]() |
IBM | Power5+ | dual | 2,2GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
SPECint_rate2006 (dual socket - score per coreGHz) | ||||
---|---|---|---|---|
Intel | Itanium 9040 | dual | 1,6GHz | ![]() ![]() ![]() |
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
IBM | Power5+ | dual | 2,2GHz | ![]() ![]() ![]() |
Intel | Xeon 5160 | dual | 3,0GHz | ![]() ![]() ![]() |
AMD | Opteron 2222 | dual | 3,0GHz | ![]() ![]() ![]() |
Intel | Xeon X5365 | quad | 3,0GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
Quad socket
Bij vier sockets begint de voorsprong van Power6 echt belachelijke vormen aan te nemen: hij is meer dan 120% sneller dan de eerstvolgende concurrent, de Opteron. Intel doet op dit niveau nauwelijks meer mee, omdat de huidige Xeon MP nog steeds op de Pentium 4 gebaseerd is en bovendien lijdt onder een erg beperkte bandbreedte. Verrassend is dat de Itanium de Opteron nog redelijk goed kan bijhouden, ondanks het feit dat de AMD-chip bijna twee keer zo hoog klokt en gebruikmaakt van geïntegreerde geheugencontrollers. Dit is weer een indicatie dat de Itanium-
SPECint_rate2006 (quad socket) | ||||
---|---|---|---|---|
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
AMD | Opteron 8222 | dual | 3,0GHz | ![]() ![]() ![]() |
Intel | Itanium 9050 | dual | 1,6GHz | ![]() ![]() ![]() |
Fujitsu | Sparc64 VI | dual | 2,15GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
Sun | UltraSparc IV+ | dual | 2,1GHz | ![]() ![]() ![]() |
SPECint_rate2006 (quad socket - score per coreGHz) | ||||
---|---|---|---|---|
Intel | Itanium 9050 | dual | 1,6GHz | ![]() ![]() ![]() |
IBM | Power6 | dual | 4,7GHz | ![]() ![]() ![]() |
Fujitsu | Sparc64 VI | dual | 2,15GHz | ![]() ![]() ![]() |
Sun | UltraSparc IV+ | dual | 2,1GHz | ![]() ![]() ![]() |
AMD | Opteron 8222 | dual | 3,0GHz | ![]() ![]() ![]() |
Intel | Xeon MP 7140M | dual | 3,4GHz | ![]() ![]() ![]() |
Conclusie
We hebben vandaag gezien dat processors zich onder SPECint_2006 heel anders kunnen gedragen dan onder SPECfp_2006. De brute 4,7GHz Power6 laat ook hier zijn kracht gelden door alle eerste posities te bezetten, maar vooral op het gebied van Intel tegen AMD zijn er een aantal interessante verschillen op te merken. Aan beide fronten wint Core het van K8 als het aankomt op de prestaties van een enkele thread. De dualcore Xeon gaat echter kopje onder bij meerdere fp-