Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Nehalem Xeon EP-uppdatering: för bra men sant

Vi blev ganska förvånade, till och med lite misstänksamma, när HP och Fujitsu-Siemens publicerade sina SAP-nummer. Dessa siffror visade att den nyaste Xeon X5570 (Nehalem EP)-serien erbjuder en enorm prestandaökning jämfört med Xeon X5470 (Harpertown). När allt kommer omkring är en nästan 100 % förbättring vid en något lägre hastighet (2,93 GHz vs 3,3 GHz) inget annat än fantastiskt. Det visar sig att den verkliga klockhastigheten är 3,2 GHz (2,93 GHz + 266 MHz turbo) men det ändrar inte det faktum att det här är verkligen otroliga prestandasiffror.

Jag kan nu bekräfta att det inte finns några knep bakom dessa siffror: de målar upp den rätta bilden om Xeon Nehalem EP. När vi pratade med SAP benchmarking-specialister blev det klart att det finns få trimknep som inte är kända för den stora OEM. Riktmärket har analyserats och justerats så väl att även användningen av en annan databas (till exempel MS SQL istället för DB2) bara gör en skillnad på 2 till 3 % för det mesta. Så du kan till och med jämföra SAP-nummer som erhålls på olika databaser. För att återuppta, SAP-siffrorna kan bara förstärkas av bättre hårdvara (CPU-minne).

Varför pratar jag så mycket om SAP-benchmarking-siffror? Det är inte som att den dyra ERP-mjukvaran drivs av alla.

Tja, SAP-numren visar en dubbel 2,93 GHz (eller 3,2 GHz) Xeon slår den enda fyrhjuling AMD 8384 (Shanghai vid 2,7 GHz) poäng på 22000 vi har hittills. Visst, en bladserver är oftast lite långsammare. Men fyra AMD 8384 2,7 GHz kommer att vara i samma liga som en dual Xeon X5570, som kommer att släppas mycket snart nu.

Ännu värre för AMD är det SAP-riktmärket är inte något exotiskt exceptionellt benchmarkingfall för Xeon 55xx-serien. Det ska inte vara någon överraskning att HPC-siffrorna också kommer att vara mycket imponerande. Så det ser ut som att AMD är i en tuff plats.

Vad hände?

Eftersom SAP-trådarna delar mycket data (som är typiskt för den här typen av databasdrivna applikationer), kan hyperthreading inte vara den enda förklaringen till varför Nehalem helt enkelt fördubblar prestandan och utplånar konkurrenterna. SAP benchmarking-specialister förväntar sig att hyperthreading är bra för ungefär en tredjedel av prestandaökningen. Vi tenderar att tro på dessa människor som utfört detta riktmärke i flera år nu. Anledningen till att det inte är ett av “toppfallen” för hyperthreading på Nehalem är att detta OLTP-baserade benchmark spenderar mycket tid på delad data. Vår egen Nehalem OLTP benchmarking (Oracle och MySQL) pekar också i den riktningen.

Som vi har påpekat tidigare även riktmärket

  • svarar mycket bra på cache med låg latens och minneslatens
  • bryr sig inte så mycket om minnesbandbredd
  • och är mycket känslig för “synkroniseringslatens”.

Eftersom AMD Shanghai CPU har samma snabba sätt att synkronisera mellan kärnor (via L3-cachen) som Nehalem, kan den inte förklara varför AMD hamnar efter. En annan förklaring är förstås att dessa riktmärken körs på en CPU som använder turbo, vilket förklarar ungefär 5% fördel då Nehalem CPU faktiskt körs på 3,2 GHz.

Nehalem har snabbare tillgång till minnet än AMD:s senaste quadcore (70 ns vs 110 ns), vilket förmodligen är den andra anledningen till att Shanghai hamnar efter. Men AMD kommer förmodligen att behöva omdesigna sin heltalsexekveringspipeline avsevärt innan den kommer ikapp Nehalem (tänk till exempel minnesdisambiguation). I grund och botten döljde AMD:s bättre NUMA – integrerade minneskontrollplattform denna nackdel. Nu när den nya Intel-plattformen inte sätter “bromsen” på heltalsexekveringsmotorn längre, visar sig överlägsenheten hos Intels heltalsmotor.

Bristen på någon form av multi-threading skadar AMD illa. Det är välkänt att de flesta av dessa affärsapplikationer uppnår mycket låg IPC (0,2-0,6) och att moderna superskalära processorer har gott om exekveringsresurser för att köra två trådar i dessa applikationer. Resultatet är att Simultaneous Multi Threading erbjuder en typisk prestandafördel på 20 till 40 %. Och det är enormt, med tanke på att du behöver 25 till 50 % högre klockhastighet för att motverka det. Det är i grunden ett uppdrag omöjligt för en modern CPU utan SMT att överträffa en liknande superskalär CPU med SMT i OLTP, Java, webbserver, rendering och ERP-arbetsbelastningar. AMD tappade verkligen bollen där, SMT borde ha varit en del av K10-arkitekturen.

Svåra tider framför AMD

Även om AMD kan snabba upp över 3 GHz är chansen liten att AMD kommer att kunna konkurrera med de nya Nehalem Xeons. Lägg till Turbo-läge, hypertrådning, en minneskontroller med lägre latens och en bättre heltalskärna tillsammans så får du ett prestandagap lika stor som “Grand Canyon”.

Så har AMD någon chans överhuvudtaget utöver en ny arkitektur 2011? Är det över och slut för AMD 2009 och 2010? Att lägga till 2 kärnor i slutet av 2009 är ett bra steg i rätt riktning. Men även om AMD kör felfritt kommer 32 nm Xeon Westmere bara att ge ett fönster på några månader till AMD hexacore “Istanbul”. Istanbul bör dyka upp i slutet av 2009, Westmere Xeon är planerad till mycket tidigt 2010.

Westmere har få prestandaoptimeringar, det verkar vara en ganska okomplicerad krympning. Något högre klockhastigheter, cirka 20 % lägre strömförbrukning och ytterligare ett tillägg till den löjligt långa listan med SSE-instruktioner i form av sju nya instruktioner (sex instruktioner är för krypto/AES-acceleration). Westmere är bara ett evolutionärt steg framåt, men “Grand Canyon”-gapet som Nehalem EP har gjort är förmodligen tillräckligt stort.

Det är säkert att vi kommer att se bättre (lägre) virtualiseringsväxling från virtuell maskin till hypervisortid och några små justeringar i AMD:s Istanbul CPU, men det är fortfarande oklart om det finns några betydande prestandahöjare i kärnan. Så det ser ut som att Intel kommer att äga utrymmet med dubbla uttag under 2009 och 2010, om vi får tro de nuvarande färdplanerna.

Som SAP-siffrorna indikerar kommer även de långsammaste Intel Xeons att visa ett stort prestandagap med de bästa AMD Opteron. Är AMD helt dömd? På en stor del av marknaden, ja. AMD:s istanbul kommer att göra gapet lite mindre men förmodligen inte tillräckligt litet.

Det finns några okända faktorer som tillsammans med en av de få kvarvarande svagheterna (eller snarare mindre starka sidorna) hos Nehalem kan göra det möjligt att AMD:s opteron kommer tillräckligt nära i ett visst område av marknaden. I mitt nästa inlägg kommer jag att förtydliga den enda möjligheten som jag ser för AMD under de kommande två åren. Tills dess, skjut inte budbäraren :-).