Inleiding
Het AMD Opteron-platform maakte tijdens zijn lancering in april 2003 een behoorlijk sterke indruk in vergelijking met de dual processor Xeon van Intel. Op een kloksnelheid van 1,8GHz versloeg het toenmalige topmodel in veel real-world serverbenchmarks zijn op 2,8GHz geklokte rivaal van Intel. Vanzelfsprekend hebben beide fabrikanten sindsdien niet stil gezeten. Om de Xeon DP competitiever te maken schroefde Intel een L3 cache van 1MB op zijn midrange serverprocessors en werd de kloksnelheid verhoogd naar 3,2GHz. Op zijn beurt introduceerde AMD snellere Opteron 246 en 248-modellen met een kloksnelheid van respectievelijk 2,0GHz en 2,2GHz.
In dit artikel laten we zien hoe de nieuwste dual processor serverplatformen van Intel en AMD zich tot elkaar verhouden. Verder vind je in deze review benchmarks van AMD's Quartet, een vierkoppige Opteron-hydra met maximaal 8,8GHz (vier keer 2,2GHz) aan processor power. Helaas konden we niet de beschikking krijgen over een quad Xeon MP-configuratie, maar in de toekomst hopen we onze handen te kunnen leggen op een dergelijke machine. In dit artikel kun je de volgende prestatievergelijkingen verwachten:
- Quad Opteron, dual Opteron en dual Xeon-benchmarks
- ApacheBench vergelijking in 64-bit en 32-bit Linux, NUMA versus non-NUMA
- Datamining MySQL-benchmarks
- Professionele 3DStudio Max rendering
- Korte vergelijking met Apple PowerMac G5 in Cinebench 2003
- Korte vergelijking met de 1,3GHz Itanium 2-processor en de SGI Origin 3800-supercomputer in DIEP-schaaksimulatie
De primaire doelstelling is om te laten zien waartoe deze systemen in staat zijn. Al onze benchmarks zijn gebaseerd op real-world applicaties. De fabrikanten kregen niet de kans om met specifieke hardware-, compiler- en benchmark-optimalisaties de resultaten van de tests te beïnvloeden.
AMD Opteron: een veelbelovend platformAMD’s Athlon MP-platform heeft nooit veel indruk kunnen maken in de servermarkt. De processors waren te kwetsbaar, kregen geen ondersteuning van tier-1 OEMs, en moesten diverse belangrijke RAS (Reliability, Availability en Serviceability) features, zoals een overhittingsbeveiliging en ECC-foutcorrectie op de L1 cache, ontberen. De Opteron heeft geen enkele van deze gebreken.
 |
 | Data protectie | Opteron | Athlon MP | Xeon |  |
 |
 | L1 data cache |  | ECC |  | Parity |  | ECC |  |
 |
 | L2 cache |  | ECC |  | ECC |  | ECC |  |
 |
 | Geheugencontroller |  | ECC + Chipkill |  | N/A |  | ECC + Chipkill |  |
 |
 | Thermische beveiliging | Opteron | Athlon MP | Xeon |  |
 |
 | Heatspreader |  | Ja |  | Nee |  | Ja |  |
 |
 | Shutdown bij overhitting (reactietijd) |  | On-die thermal diode (traag) |  | On-die thermal diode (traag) |  | Clock throttling (snel) |  |
 |
 | Overhittingsbeveiliging |  | Thermtrip (snel) |  | Nee |  | Clock throttling (snel) |  |
 |
Sinds zijn introductie in april 2003 is de Opteron met een gestage opmars bezig. IBM introduceerde halverwege het afgelopen jaar zijn eerste dual Opteron, de eServer 325. Tot op heden positioneert IBM deze machine uitsluitend in de markt voor HPC-oplossingen, maar de eServer 325 zou eenvoudig voor andere doeleinden ingezet kunnen worden. Hoewel de Opteron geen problemen heeft om bestaande 32-bits x86-software te draaien, is het ontbreken van solide ondersteuning en certificatie van serverapplicaties door software- fabrikanten de meest waarschijnlijke reden dat IBM zijn Opteron-servers voorlopig enkel als oplossing voor high performance computing aanbiedt. Hoe dan ook neemt de ondersteuning voor het Opteron-platform langzaam toe, waarbij de grootste ontwikkeling tot nu toe de strategische alliantie tussen AMD en Sun is. Sun kondigde in november 2003 aan dat het bedrijf Opteron-servers met twee, vier en meer processors zal gaan verkopen.

Uiteraard is het tamelijk eenvoudig om zelf een single of dual processor Opteron-server te bouwen. MSI, Gigabyte, Iwill, Newisys en Tyan hebben dual processor moederborden in hun assortiment. MSI heeft drie moederborden voor de dual Opteron, waarvan twee gebaseerd op de AMD-8111/8131-chipset en één gebaseerd op de VIA K8T800. Tyan gaat een stap verder met een assortiment bestaande uit vier dual Opteron-moederborden, twee single processor borden en één quad Opteron-plank. Newisys is de tweede fabrikant die een 4-way moederbord voor de Opteron heeft ontwikkeld. Leadtek en Asus hebben tot op heden enkel single processor moederborden voor de Opteron 100-serie en de Athlon 64 FX aangekondigd. Desalniettemin heeft de Opteron een belangrijke groep fabrikanten achter zich. Gigabyte en MSI staan derde en vierde op de ranglijst van grootste moederbordfabrikanten, terwijl Tyan een grote speler is in de markt voor multi-processor moederborden. Moederbord ondersteuning voor de Opteron is dus niet minder dan uitstekend.
Volgens onderzoeksbureau IDC werden er vorig jaar in het derde kwartaal 10.746 Opteron-servers verkocht. Gezien het feit dat de Opteron toen slechts enkele maanden op de markt was en AMD geen bekende speler is in de servermarkt, kan er geconcludeerd worden dat de Opteron een erg goede start heeft gemaakt.
De verbeterde Xeon DP
De komst van snellere Opteron-modellen werd niet zonder tegenactie door Intel gadegeslagen. In de geest van 'only the paranoid survive' reageerde Intel met een heel pakket aan maatregelen. Zware prijsverlagingen in oktober 2003, hogere kloksnelheden en extra cache in de vorm van 1MB on-die L3 cache moesten de Pentium 4 Xeon competitiever maken. Het voordeel van de grote L3 cache is echter beperkt, zoals je zult zien in onze benchmarks. Eén van de redenen hiervoor is het feit dat de L3 cache van de Xeon voornamelijk inclusive is. Dit betekent dat de meeste cachelines uit de L2 cache worden overgenomen in de L3 cache. De inhoud van de L2 cache wordt echter niet volledig gedupliceerd. Eric Bron wees ons op een aantal gevallen waarin de cachelines niet worden overgenomen:
- Frequent benaderde gegevens worden in L2 gehouden door de LRU en zullen op een gegeven moment uit L3 cache verwijderd worden omdat de data vanuit het oogpunt van de L3 cache niet recent werd gebruikt.
- Gegegevens die expliciet via de PREFETCHNTA-instructie worden geprefetched kunnen de L3 cache passeren. Een deel van de L2 cache is toegewezen om dergelijke 'niet-tijdelijke' data te verwerken.
- De hardware prefetcher kan gegevens uit het geheugen direct naar L2 cache fetchen.
In eerste instantie zal het vreemd lijken dat de L2 cache van 512KB bijna altijd volledig wordt gespiegeld in de L3 cache. Dit maakt immers de helft van de L3 cache nutteloos. Het inclusive design van de cachestructuur zorgt echter wel voor een vereenvoudigd ontwerp van de cache controller, zodat een lagere gemiddelde cache latency mogelijk is. Intel claimt een latency van 14 klokcycli voor de L3 cache. De L2 en L1 cache hebben een latency van respectievelijk 7 en 2 cycli. De totale latency van de L2 cache bedraagt opgeteld 9 cycli in een best case scenario. We kunnen aannemen dat de L3 cache een totale latency van 23 (2 + 7 + 14) cycli heeft. Met behulp van ScienceMark werd een latency van 30 cycli gemeten.
De cache-architectuur van de Xeon DP is identiek aan die van de duurdere Xeon MP: beide L3 cache-ontwerpen draaien op volledige kloksnelheid, zijn 8-way associative en hebben ECC-foutcorrectie. Het is interessant om vast te stellen dat de Xeon DP vanuit een architectureel standpunt steeds verder opschuift naar de Xeon MP. De laatste is veel duurder omdat hij gebruikt kan worden in quad configuraties, maar het voordeel van een 4-way configuratie gaat deels verloren door de hogere kloksnelheden waarop de Xeon DP beschikbaar is. Met de opkomst van de Itanium vanuit het hogere marktsegment wordt de Xeon MP in toenemende mate verdreven naar een nichemarkt. Wie wil er 11.000 euro voor vier 2,5GHz Xeon MP's betalen wanneer je twee snelle 3,2GHz Xeon DP's kunt krijgen voor minder dan 2000 euro? We zullen ons definitieve oordeel over de Xeon MP vellen wanneer een systeem beschikbaar is in ons lab. Op dit moment lijkt de Xeon DP met 1MB L3 cache een erg goede deal.
Quad Opteron power
Met een hoogte van vier rack-units en een diepte van ruim 60 centimeter is de quad Opteron-server uit onze test een indrukwekkend beest. Quartet, zoals de machine is genoemd, heeft niet alleen de beschikking over vier processors met ieder een 128-bits geheugenbus, maar komt ook met alle features die een heavy duty server onderscheiden van de rest van het veld. De vier processors worden bijvoorbeeld gekoeld door acht snelle 120mm hotplug fans. De vier SCSI-harde schijven en de twee 133MHz PCI-X zijn eveneens hot-pluggable, wat ook gezegd kan worden van de 2+1 redundant 500 Watt voedingen. Voor extra redundancy is het mogelijk om een derde voeding toe te voegen.

De Quartet is geen 'reviewers-only' systeem. Een exact gelijke configuratie wordt door zeven fabrikanten op de markt gebracht, te weten Appro, CCSI, Colfax, CSI Labs, MicroWay, Penguin Computing en RackSaver. Appro-servers zijn in Nederland via een aantal bedrijven verkrijgbaar. Een systeem met vier 844 CPU's (beste prijs/performance in de Opteron 800-serie), drie 10.000rpm SCSI-schijven in RAID 5 en 4GB geheugen kost circa 14.000 dollar. Het Quartet-platform ondersteunt onder meer de volgende features:
- Vier AMD Opteron-processors
- Elke processor ondersteunt vier registered DIMM-slots.
- Geheugencontrollers ondersteunen ECC, band en node interleaving.
- Drie 64-bit 66MHz PCI-X-slots
- Twee 64-bit 133MHz hot-plug PCI-X-slots
- Vier hot-swap SCSI-harde schijven ondersteund via SAF-TE backplane
- Twee Ultra320 SCSI-kanalen - één intern en één via aansluiting in back panel
- Drie 500 Watt hot-swap power supplies in 2+1 configuratie
- Twee copper gigabit ethernet-poorten
- Eén fast ethernet-poort via de AMD-8111 HyperTransport I/O hub
- Dedicated management LAN-poort
- PS/2 muis en keyboard-aansluitingen in front panel
- Optionele videokaart in front panel (dmv small form factor PCI)
- USB 1.1-aansluiting in front panel
- Slimline CD-ROM drive en floppy disk drive
- Legacy serieële poort
- IPMI-based server management
Security features:
- Power-on password
- Remote control security settings
- Instelbare startup drive
- System management security
- User login password
- Administrator password
- Read-only of read/write toegang
- Diskette boot override en control, write control
- Configuration lock
De zestien DIMM-slots in de machine maken bij gebruikmaking van 2GB DIMMs een maximale hoeveelheid geheugen van 32GB mogelijk. Omdat de Operon twee 64-bit DIMMs nodig heeft om een 128-bits geheugeninterface te vormen, zijn er een aantal restricties met betrekking tot de bezetting van de DIMM-slots:
- Aangenomen wordt dat modules geplaatst in slot 3 identiek zijn aan DIMMs in slot 2. De geheugencontroller creeërt een 128-bit geheugenbank met behulp van de DIMMs in deze twee slots.
- Als er modules van verschillende grootte op een geheugencontroller aangesloten moeten worden, dan moeten deze in slot 0 en 2 geplaatst worden. Hiermee ontstaan twee 64-bit brede geheugenbanken die niet in een 128-bit bank omgezet kunnen worden.
- Het is niet toegestaan om slechts drie modules op een processor aan te sluiten. De geheugencontroller kan in 64-bit óf 128-bit modus geschakeld worden, niet beide tegelijk.

Quartet nader bekeken
In eerste instantie wilden we de performance scaling van de Opteron onderzoeken door configuraties met één, twee en vier processors te testen. Het onderstaande diagram maakt duidelijk dat dit niet mogelijk is: als het tweede processor socket (CPU 1) niet bezet wordt, kan er geen gebruikgemaakt worden van de onboard gigabit ethernet, PCI-X en SCSI-functionaliteit. Er moeten minimaal twee CPU's geplaatst worden om de machine werkend te krijgen. Uiteraard zal niemand een dergelijk kostbaar systeem aanschaffen om slechts één processor te gebruiken. Het diagram van de quad Opteron geeft een goed idee van de systeemconfiguratie:


De processors en de heatsinks gaan verborgen achter een aluminium constructie waarin twee hoogtoerige 120mm fans zijn geplaatst. In de onderstaande foto is de behuizing van de ventilatoren iets omhoog getild.
Opteron, Xeon en Itanium vergeleken
Ter informatie is zijn in de onderstaande tabel de belangrijkste features van de serverprocessors van Intel en AMD opgetekend. Voordat de Opteron kan meedoen in het hogere marktsegment waarin de Itanium actief is, zal er veel meer OEM-support moeten komen en zullen 64-bit applicaties ondersteuning van softwarefabrikanten moeten krijgen. Omdat de Opteron in toekomst mogelijk in staat zal zijn om te concurreren met de Itanium, is ook Intel's 64-bit processor in het overzicht opgenomen.
 |
 | Features | Opteron 2xx | Opteron 8xx | Xeon DP 1MB L3 | Xeon MP | Itanium 2 'McKinley' | Itanium 2 'Madison' |  |
 |
 | Max. kloksnelheid |  | 2,2GHz |  | 2,2GHz |  | 3,2GHz |  | 2,8GHz |  | 1,0GHz |  | 1,5GHz |  |
 |
 | Productietechnologie |  | 0,13µ SOI Cu |  | 0,13µ SOI Cu |  | 0,13µ Cu |  | 0,13µ Cu |  | 0,18µ |  | 0,13µ |  |
 |
 | Transistors (miljoen) |  | 105,9 |  | 105,9 |  | 143 |  | 190 |  | 221 |  | 410 |  |
 |
 | Voltage |  | 1,5V |  | 1,5V |  | 1,55V |  | 1,5V |  | ? |  | ? |  |
 |
 | Die size (mm2) |  | 193 |  | 193 |  | 169 |  | ? |  | 464/421 |  | 374 |  |
 |
 | MP en adresruimte | Opteron | Opteron 8xx | Xeon | Xeon MP | Itanium II | Itanium II |  |
 |
 | Gangbare multi-CPU configuratie |  | 2 |  | 4-8 |  | 2 |  | 2-8 (tot 32) |  | 2-8 (tot 64) |  | 2-8 (tot 128) |  |
 |
 | Max. fysieke adresruimte |  | 1024GB flat (40-bit) |  | 1024GB flat (40-bit) |  | 64GB PSE (36-bit) |  | 64GB PSE (36-bit) |  | 1024TB (50-bit) |  | 1024TB (50-bit) |  |
 |
 | Max. virtuele adresruimte |  | 256TB (48-bit) |  | 256TB (48-bit) |  | 4GB |  | 4GB |  | 1024000TB (60-bit) |  | 1024000TB 60-bit) |  |
 |
 | Cache-configuratie | Opteron | Opteron 8xx | Xeon | Xeon MP | Itanium II | Itanium II |  |
 |
 | L1 cache (Data/Instr) |  | 64KB / 64KB |  | 64KB / 64KB |  | 8KB / ±20KB1 |  | 8KB / ±20KB1 |  | 16KB / 16KB |  | 16KB / 16KB |  |
 |
 | L1 latency (load to use) |  | 3 |  | 3 |  | 2 |  | 2 |  | 2 |  | 2 |  |
 |
 | L2 cache |  | 1MB |  | 1MB |  | 512KB |  | 512KB |  | 256KB |  | 256KB |  |
 |
 | L2 cache breedte |  | 128-bit |  | 128-bit |  | 256-bit |  | 256-bit |  | 256-bit |  | 256-bit |  |
 |
 | L2 latency (load to use) |  | 16 |  | 16 |  | 9-20 |  | 9-20 |  | 5 |  | 5 |  |
 |
 | L3 cache |  | |  | |  | 1MB inclusive |  | 1-2MB inclusive |  | 3MB |  | 6MB |  |
 |
 | Geheugen | Opteron | Opteron 8xx | Xeon | Xeon MP | Itanium II | Itanium II |  |
 |
 | Geheugenconfiguratie |  | 2x DDR400 |  | 2x DDR333 |  | 2x DDR266 |  | 2x DDR200/266 |  | 4x DDR266 |  | 4x DDR266 |  |
 |
 | Max. DRAM-bandbreedte naar CPU |  | 6,4GB/s |  | 5,4GB/s |  | 4,2GB/s |  | 3,2GB/s |  | 6,4GB/s |  | 6,4GB/s |  |
 |
112.000 Micro-ops, wat waarschijnlijk vergelijkbaar is met ongeveer 20KB aan x86 instructiecache
Hieronder vind je een overzicht van de prijzen van de verschillende processors. Er is getracht om een eerlijke vergelijking te maken tussen concurrerende processors uit hetzelfde prestatiesegment. De prestatievergelijking is gebaseerd op industrie-gestandaardiseerde benchmarks zoals SPECjbb en SPECint, maar is geenzins wetenschappelijk verantwoord. Aangezien we nog niet over de mogelijkheid beschikten om systemen op basis van de Xeon MP en de Itanium te testen, is er op dit moment nog sprake van veel schat- en gokwerk. De tabel heeft dan ook uitsluitend een informatief doeleinde en is niet bedoeld om een exact beeld te geven.
 |
 | Opteron | Prijs | Xeon | Prijs | Itanium | Prijs |  |
 |
 | 244 1,8GHz |  | $455 |  | Xeon DP 2,8GHz |  | $316 |  | |  | |  |
 |
 | 246 2,0GHz |  | $794 |  | Xeon DP 3,06GHz 1MB L3 |  | $690 |  | |  | |  |
 |
 | 248 2,2GHz |  | $913 |  | Xeon DP 3,2GHz 1MB L3 |  | $851 |  | |  | |  |
 |
 | 842 1,6GHz |  | $999 |  | |  | |  | Itanium 2 1,4GHz 1,5MB |  | $1172 |  |
 |
 | 844 1,8GHz |  | $1299 |  | Xeon MP 2,5GHz 1MB L3 |  | $1980 |  | Itanium 2 1,5GHz 3MB |  | $1338 |  |
 |
 | 846 2,0GHz |  | $2149 |  | Xeon MP 2,8GHz 2MB L3 |  | $3692 |  | Itanium 2 1,4GHz 4MB |  | $2247 |  |
 |
 | 848 2,2GHz |  | $3199 |  | |  | |  | Itanium 2 1,5GHz 6MB |  | $4227 |  |
 |
De Opteron 244 lijkt wellicht aan de prijzige kant in vergelijking met de 2,8GHz Xeon, maar eerdere tests toonden aan dat de 244 beter presteert in MySQL dan de Xeon 2,8GHz. Volgens dezelfde redenering is de Xeon 2,8GHz een koopje als MS SQL Server de voornaamste toepassing is. De Xeon bewees in deze software namelijk beter te presteren dan de Opteron 244. Het is behoorlijk lastig om de Itanium en de Opteron te vergelijken. Oracle en DB2 zijn beschikbaar voor de Opteron, maar enterprise gebruikers verlangen volledig ondersteuning en certificatie voor een Opteron-server. Op dit moment is die ondersteuning nog steeds in 'beta' stadium.
Wat we met meer zekerheid kunnen zeggen is dat je een hoog prijspremium moet betalen voor het feit dat de Xeon MP een gevestigd, bewezen en goed ondersteund platform is met een enorme hoeveelheid gecertificeerde (x86) applicaties. Zowel Intel als AMD belonen de IT managers die het aandurven om de gok te wagen naar een krachtiger maar ook minder volwassen 64-bit platform.
Testopstelling
De software-instellingen voor elke test zal verderop besproken worden omdat we verschillende configuraties gebruikten voor de HPC, web- en database-server tests. De Windows desktop was tijdens de tests ingesteld op een resolutie van 1024 bij 768 pixels met een kleurdiepte van 32-bit en een refresh rate van 75Hz. In Linux werd uitsluitend gebruikgemaakt van de console. Onze speciale dank gaat uit naar Shelley Baldiga van Crucial voor het beschikbaar stellen van twee 512MB Crucial PC2100 registered ECC DDR SDRAM modules. De door ons geteste systemen hadden de volgende hardware configuraties:
Server 1: AMD Quartet: Dual 844, Dual 848, Quad 844 and Quad 848
- Quartet moederbord, Zildjian personality board, Tobias backplane board en Rivera power distribution board.
- Quad configuraties: 4GB RAM: 8x 512MB Infineon PC2700 Registered, ECC enabled
- Dual configuraties: 2GB RAM: 4x 512MB Infineon PC2700 Registered, ECC enabled
- NIC: Broadcom NetExtreme Gigabit
Server 2: Dual Xeon DP 3,06 GHz 1 MB L3 cache
- Intel SE7505VB2 moederbord - dual DDR266
- 2GB RAM: 4x 512MB Crucial PC2100R - 250033R (2,5-3-3-6)
- NIC: Intel RC82540EM gigabit ethernet - Intel E1000 driver
Server 3: Dual AMD Opteron 244 (1,8 GHz)
- Newisys Khepri
- 2GB RAM: 4x 512MB Infineon PC2700R - 250033R (2,5-3-3-6)
- NIC: Broadcom 5703, bcm5700 driver
Server 4: Dual Xeon DP 2,8 GHz - 533MHz FSB
- Gigabyte GA-8IPXDR-E
- 2GB RAM: 4x 512MB Crucial PC2100R - 250033R (2,5-3-3-6)
- NIC: Intel RC82540EM gigabit ethernet - Intel E1000 driver
Client Configuration 1: 1x Pentium 4 3,06 GHz HT aan - 533MHz FSB
- MSI GNB MAX FISR (E7205)
- 2x 256MB Crucial PC2100R - 250033R (2-2-2-6)
- NIC: Intel RC82546EB gigabit ethernet - Intel E1000 driver
Gedeelde componenten
- 3x Seagate 36,7GB - 15.000rpm - Ultra320 SCSI RAID 5
- Maxtor 80GB DiamondMax 740X - 7.200rpm - ATA100/133
Software
- Intel chipset inf update 5.09.1012
We willen in het bijzonder de volgende personen danken voor hun behulpzaamheid en belangrijke bijdragen aan deze review:
- Damon Muzny, Bill Robins (AMD)
- Mattty Bakkeren, Kristof Semhke (Intel)
- Nicole Chia (Gigabyte)
- Angelique Berden en Marga Zanders (MSI)
- Shelley Baldiga (Crucial)
- Robert Pearce (Corsair)
Benchmark-details & ApacheBench-scores
Het zal iedereen duidelijk zijn dat het niet eerlijk is om een directe vergelijking te maken tussen een 4-way Opteron en een dual processor Xeon-systeem. Benchmarks van een 4-way Xeon MP zullen toegevoegd worden zodra we toegang hebben tot een dergelijk systeem. Het voornaamste doel van de quad Opteron-tests is om te laten zien hoe goed het 4-way systeem schaalt ten opzichte van de dual Opteron. Het geeft ons ook enig inzicht in de prestaties van de Xeon MP met 1MB L3 cache: als de quad Opteron dubbel zo snel is als een 3,06GHz Xeon is het tamelijk duidelijk dat de quad Xeon MP de prestaties van de vierkoppige Opteron nooit zal kunnen overtreffen. Het verdubbelen van de prestaties van twee naar vier CPU's in een benchmark die niet puur uit de processor caches draait is zo goed als onmogelijk op een gedeelde busarchitectuur.
Verder vraag je je wellicht af waarom de 4-way systemen werden geconfigureerd met 4GB RAM en de dual systemen met slechts 2GB. De reden hiervoor is dat de Opteron twee DIMMs nodig heeft om het geheugen in 128-bit modus te benaderen. Het gevolg is dat iedere processor van minimaal twee modules voorzien moet worden. Met de 512MB ECC registered modules die ons ter beschikking stonden, kom je dan op een totaal van 4GB. Omdat geen van onze tests meer dan 1,5GB RAM gebruikte, had de quad Opteron geen voordeel van zijn grotere hoeveelheid geheugen.
In dit artikel hebben we tevens resultaten toegevoegd van de Newisys Opteron 244-server, die in april door ons werd getest. De resultaten zullen vergeleken worden met de quad machine draaiend op twee 844 processors, zodat we kunnen zien of de het Opteron-platform in de tussentijd verder is geëvolueerd. Alle Xeon-benchmarks werden uitgevoerd met Hyperthreading ingeschakeld, tenzij anders aangegeven. Er werd getest met de snelst verkrijgbare Opteron maar nog niet met de snelste Xeon. Aangezien de Xeon 3,2GHz met 1MB L3 cache slechts 4,5 procent hoger is geklokt dan de processor die wij beschikbaar hadden in het lab, kan er simpelweg vier procent toegevoegd worden aan de prestaties van de Xeon 3,06GHz 1MB L3 om een idee te krijgen van de performance van de Xeon 3,2GHz.
ApacheBench
OS: Linux 2.4.20 / 2.4.19
Multi-threaded: Ja
Geheugengebruik: 180 - 200 MB
Gangbare foutmarge tussen verschillende runs: 4-7%
Maximale netwerk traffic: n.v.t.
ApacheBench is een eenvoudige tool voor het benchmarken van Apache of andere HTTP-servers. Het programma kan meerdere gelijktijdige requests op de webserver afvuren en meet het aantal requests dat per seconde door de webserver wordt geserveerd. De ApacheBench (ab) tool wordt gebundeld met de Apache source distributie. De server werd getest met de eerste pagina uit het artikel 'A Quick Look at the Fastest Apple PowerMac"' (18,8KB) van Ace's Hardware.
ApacheBench: 64-bit versus 32-bit
ApacheBench 1.3.26 werd gecompileerd en geport naar AMD64 op de SuSE Linux Enterprise Server (SLES)-distributie. De 32-bit versie werd getest onder 32-bit Linux, terwijl de 64-bit versie werd getest onder 64-bit Linux. Eerst werd de test uitgevoerd met 10 gelijktijdige connecties:
- Dual Opteron 844 (64-bit) NUMA support, 64-bit, 8240 req/s
- Dual Opteron 844 (64-bit) - 32-bit, 6921 req/s
Vervolgens werd getest met 100 gelijktijdige requests:
- Dual Opteron 844 (64-bit) NUMA support, 64-bit, 6510 req/s
- Dual Opteron 844 (64-bit) - 32-bit, 5976 req/s
Apache blijkt ongeveer 9 tot 20 procent sneller te zijn in een 64-bit omgeving. Onze stelling uit vorige tests, waaruit bleek dat de 64-bit binary ongeveer 10 procent sneller is dan de 32-bit versie, is nog steeds juist. Het verschil tussen de vorige tests en de nieuwe tests is dat er een speciale feature in het BIOS werd geactiveerd waarmee de prestaties onder 64-bit NUMA aware Linux werden verbeterd.
Apachebench: "64-bit NUMA aware" versus "64-bit Non-NUMA aware"
Het Quartet-systeem werd voorzien van een nieuwe BIOS release. In de readme werd verwezen naar een SRAT setting, die ingeschakeld kon worden indien een besturingssysteem met ondersteuning voor NUMA werd gebruikt. Voorbeelden zijn Linux 2.4.20 AMD64 en Windows Server 2003:
The Static Resource Affinity Table (SRAT) can be used to describe the physical location of processors and memory in large-scale systems (such as CC-NUMA) to the Microsoft® Windows® Server 2003 operating system, allowing threads and memory to be grouped in an optimal manner.
Het lijkt erop dat de SRAT-tabel het besturingssysteem helpt om de data van een thread lokaal te houden ten opzichte van de processor, zodat deze gegevens zich niet in het geheugen van een andere processor-node bevinden. De tests met ApacheBench werden opnieuw uitgevoerd:
ApacheBench met 10 concurrent connecties:
- Dual Opteron 848 (64-bit) NUMA support, 9640 req/s
- Dual Opteron 848 (64-bit) - SRAT disabled, 8433 req/s
ApacheBench met 100 concurrent connecties:
- Dual Opteron 848 (64-bit) NUMA support, 8307 req/s
- Dual Opteron 848 (64-bit) - SRAT disabled, 7059 req/s
 |
 | ApacheBench - Dual Opteron 848 - Requests per seconde |  |
 |
 | 10 connecties |  | NUMA |  |   9640 |  |
 |
 | 10 connecties |  | Non-NUMA |  |   8433 |  |
 |
 | 100 connecties |  | NUMA |  |   8307 |  |
 |
 | 100 connecties |  | Non-NUMA |  |   7059 |  |
 |
ApacheBench: Opteron versus XeonDe resultaten van de dual Opteron, quad Opteron en dual Xeon-systemen zijn in de onderstaande tabel bijeen gezet. De Opteron-resultaten werden verkregen onder 64-bit Linux met de SRAT-tabel aangezet.
 |
 | Concurrent connecties | Quad Opteron 848 | Quad Opteron 844 | Dual Opteron 848 | Dual Opteron 844 | Dual Xeon 3,06GHz 1MB L3 | Single Xeon 3,06GHz 1MB L3 |  |
 |
 | 10 (req/s) |  | 12.033 |  | 10.888 |  | 9.640 |  | 8.240 |  | 4.882 |  | 3.073 |  |
 |
 | 10 (responsetijd) |  | 0,83 |  | 0,92 |  | 1,04 |  | 1,21 |  | 2,28 |  | 3,25 |  |
 |
 | 100 (req/s) |  | 11.550 |  | 9.497 |  | 8.307 |  | 6.510 |  | 5.118 |  | 3.038 |  |
 |
 | 100 (responsetijd) |  | 8,66 |  | 10,53 |  | 12,00 |  | 15,50 |  | 19,54 |  | 32,90 |  |
 |
 |
 | ApacheBench - Requests per seconde bij 100 concurrent connecties |  |
 |
 | Quad Opteron 848 |  | 2,2GHz |  |   11550 |  |
 |
 | Quad Opteron 844 |  | 1,8GHz |  |   9497 |  |
 |
 | Dual Opteron 848 |  | 2,2GHz |  |   8307 |  |
 |
 | Dual Opteron 848 |  | 1,8GHz |  |   6510 |  |
 |
 | Dual Xeon 1MB L3 |  | 3,06GHz |  |   5118 |  |
 |
 | Single Xeon 1MB L3 |  | 3,06GHz |  |   3038 |  |
 |
 | Performance scaling |  |
 |
 | Dual > quad Opteron 848 |  |     39,0% |  |
 |
 | Dual > quad Opteron 844 |  |     45,9% |  |
 |
 | Single > dual Xeon 3,06GHz 1MB L3 |  |     68,5% |  |
 |
ApacheBench blijft een tamelijke low-level benchmark met een hoog kunstmatig karakter. Hoewel alle benchmarks werden geverifieerd en minimaal vijf keer werden gedraaid, hebben we mogelijk een kleine kernel variabele over het hoofd gezien die de prestaties zou kunnen beïnvloeden. ApacheBench heeft de eigenschap om tamelijk onnauwkeurig te zijn. We betwijfelen echter of het algemene beeld hierdoor veel zou veranderen.
Met de 20 procent extra performance door een NUMA aware besturingssysteem laat de Opteron zijn opponent uit het Intel-kamp ver achter zich: de dual Opteron 844 en 848 zijn 64 tot 70 procent sneller dan de dual Xeons, met of zonder de foutmarge van vijf tot zeven procent. Overigens zijn de resultaten bij 100 gelijktijdige connecties consistenter. De verschillen tusen de hoger geklokte processors, en dual en quad configuraties zijn in deze tests duidelijker zichtbaar.
De grote verschillen tussen de Opteron en de Xeon betekenen de nekslag voor Intel. De prestaties van de Opteron mogen niet onderschat worden, zeker niet wanneer het platform 64-bit ondersteuning van softwarefabrikanten krijgt. Zelfs als er 10 procent performance aan de scores van de Xeon worden toegevoegd en ApacheBench een score rapporteerde die vijf procent te laag was, is het duidelijk dat het prestatieniveau van de Opteron in Apache buiten bereik is van de Xeon.
Gelukkig voor Intel representeert deze benchmark enkel het serveren van statische HTML-pagina's. Weinig mensen zullen het hoge prestatieniveau van de hier geteste monstersystemen nodig hebben voor het serveren van eenvoudige HTML-pagina's. Laten we kijken hoe de Xeon en Opteron zich verhouden op een interactief en dynamisch database-driven Java webserver-platform.
Java server performance
De Java-webservers werden getest in twee configuraties; met zes clients (client 1 configuratie: Duron 1,3GHz pc) verbonden met één van de acht 100Mbit-poorten op onze gigabit switch. Hierdoor is het mogelijk om ongeveer 50 tot 60MB/s aan client traffic naar onze server te verplaatsen welke is verbonden met de gigabit uplink van de switch. De tweede configuratie bestond uit één client (client 2: P4 3,06GHz pc), die via een crossover kabel en de geïntegreerde Intel RC82540EM gigabit-controller was verbonden met de gigabit-aansluitingen van de servers. In deze configuratie is het theoretisch mogelijk om ongeveer 100MB/s aan client traffic naar de servers te pushen. Met behulp van beide opstellingen konden we testen welke configuratie - extra clients of hogere netwerkbandbreedte - de hoogste performance aan de servers kon onttrekken.

De 3,06GHz Pentium 4-client werd voorzien van Debian Linux kernel versie 2.4.20-686-smp, welke is geoptimaliseerd voor Pentium 4 Hyperthreading. Voor het benchmarken werd gebruik gemaakt van httperf in combinatie met Autobench, een perl script geschreven door Julian T. J. Midgley en ontworpen om httperf een aantal keren op de server te draaien waarbij het aantal requests per seconde bij iedere herhaling wordt verhoogt. De output van het programma maakt het mogelijk om exact te zien hoe goed het systeem presteert naarmate de workload toeneemt, tot het moment dat het verzadigingspunt wordt bereikt.
Bij elke run werd de server getest met vijf requests per connectie. De benchmark was geconfigureerd om een timeout te geven wanneer er meer dan vijf seconden nodig waren om een request te beantwoorden. Bij de test met de gecomprimeerde message board index werd de timeout iets ruimer ingesteld op 10 seconden. Het was noodzakelijk om httperf opnieuw te compileren omdat de standaard overweg kon met maximaal 1.024 file descriptors, een oude Unix per-process limitatie. Onze eigen httpef kent deze limitatie niet. De clients werden daarom ingesteld op 'ulimit -n 10000' (aantal openstaande files ingesteld op 10.000, default 1.024).
De dual Xeon werd getest onder Debian Linux met kernel versie 2.4.20-686-smp. Hoewel er nieuwe kernels zijn verschenen, konden we geen verschil ontdekken met kernel versie 2.4.22-1-686-smp. De Opteron maakte gebruik van SuSE SLES 8 met kernel 2.4.19 32-bit non-NUMA aware. Aangezien deze kernels de meest stabiele zijn en beide zijn geoptimaliseerd voor de CPU's waarop ze getest werden, zijn we van mening dat er sprake is van een eerlijke vergelijking. Vergelijkbare kernelversies zullen vrijwel gelijk presteren op andere distributies mits de juiste parameters worden ingesteld, zoals wij deden. De servers werden getweakt met de volgende instellingen:
- ulimit -n 64000, stelt aantal open files in op 64.000 (standaard 1.024)
- shmmax = 512288000 of 512MB, shared memory maximum (standaard 33MB)
Als onze benchmarkmethodiek wordt vergeleken met die van anderen, dan zul je zien dat de volgende drie parameters uitgeschakeld zijn:
- net.ipv4.tcp_timestamps=1, aanzetten van TCP timestamp support (standaard)
- net.ipv4.tcp_sack=0, aanzetten van SACK support on (standaard)
- net.ipv4.tcp_window_scaling=0, uitzetten van TCP window scaling (standaard aan)
We besloten om de bovenstaande instellingen ingeschakeld te laten omdat ze de webserver in staat stellen om beter te presteren op WAN-verbindingen met een hoge latency. Er werd weliswaar getest op een low latency LAN, maar de meeste webservers zullen ingezet worden op het internet, waar doorgaans sprake is van hoge latencies, of zullen gebruikt worden als intranet-servers op grootschalige bedrijfsnetwerken.
De volgende software werd gebenchmarked:
De benchmark in httperf vormt een simulatie van de productie-applicatie van Ace's Hardware. Daarbij wordt gewerkt met exact gelijke datasets. De complete software-omgeving wordt in het onderstaande diagram beschreven. Voor een beter begrip van de werking, adviseren we je om het artikel 'Scaling Server Performance' van Brian Neal te lezen. Kortweg komt het erop neer dat de clients met behulp van httperf een groot aantal 'HTTP GET'-requests genereren. Kijkend naar het onderstaande diagram is de crossover kabel of de gigabit switch ons 'internet'. Resin of een andere webserver (groen) accepteert de requests en stuurt het antwoord terug naar de client. De java-applicatie (geel) haalt de gegevens uit de object cache (rood) en genereert het antwoord dat teruggestuurd moet worden naar de client via de HTTP-server. De cache bestaat uit gegevens die van origine afkomstig zijn uit de database (blauw).

Cached Java webserver benchmark: Message board index
OS: Linux 2.4.20 / 2.4.19
Multi-threaded: Ja
Geheugengebruik: 800 - 850 MB
Gangbare foutmarge tussen verschillende runs: 3-4%
Maximale netwerk traffic: tot 44MB/s
Onze eerste test bestaat uit het opvragen van de hoofdindex van het General Message Board van Ace's Hardware. Deze test is daardoor zeer processor-intensief. De hoofdindex bestaat uit een 'threaded' boomstructuur met naar schatting duizend elementen. Omdat de content niet wordt gecomprimeerd is er sprake van een grote hoeveelheid netwerkverkeer.

Op de quad Opteron kwamen we dicht in de buurt van de limieten van de gigabit netwerkkaart, wat verbazingwekkend genoemd mag worden. In theorie kan een gigabit kaart ongeveer 100MB/s aan bandbreedte verwerken, maar we merkten dat de werkelijke limiet (dat wil zeggen, de limiet gemeten met httperf) ergens tussen 45MB/s en 55MB/s lag. Opmerkelijk is het grote verschil tussen de originele Newisys 244-score en de resultaten van de dual Opteron 844 in ons Quartet-systeem. Het is ons nog niet duidelijk waarom de prestaties zo spectaculair zijn gestegen. Het kan een combinatie zijn van verbeterde AMD64-ondersteuning in de 2.4.19 kernel en een betere Broadcom ethernet driver. Vooral dat laatste is volgens ons één van de voornaamste redenen voor de hogere performance. Daarnaast merkten we een prestatieverbetering van 20 procent toen het BIOS werd geflasht van de originele versie naar de Pqtdx0-9-versie.
De prestaties van de dual Xeon 3,06GHz zijn in lijn met de verwachtingen. Het systeem is ongeveer 8 procent sneller dan zijn 9 procent lager geklokte 2,8GHz broeder. De message board request genereerden toen ongeveer 13MB/s aan bandbreedte. Toen we een test draaiden met een simpelere pagina, ontdekten we dat de Intel gigabit controller geen moeite had om meer dan 40MB/s aan bandbreedte te leveren. We zijn er daardoor 100 procent zeker van dat de netwerkcontroller en de driver geen bottleneck zijn. De meest intrigerende vraag is wat de Opteron 55 procent beter liet presteren. We weten dat het nieuwe BIOS de prestaties met 15 tot 20 procent verbeterde, maar waar kwam de rest vandaan? Is de geheugencontroller aggressiever ingesteld? We vroegen het aan AMD en zullen het aan SuSE vragen, maar tot op heden hebben we geen antwoord gevonden. Overigens gebruikten alle Opterons ECC registered DDR333 geheugen met een CAS latency van 2,5 cycli.
Tijd om te kijken hoe de Opteron schaalt:

Een 22 procent hogere kloksnelheid resulteerde in een verhoging van de prestaties met 20 procent. Het toevoegen van twee extra processors verbeterde de prestaties met 60 procent. Niet echt fantastisch. Pas als HTTP-compressie wordt aangezet worden de resultaten echt interessant. Bij meer dan 260 reqeuests per seconde en dus ongeveer 40MB/s wordt er veel werk geleverd in de netwerkdriver. Dit verklaart waarschijnlijk de matige schaling bij meer processors. De schaling van de kloksnelheid is desondanks voortreffelijk.
De onderstaande grafiek gaat specifieker in op de prestaties van de Xeon:

De L3 cache verbetert de piekprestaties van de Xeon met ongeveer drie procent. Hyperthreading levert daarentegen een verbetering van zeven procent op. Resumerend: de Xeons worden simpelweg verpletterd door de Opteron.
Java server performance met compressie
OS: Linux 2.4.20 / 2.4.19
Multi-threaded: Ja
Geheugengebruik: 850- 900MB
Gangbare foutmarge tussen verschillende runs: 2-3%
Maximum netwerk traffic: tot 1MB/s
Hoge Java performance is leuk, maar één van de belangrijkste zorgen voor webmasters is bandbreedtegebruik. De kosten van bandbreedte schalen soms superlineair met het gebruik ervan, waardoor excessief gebruik van bandbreedte een dure bedoening kan worden. Het comprimeren van webcontent is een zeer effectieve methode om het bandbreedtegebruik terug te dringen. Vrijwel alle browsers hebben tegenwoordig ondersteuning voor gzipped content.
De toegenomen processorbelasting van HTTP-compressie reduceert de performance met de helft, maar verlaagt ook de netwerk I/O tot een vijftiende van zijn ongecomprimeerde omvang. De prestaties zijn dus weliswaar lager, maar dat wordt meer dan goedgemaakt door de besparing van bandbreedte. Het verschil in performance kan altijd worden gecompenseerd met de aanschaf van snellere hardware. De kosten van de duurdere hardware kunnen vaak al op korte termijn worden terugverdiend door de lagere uitgaven aan bandbreedte.

De Xeon is gebaseerd op de 'Netburst'-architectuur van de Pentium 4, die goed overweg kan met de meeste compressiealgoritmen. Gzip is daarop uitzondering. De Xeon kan goed meekomen met de meeste dual Opterons tot het moment dat de server met requests verzadigd raakt. De Xeon geeft het op en de prestaties zetten een dalende lijn in terwijl de belasting van de server verder toeneemt. De dual Opteron 844 en 248 hebben minder last van een inzinking, waarschijnlijk vanwege de hogere bandbreedte van het Opteron-platform. De Opteron-processors hoeven de geheugenbandbreedte immers niet met andere processors te delen. Voor een snelle vergelijking hebben we tevens een dual Opteron 248-systeem op basis van de MSI K8T Master2 in de test opgenomen. Dit moederbord is gebouwd rond de VIA K8T800-chipset en geeft geheugentoang aan slechts één processor. De geheugenbandbreedte moet in dat geval gedeeld worden door twee processors, waarbij CPU 2 het geheugen benaderd via de Hypertransport-link tussen de beide processors. Het K8T800-systeem maakte tevens gebruik van de oudere 2.4.19-kernel.
Nu dan de quad Opterons:

De quad Opterons leverden dankzij de twee extra processors ongeveer 60 procent hogere prestaties. Voorbij het verzadigingspunt hebben de prestaties van de quad Opterons echter wel een grotere inzinking dan de prestaties van de dual Opterons. Het is mogelijk dat de non-NUMA kernel meer problemen heeft met vier processors omdat er bij een groter aantal processors een hogere statistische kans bestaat dat een stukje informatie zich niet in het lokale geheugen bevindt. Met andere woorden, ons vermoeden is dat er meer data moet worden uitgevraagd uit niet-lokaal geheugen. Dat geheugen heeft vanzelfsprekend hogere latentietijden. Op een kloksnelheid van 1,8GHz vergt een volledige benadering van het lokale geheugen ongeveer 90 nanoseconde, terwijl 145ns nodig is om informatie via Hypertransport uit niet-lokaal geheugen op te vragen. Desalniettemin is het behoorlijk indrukwekkend dat de quad Opteron 848 bijna 110 requests per seconde kan verwerken met voor elke request een gecomprimeerde message index van 985 threads.
Op naar de dual Xeons:

Evenals in de vorige tests nemen de prestaties af wanneer Hyperthreading wordt aangezet. De extra L3 cache helpt echter wel.
Java performance - Reviewpagina
OS: Linux 2.4.20 / 2.4.19
Multi-threaded: Ja
Geheugengebruik: 750-800MB
Gangbare foutmarge tussen verschillende runs: 5-7%
Maximum network traffic: tot 2,5MB/s
In de volgende benchmark wordt niet gebruikgemaakt van de message board index en zijn boomstructuur. In plaats daarvan wordt een pagina van een artikel opgevraagd, namelijk A Quick Look at the Fastest Apple PowerMac uit de dual PowerMac G4 review van Ace's Hardware.

Revenge of the Xeon! Omdat de processor niet langer de boomstructuur van de message board index hoeft te genereren, neemt het aantal branches (vertakkingen) en de tijd die wordt gespendeerd aan het doorlopen van array-structuren sterk af. Het gevolg is een grotere impact van gzip compressie, en compressie is hetgene waar de Xeon goed in is. Desondanks heeft de dual Xeon 3,06GHz 1MB nog steeds moeite om beter te presteren dan de dual Opteron 848, die gebruikmaakt van het nieuwe geoptimaliseerde BIOS en de verbeterde kernel.

Clockspeed scaling is zo goed als perfect, maar de twee extra processors leveren slechts 48 procent hogere prestaties. Zolang we geen vergelijking kunnen maken een quad Xeon MP kunnen we echter niet zeggen of de performance scaling van de quad Opteron aan de matige kant is.

De L3 cache verbetert de piekprestaties met niet minder dan 20 procent. Hyperthreading heeft een veel kleinere invloed op de prestaties.
MySQL 3.23.49 datamining performance
Multi-threaded: Nee
OS: Linux 2.4.20 / 2.4.19
Geheugengebruik: 240MB
Gangbare foutmarge tussen verschillende runs: 3-5%
Maximale netwerk traffic: n.v.t., benchmarkt wordt direct op server uitgevoerd
Voor deze serie benchmarks importeerden we een 400MB grote HTTP-log van onze webserver in de MySQL-database. In deze test worden complexe 'datamining' queries uitgevoerd. Vervolgens wordt de tijd gemeten die de server nodig heeft om de queries te beantwoorden. Omdat het hier onze eigen database betreft, kunnen we je ook de eigenlijke queries laten zien.
Overigens zijn we goed op de hoogte van het feit dat deze vorm van benchmarking zijn beperkingen kent. De methode meet alleen de prestaties in een omgeving waarin de database wordt gebruikt voor het rapporteren van bepaalde (veelal statistische) informatie. De prestatiekarakteristieken van het inserten of updaten van database records kan totaal verschillend zijn. Omdat er slechts één query tegelijkertijd wordt uitgevoerd is deze benchmark bovendien niet multi-threaded. Het is een goede test om te onderzoeken welke responsetijd je kunt krijgen van een server in een datamining-omgeving. Een belangrijke functie van veel databases is immers om beknopte statische rapporten te maken van de informatie die zich in de database bevindt. Verder is het belangrijk om rekening te houden met het feit dat de prestaties van de geteste processors per database-server kunnen verschillen. Dit merkten we eerder in een test van Microsoft SQL Server 2000.
Query 2
SELECT COUNT(*) AS hits, SUM(data_size), f.type FROM files_map f, log l WHERE f.id = file_id GROUP BY f.type ORDER BY hits DESC
SELECT COUNT(*) AS hits, -data_size FROM log WHERE data_size < 0 GROUP BY data_size ORDER BY hits DESC
SELECT COUNT(*)AS hits, f.file FROM files_map f, log l WHERE f.type ='' AND f.file LIKE '%/' AND f.id = l.file_id GROUP BY f.fileORDER BY hits DESC LIMIT 50
 |
 | MySQL Query 6 (seconden) |  |
 |
 | Opteron 2,2GHz |   7,51 |  |
 |
 | Opteron 1,8GHz |   9,44 |  |
 |
 | Xeon 3,06GHz 1MB L3 |   9,98 |  |
 |
 | Xeon 2,8GHz |   10,99 |  |
 |
Hoewel de Opteron 244 slechts 16 procent sneller was dan zijn concurrent, zijn de Opteron 848 en 248 maar liefst 33 procent sneller dan de 3,06GHz Xeon met 1MB L3.
3DStudio en Cinebench performance
Multi-threaded: Ja
Besturingssysteem: Windows Server 2003
Geheugengebruik: 500MB
Gangbare foutmarge tussen verschillende runs: 1%
Maximum netwerk traffic: n.v.t., draait direct op server
De 3DS Max-test is gebaseerd op de Architecture-scene uit de SPECapc 3DS Max R4.2-benchmark. De test heeft een bewegende camera die een virtuele tour geeft langs een gecompliceerd gebouw. Deze complexe scene heeft niet minder dan 600.000 polygonen en zeven lichtbronnen. De test wordt gedraaid met raytracing en fog ingeschakeld. Frames 20 en 22 werden op een resolutie van 500x300 naar de virtuele frame buffer (in het geheugen) gerenderd. Om de vergelijking nog interessanter te maken hebben we tevens een aantal resultaten van de Athlon 64 FX en de Pentium 4 Extreme Edition in het overzicht opgenomen. De Opteron 148 is in werkelijkheid een 2,2GHz Athlon 64 FX-51. Beide processors zijn identiek.
 |
 | 3DStudio Max 5.1 Architecture (seconden) |  |
 |
 | Quad Opteron 848 |  | |  |   111 |  |
 |
 | Quad Opteron 844 |  | |  |   138 |  |
 |
 | Dual Opteron 848 |  | |  |   176 |  |
 |
 | Dual Xeon 3,06GHz 1MB L3 |  | HT |  |   177 |  |
 |
 | Dual Opteron 844 |  | |  |   214 |  |
 |
 | Dual Xeon 3,06GHz |  | HT |  |   227 |  |
 |
 | Pentium 4 3,2GHz Extreme Edition |  | |  |   273 |  |
 |
 | Single Xeon 3,06GHz 1MB L3 |  | HT |  |   305 |  |
 |
 | Opteron 148 DDR400 |  | |  |   309 |  |
 |
 | Pentium 4 3,2GHz |  | |  |   310 |  |
 |
 | Opteron 148 DDR333 |  | |  |   333 |  |
 |
 | Single Xeon 3,06GHz 1MB L3 |  | |  |   357 |  |
 |
 | Single Xeon 3,06GHz |  | HT |  |   374 |  |
 |
 | Single Xeon 3,06GHz |  | |  |   406 |  |
 |
 | Athlon XP 3200+ |  | |  |   409 |  |
 |
 | Performance scaling |  |
 |
 | Single > dual Opteron 2,2GHz |  |     89,2% |  |
 |
 | Dual > quad Opteron 2,2GHz |  |     58,6% |  |
 |
 | Single > dual Xeon 3,06GHz 1MB HT |  |     72,3% |  |
 |
 | Single > dual Xeon 3,06GHz HT |  |     64,8% |  |
 |
Hoewel de Opteron vanaf de 2,0GHz modellen ondersteuning heeft voor DDR400-geheugen, was ons Quartet-systeem nog voorzien van DDR333-geheugen. DDR400 kan de prestaties met ongeveer acht procent verhogen, zoals duidelijk wordt gemaakt door de resultaten van de Opteron 148. De resultaten zijn weergegeven in seconden, dus lager is beter.
Interessant is ook het effect van de 1MB L3 cache en Hyperthreading op de Xeon. De 1MB L3 cache versnelt het renderen met 13 procent wanneer Hyperthreading is uitgeschakeld. Hyperthreading verbetert de prestaties met 8 procent op de Xeon 3,06GHz zonder L3 cache. Als echter beide worden gebruikt - Hyperthreading op de Xeon 3,06GHz 1MB L3 - nemen de prestaties met meer dan 30 procent toe. De 2,2GHz Opteron en de 3,06GHz Xeon 1MB L3 presteren vrijwel gelijk, zodat we kunnen aannemen dat de 3,2GHz Xeon de best presterende processor is voor rendering onder 3DStudio Max. De Opteron schaalt echter wel beter. Het toevoegen van een tweede processor versnelt het renderen met 89 procent, terwijl de tweede Xeon slechts een verschil maakt van 72 procent. Het monteren van een derde en vierde Opteron levert nog eens 60 procent extra prestaties op.
Cinema 4D: Cinebench 2003 (MP)

Multi-threaded: Ja
Besturingssysteem: Windows Server 2003
Geheugengebruik: 350MB
Gangbare foutmarge tussen verschillende runs: <1%
Maximum netwerk traffic: n.v.t., draait direct op server
Cinebench is gebaseerd op de Cinema 4D modelling, rendering en animatie-applicatie van Maxon. Cinema 4D's renderer is multi-threaded en maakt zeer efficiënt gebruik van Hyperthreading. We rapporteerden de beste rendering scores van alle systemen. Bij de Pentium 4's werd er derhalve gebruikgemaakt van twee threads. Omdat we benieuwd waren naar de prestaties van de IBM PowerPC 970-processor hebben we tevens Cinebench 2003-resultaten van Apple PowerMac G5 in de vergelijking opgenomen. De G5-benchmarks zijn afkomstig van het Duitse C't Magazine.
 |
 | Cinebench 2003 |  |
 |
 | Quad Opteron 848 |  | |  |   992 |  |
 |
 | Quad Opteron 844 |  | |  |   809 |  |
 |
 | Dual Xeon 3,06GHz 1MB L3 |  | HT |  |   655 |  |
 |
 | Dual Xeon 3,06GHz |  | HT |  |   647 |  |
 |
 | Dual Opteron 848 & 248 |  | |  |   570 |  |
 |
 | Dual PowerPC 970 2,0GHz |  | |  |   504 |  |
 |
 | Dual Opteron 844 |  | |  |   470 |  |
 |
 | Pentium 4 3,2GHz Extreme Edition |  | |  |   386 |  |
 |
 | Pentium 4 3,2GHz |  | |  |   380 |  |
 |
 | Single Xeon 3,06GHz 1MB L3 |  | HT |  |   360 |  |
 |
 | Single Xeon 3,06GHz 1MB L3 |  | |  |   353 |  |
 |
 | Single Opteron 848 |  | |  |   307 |  |
 |
 | Athlon XP 3200+ |  | |  |   265 |  |
 |
 | Single Opteron 844 |  | |  |   252 |  |
 |
 | Performance scaling |  |
 |
 | Single > dual Opteron 2,2GHz |  |     85,7% |  |
 |
 | Dual > quad Opteron 2,2GHz |  |     74,0% |  |
 |
 | Single > dual Xeon 3,06GHz 1MB HT |  |     81,9% |  |
 |
De 2,0GHz dual PowerMac G5 plaatst zichzelf net tussen de Opteron x44 (1,8GHz) en de Opteron x48 (2,2GHz). Anders gezegd; de G5 is in Cinebench op gelijke kloksnelheid net zo snel als de Opteron. Op basis van de G5-prestaties in Mathematica en Lightwave kunnen we concluderen dat Cinebench goed is geoptimaliseerd voor de G5. In Mathematica is de Opteron bijvoorbeeld een stuk sneller dan de G5 terwijl Lightwave iets sneller draait op de processor van AMD.
De impact van de L3 cache is in deze test wederom beperkt. Desondanks slaagt zelfs de dual Opteron 848 er niet in om de prestaties van de dual Xeon te evenaren. De voortreffelijke Hyperthreading-optimalisaties geven de Xeon een grote voorsprong en verbeteren de prestaties met maximaal 22 procent.
DIEP kunstmatige intelligentie
Multi-threaded: Ja
Besturingssysteem: Windows Server 2003
Geheugengebruik: 500MB
Gangbare foutmarge tussen verschillende runs: 1-2%
Maximum netwerk traffic: n.v.t., draait direct op server
Vincent Diepeveen is het brein achter de schaaksimulatie DIEP. NUMA-systemen, of ze nu draaien op Itaniums, Opterons, Xeons of SGI MIPS-processors, hebben allen Vincent's schaakprogramma gedraaid. DIEP is een extreem complexe en intensieve applicatie die volledig uit integer instructies bestaat. Het programma is slechts 550KB in omvang en is een sterk verbeterd sinds de software voor het eerst werd geïntroduceerd in de workstationtests van Ace's Hardware. DIEP maakt in onze benchmarks gebruik van nog grotere hash tables met een omvang van 350MB. Hoewel de benchmark enigzins afhankelijk is van het geheugen-subsysteem is pure rekenkracht de voornaamste bottleneck. We zijn van mening dat DIEP een goede toevoeging is voor onze benchmark suite, aangezien goede branch prediction van zeer groot belang is voor de volgende generatie software die gebaseerd zal zijn op geavanceerde AI-algoritmen. DIEP werd getest met een diepte van dertien stappen:
 |
 | DIEP 2.00 (Knodes/s) |  |
 |
 | Quad Opteron 848 |  | 4 threads |  |   485 |  |
 |
 | Quad Opteron 844 |  | 4 threads |  |   408 |  |
 |
 | Dual Opteron 848 |  | 2 threads |  |   256 |  |
 |
 | Dual Xeon 3,06GHz 1MB L3 |  | 4 threads |  |   227 |  |
 |
 | Dual Itanium 2 1,3GHz 3M |  | |  |   170 |  |
 |
 | Dual Xeon 3,06GHz 1MB L3 |  | 2 threads |  |   168 |  |
 |
 | Opteron 848 |  | 1 thread |  |   137 |  |
 |
 | Athlon 64 FX-51 |  | |  |   134 |  |
 |
 | Pentium 4 3,2GHz EE |  | |  |   123 |  |
 |
 | Dual Xeon 3,06GHz 1MB L3 |  | 1 thread |  |   95 |  |
 |
 | Performance scaling |  |
 |
 | Single > dual Opteron 2,2GHz |  |     86,9% |  |
 |
 | Dual > quad Opteron 2,2GHz |  |     89,5% |  |
 |
Dankzij een goede vriend kregen we de mogelijkheid om onze resultaten te vergelijken met die van een SGI Origin 3800 supercomputer. Eén Origin 3800 rack bestaat uit 128 SGI MIPS R14000K processors met 8MB L2 cache en een kloksnelheid van 500MHz. Deze opstelling heeft een performance van 1.681 Knodes per seconde. Toegeven, de Origin 3800 is een al wat ouder systeem, maar de resultaten illustreren wel dat de Opteron een uitermate goed gebalanceerde HPC- en serverprocessor is. De processor heeft geen echte zwakke punten, met uitzondering van de (theoretisch) lage SSE2 FLOPS peak performance. Dat is echter een gevolg van de relatief lage kloksnelheid van de Opteron.
De dual Itanium 2 1,3GHz 3M haalt in DIEP een prestatieniveau van ongeveer 170 Knodes/s. We zijn er daarom behoorlijk zeker van dat zelfs een quad Itanium 2 1,5GHz niet voldoende snel is om de prestaties van de quad Opteron 848 te verbeteren in deze specifieke discipline. We kunnen concluderen dat de Opteron echt floreert in dit soort AI (Artificial Intelligence) workloads. De schaalbaarheid is ook erg goed: het verdubbelen van het aantal processors resulteert in bijna 90 procent betere prestaties.
Conclusie
Omdat het uitvoeren en in het bijzonder het verifiëren van serverbenchmarks enorm veel tijd vergt, hebben we in dit artikel slechts een beperkt aantal applicaties kunnen testen. We realiseren ons daarom dat de conclusies alleen betrekking hebben op een beperkt deel van de toepassingen in de dual processor servermarkt. De benchmarks op de voorgaande pagina's hebben ons inzicht gegeven in de prestaties van de Xeon en de Opteron voor webserver, datamining MySQL en 3D rendering toepassingen.
In 3D rendering-toepassingen presteren de Opteron en de Xeon vrijwel gelijk waarbij de Xeon een kleine voorsprong heeft. De Opteron schaalt echter wel iets beter bij stijging van de kloksnelheid en toename van het aantal processors (zoals zichtbaar in de 3DStudio Max benchmarks). De Xeon heeft Hyperthreading als wapen. Wanneer het aankomt op (Java) webservers en MySQL, dan heeft de Opteron een duidelijk voordeel. In een aantal gevallen wordt de Xeon simpelweg verpletterd door de Opteron. Gelukkig voor Intel levert de Xeon enig verzet in de benchmarks die worden gedomineerd door gzip compressie.
ApacheBench mag dan een in hoge mate synthetische benchmark zijn, de resultaten van onze tests laten wel duidelijk zien dat de Opteron nog veel onbenut potentieel heeft. 64-bit software, geoptimaliseerde AMD64-drivers en besturingssystemen met NUMA-optimalisaties kunnen de prestaties van de Opteron ver boven het niveau tillen van de resultaten die we in de hedendaagse prestatievergelijkingen hebben gezien. Met name NUMA-optimalisaties kunnen een reeël verschil maken voor multi-processor configuraties. Het mag daarom geen wonder heten dat AMD en Sun samenwerken aan 8-way+ implementaties van de Opteron-architectuur.

Tot nu toe prijst AMD vooral de enorme bandbreedte van de dual en quad Opteron als het grote voordeel van de Opteron-architectuur ten opzichte van de Xeon. In de meeste applicaties speelt de geheugenlatency echter een grotere rol. Als het besturingssysteem alle threads lokaal kan houden ten opzichte van de processor waarop de betreffende threads worden uitgevoerd, kan de latency in een multi-processor systeem gelijk blijven. Een Xeon-systeem zal een hogere latency zien telkens als de bus met een andere processor gedeeld moet worden.
Het Quartet-systeem bewijst dat het Opteron-platform wat betreft de hardware al voldoende volwassen is geworden om in de markt de concurrentie aan te gaan met de Xeon en de Itanium. De Opteron komt met een sublieme performance en heeft alle RAS features waarover een moderne serverprocessor moet kunnen beschikken. Enkel de brede ondersteuning van softwarefabrikanten ontbreekt nog.
Al met al is de Opteron de beste serverprocessor in zijn prijsklasse. We betwijfelen of de 3,2GHz Xeon DP met 2MB L3 cache, die begin dit jaar ten tonele zal verschijnen, daar veel verandering in zal kunnen brengen. De Opteron blijft waarschijnlijk de snelste processor voor servertoepassingen totdat Intel de Nocona-core - een 'Xeon Prescott' op 3,4GHz tot 3,5GHz met 1MB L2 cache en 800MHz FSB - op de markt brengt. Deze processor wordt aan het einde van het tweede kwartaal verwacht.