Bästa tipsen från Black Week

AMD avslöjar Epyc "Rome" med 64 kärnor Zen 2 och PCI Express 4.0

Permalänk
Hedersmedlem
Skrivet av Yoshman:

Virtualisering

...
En självklarhet i dessa fall är att man inte vill att en enskild VM-instans någonsin ska köra i mer än en NUMA-zon, det är sant vare sig man kör på AMD, Intel eller någon av ARM systemen.

Trivial kombinatorik säger att det är långt mycket enklare att utnyttja sina tillgängliga CPU-resurser på ett system med två st 16-kärninga CPUer än på ett med fyra åtta-kärninga CPUer...

Så i Intel-fallet skulle bara en komplett idiot köpa in en Xeon 8180 Platinum....

Sen undrar jag hur många system där CPU-kraft verkligen är den resurs som tar slut. Varierar naturligtvis mellan användarfall, men i de fall jag jobbat med är I/O typiskt flaskhalsen. I det fallet är saker som kostnad för vm-enter/vm-exit samt vilket HW-stöd som finns för att undvika vm-exit långt viktigare än antal CPU-kärnor.

Om du vill åstadkomma optimal prestanda kan du naturligtvis arbeta med att låsa inställningarna för NUMA-zoner och fysiskt se till att CPU:n ligger inom enkla specifikationer. Mycket strikta NUMA inställningar har dock sällan varit att föredra då det kan leda till stora problem. För att hålla mig till KVM har det därför utvecklats olika tekniker där detta automatiskt hanteras av kärnan för att bibehålla viss flexibilitet och ändå inte förlora för mycket i prestanda. Det har hänt en del på senare år. För egen del var det ändå smidigast med 16-kärnor, men att det skulle vara en antagen standard för att man tycker att det är jobbigt med att optimera systemen har jag inte sett belägg för.

Nej, med priset för Xeon 8180 är man oavsett en idiot om man jämför det rakt av med något ur den nuvarande Epyc-familjen, så det passar väl knappast ändå in på frågeställningen om pris i förhållande till prestanda/funktionalitet.

Det du skriver om CPU-kraft är ju precis det jag själv skrivit och pekat på att det finns annat som kan tala för Epyc. Går inte resonemanget lite runt-runt här?

Citat:

Serverar som inte behöver stor beräkningskraft

Två Xeon Silver är både billigare än motsvarande Epyc, ger endast två NUMA-noder mot fyra och det är i runda slängar dubbel bandbredd mellan NUMA-noderna (tredubbelt om man kör Xeon Gold 6xxx eller Platinum) på Intel när den har två NUMA-noder, vid fyra är det samma som för Epyc.

Problemet här med fyra NUMA-noder är att även I/O är uppdelad i fyra zoner. Det finns en relativt begränsad bandbredd mellan CPU-chiplets, en bandbredd som delas mellan PCIe enheter som sitter på "fel" CPU-krets (vilket är 3/4 på Epyc men bara 1/2 i en dual-socket Intel), minnesaccesser mellan NUMA-noder samt cache-koherens.

I den design AMD valt för Rome löser man det mesta av den problematiken, man har kvar cache-koherens och råder lite delade gissningar mellan hur PCIe fungerar. Jag är dock övertygad om att I/O-kretsen kommer hantera även PCIe, det löser i så fall helt den problematiken.

Förutom bandbreddsproblemet, som bara är ett problem vid hög last, får man alltid ett latensproblem med Naples designen för all I/O som går till "fel" CPU-krets. Spelar inte roll i vissa fall, men är helt avgörande för vilka "worst-case" garantier man kan ge.

Du vet säkerligen då också att Intel av något skäl begränsat sina PCIe banor, så oavsett om Naples inte är optimalt enligt dig, har vi en skillnad. Om Rome förbättrar prestandan gör det ju inte saken sämre. Det jag utgått ifrån är system i drift där antalet PCIe banor blev avgörande och där det enkom gjorde Intel till en sämre och dyrare lösning.

Citat:

Uppgraderingar

Ser överhuvudtaget inte vilken fördel som skulle finnas här. Man måste inte köpa Xeon 8180 eller någon annan 205 W TDP modell, finns rätt många SKUs att välja på.

Är snarare så att det just på denna punkt finns långt mer flexibilitet hos Intel och Cavium (Thunder X2) då de har en flora av TDP-nivåer och kärn-konfigurationer att välja på.

Vi kan diskutera specifikationer och designval hur mycket vi önskar, men i slutändan måste du ändå köpa och få produkten levererad. Floran har inte växt särdeles frodigt. Ett scenario är att Dropbox sa sig ha valt 1-sockel Epyc 7351P för just den typen av uppgraderingar. Dåligt eller bra val, jag är inte den rätte att bedöma det, utan antar att de vet vad de gör.

Jag får lite intrycket efter att ha läst ditt svar, vilket jag tackar för, att vi ändå stampar lite på samma plats. Du kan uppenbarligen Intels produktutbud mycket väl. Visst, med tanke på att Intel har en lista på processorer som är längre än hela white-paper för Epyc, så förstår jag att man säkerligen kan hitta fler optimerade lösningar. Fortfarande uppfattar jag det ändå som att vi hamnar någonstans på labbnivå om teoretiska arbetslaster, vilket jag inte riktigt får ihop med hur det blir i verklig drift.

Permalänk
Medlem
Skrivet av Tomika:

@ajp_anton: 2 sekunder är inte särskilt wow när Intel 2S system lider av ännu mer prestanda förlust vs AMDs enkel socket system. Tycker prestandan borde vara bättre än vad den är speciellt med 7nm och 1S CPU.
Bägge system kör lika antal kärnor och trådar. Sen om AMDs system drar hälften av Intels system är ganska ointressant om man tittar på ren prestanda vid beräkning. Kunder som kör hårdvara för flera miljoner är ju inte kunden som gråter över 50W hit eller dit i förbrukning.

Ehum, jo det är max prestanda per watt som gäller om man köper sån HW, ta tex Parallelldatorcentrum på KTH:

Citat:

Huvudsystem vid PDC är Beskow, en Cray XC40 med 2060 noder, 67 456 kärnor och en topprestanda nära 2,5 petaflops, för närvarande det största systemet för vetenskapliga beräkningar i de nordiska länderna.

Så några W hit eller dit per kärna gör en hel del.

Permalänk
Datavetare
Skrivet av KimTjik:

Om du vill åstadkomma optimal prestanda kan du naturligtvis arbeta med att låsa inställningarna för NUMA-zoner och fysiskt se till att CPU:n ligger inom enkla specifikationer. Mycket strikta NUMA inställningar har dock sällan varit att föredra då det kan leda till stora problem. För att hålla mig till KVM har det därför utvecklats olika tekniker där detta automatiskt hanteras av kärnan för att bibehålla viss flexibilitet och ändå inte förlora för mycket i prestanda. Det har hänt en del på senare år. För egen del var det ändå smidigast med 16-kärnor, men att det skulle vara en antagen standard för att man tycker att det är jobbigt med att optimera systemen har jag inte sett belägg för.

Linux-kärnan låser inte saker hårt till en specifik NUMA-zon, det var inte heller vad jag åsyftade med "trivial kombinatorik". Däremot har Linux (och förhoppningsvis datacenterversionen av Windows) en relativt hög tröskel mot att köra trådar från samma process på CPU-trådar som tillhör olika NUMA-zoner.

Vad schemaläggaren istället föredrar om det är obalans mellan NUMA-zoner är att helt sonika flytta den fysiska lagringen av RAM-innehåll för vissa processer till en annan NUMA-zon och även flytta dit alla trådar för den processen. Klart enklare för den som driftar än att låsa på NUMA-zoner och själv försöka balansera (de flesta skulle i slutändan göra ett sämre jobb manuellt än vad schemaläggaren redan gör automatiskt).

Men även i detta fall är Epyc Naples rätt mycket "broken by design" just då man har hela fyra NUMA-zoner med relativt få CPU-kärnor i varje. Schemaläggaren kommer behöva balansera om oftare och när den behöver balansera om så har ju ett Intel dual-socket system två (Brons/Silver/Gold 5xxx) eller tre (Gold 6xxx/Platinum) gånger mer bandbredd mellan NUMA-zoner så går snabbare allt balansera om.

Skrivet av KimTjik:

Nej, med priset för Xeon 8180 är man oavsett en idiot om man jämför det rakt av med något ur den nuvarande Epyc-familjen, så det passar väl knappast ändå in på frågeställningen om pris i förhållande till prestanda/funktionalitet.

Huvudpunkten för Platium-serien är att den går att skala till väldigt stora system, max just nu är 8P vilket ger 224 kärnor / 448 trådar och upp till 12 TB RAM. Har man inte den typen av krav är det verkligen pengarna i sjön att köpa Platinum.

En funderare för de som tror allt handlar om antal kärnor per kr, varför finns det en 4C/8T Xeon Platinum för ~$7000 (stödjer fortfarande lika mycket RAM och I/O som andra modeller i familjen)?

Skrivet av KimTjik:

Det du skriver om CPU-kraft är ju precis det jag själv skrivit och pekat på att det finns annat som kan tala för Epyc. Går inte resonemanget lite runt-runt här?

?

Det som i princip alltid framhållits är ju det konkurrenskraftiga priset per kärna hos Epyc. Så tyckte ditt exempel här belyste att det finns andra saker än kärnor per kr som är viktiga. Testa att bencha kostnad för vm-exit/vm-enter, fundera sedan på om det kanske inte finns saker som är rätt viktiga som aldrig kommer fram i forumdiskussioner (hoppas de som köper in prylarna har koll på sådant, men är inte helt säker).

Skrivet av KimTjik:

Du vet säkerligen då också att Intel av något skäl begränsat sina PCIe banor, så oavsett om Naples inte är optimalt enligt dig, har vi en skillnad. Om Rome förbättrar prestandan gör det ju inte saken sämre. Det jag utgått ifrån är system i drift där antalet PCIe banor blev avgörande och där det enkom gjorde Intel till en sämre och dyrare lösning.

Läser man AMDs whitepaper säger det rätt tydligt något som de nog inte tänkte på: 30-40 % av alla servers som har möjlighet till att ha två CPUer skeppas bara en med en CPU och relativt få uppdateras till att ha två CPUer under sin livslängd.

Tycker man kan dra i alla fall två slutsatser här

  • 48 + 28 PCIe var inte en flaskhals

  • lasten ökade inte tillräckligt under serverns livslängd för att göra antalet CPU-kärnor till en flaskhals stor nog att motivera en uppgradering

I/O tar relativt mycket kretsyta, så något måste betala för om kretsar skeppas med långt mer I/O än vad som kommer användas i praktiken. Det är endera kunden i form av högre priser eller tillverkaren i form av lägre marginaler.

I Intels fall är man väldigt mån om sina marginaler, vidare är ju grundfilosofin med Skylake SP just att det ska vara en plattform med legobitar flexibla nog för att kunna ge en produkt som passar nästan alla. Det ligger i namnet, SP = Scalable Platform.

Skrivet av KimTjik:

Vi kan diskutera specifikationer och designval hur mycket vi önskar, men i slutändan måste du ändå köpa och få produkten levererad. Floran har inte växt särdeles frodigt. Ett scenario är att Dropbox sa sig ha valt 1-sockel Epyc 7351P för just den typen av uppgraderingar. Dåligt eller bra val, jag är inte den rätte att bedöma det, utan antar att de vet vad de gör.

Och sa specifikt att det finns områden där Epyc Naples design passar, där man har haft framgång är främst med deras billigaste CPU i fall där man är ute efter maximal I/O-kapacitet per krona och där CPU-kraft är mer eller mindre irrelevant.

Detta är en nisch som AMD utan tvekan blev en ledare i med deras single-socket Epyc serie. Vare sig Intel eller ARM-tillverkarna har en direkt konkurrent i detta segment.

Men tror nog alla, undertecknad inkluderad, rätt mycket förutsatte att vi vid ingången i Q4 2018 skulle se ett AMD med väsentligt högre marknadsandel på serversidan än de 1,5-2 % de bedöms ha nu. Givet alla problem Intel dras med är jag övertygad om att problemet de haft med Epyc Naples är att designen passar tyvärr väldigt illa i de flesta servertillämpningar.

Blir väldigt spännande att se vilken marknadsandel AMD har denna tid nästa år. För Epyc Rome ser i alla fall på pappret ut att vara en design som kan konkurrera på ett väldigt bra sätt i långt fler segment.

Skrivet av KimTjik:

Jag får lite intrycket efter att ha läst ditt svar, vilket jag tackar för, att vi ändå stampar lite på samma plats. Du kan uppenbarligen Intels produktutbud mycket väl. Visst, med tanke på att Intel har en lista på processorer som är längre än hela white-paper för Epyc, så förstår jag att man säkerligen kan hitta fler optimerade lösningar. Fortfarande uppfattar jag det ändå som att vi hamnar någonstans på labbnivå om teoretiska arbetslaster, vilket jag inte riktigt får ihop med hur det blir i verklig drift.

Skulle inte säga att jag kan Intels produktblad mer än att min läsförståelse upphör inte bara för att det är Intel som står för informationen. Det finns väldigt många SKUs p.g.a. enkel kombinatorik.

Som spekulant behöver du bestämma: vilket TDP är vettig, hur mycket I/O behöver jag och hur många kärnor är lämpligt. "SP" delen i Skylake SP verkar refererar mycket till att man har i princip en SKU för (nästan) varje möjlig kombination av dessa krav.

Personligen försöker jag allt mer undvika både Intel och AMD på serversidan. Använder i princip bara Linux på servers och därför är numera alltid förstahandsvalet en 64-bitars ARM-plattform, förutsatt att det är möjligt. 64-bitars ARM är helt överlägsen x86 på så många sätt, sedan något år tillbaka stöds denna plattform officiellt av spelar som RedHat och Canonical.

ARM klantade sig i att försöka ge sig in i servers redan på 32-bitars tiden. 32-bitars ARM är precis som x86 en ISA med väldigt mycket historisk dynga och många av de dåliga designidéerna var extra dålig för servers. Många har kvar en bitter eftersmak av detta, undrar hur många som faktiskt förstår att 64-bitars ARM har lika mycket med 32-bitars ARM som det har med x86 att göra. Det är en helt separat ISA, designad mot bakgrund av de krav vi har 2018 (well, 2011 då ISA lanserades), inte de krav som var relevanta sent 70-tal, tidigt 80-tal...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Hedersmedlem

@Yoshman:

NUMA-zoner
Om det är ett problem eller inte att allokera om beror ju på en kombination av hårdvaru- och mjukvarukonfigurationen i övrigt. Om någon anser att uppdelningen vid 4-8 kärnor per zon är ett problem för den avsedda driften, har jag naturligtvis ingen invändning om de väljer en annan lösning. Jag ser dock, återigen, inte att detta styrker åsikten att Intel alltid är att föredra.

Citat:

Så tyckte ditt exempel här belyste att det finns andra saker än kärnor per kr som är viktiga. Testa att bencha kostnad för vm-exit/vm-enter, fundera sedan på om det kanske inte finns saker som är rätt viktiga som aldrig kommer fram i forumdiskussioner (hoppas de som köper in prylarna har koll på sådant, men är inte helt säker).

Helt klart intressant. Om det är en kostnad och något som kan räknas i pengar beror på användningsområdet. Om du har ett intressant fall att länka till skulle jag tycka det vara intressant att se vilka slutsatser som gjorts och vid vilken skala detta börjar bli en faktor.

Citat:

I/O tar relativt mycket kretsyta, så något måste betala för om kretsar skeppas med långt mer I/O än vad som kommer användas i praktiken. Det är endera kunden i form av högre priser eller tillverkaren i form av lägre marginaler.

I Intels fall är man väldigt mån om sina marginaler, vidare är ju grundfilosofin med Skylake SP just att det ska vara en plattform med legobitar flexibla nog för att kunna ge en produkt som passar nästan alla. Det ligger i namnet, SP = Scalable Platform.

Det kan man ju minst sagt säga att Intel är... på många sätt...

Tja, som jag redan skrev grundade sig det jag skrev på en konfiguration där en stack av servrar hade för enda syfte att "ta smällen" av hög dataström, för att sedan skicka vidare detta till långsammare system. I det här fallet sa sig företaget ha nyttjat det högre antal av NVMe enheter som Epyc ger. Jag har även sett att HP visar upp system där detta utnyttjas.

(Nu måste jag försöka fånga in en bebis som far runt här i rummet!)

Permalänk
Hjälpsam

Enligt Charlie kommer cpu-kretsarna bara prata med IO kretsen, inte direkt med varandra.
När man tänker efter låter det logiskt, använd all bandbredd mot IO-kretsen.
https://semiaccurate.com/2018/11/09/amds-rome-is-indeed-a-mon...

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Datavetare
Skrivet av KimTjik:

Helt klart intressant. Om det är en kostnad och något som kan räknas i pengar beror på användningsområdet. Om du har ett intressant fall att länka till skulle jag tycka det vara intressant att se vilka slutsatser som gjorts och vid vilken skala detta börjar bli en faktor.

Har inget jag kan länka till. Har för mig att t.ex. AnandTech har en del artiklar om servers där de bl.a. har information om förbättringar just kring vm-exit kostnader. Just detta är något man ser rätt ordentligt skillnad från Nehalem och fram till dagens Skylake.

Enda konkreta jag har är observationer jag gjort på mina egna system. När jag mätt nätverksprestanda mellan virtuella instanser (QEMU/KVM på Ubuntu server) har SKL-S presterar 50-100% bättre jämfört med Ryzen i system med ungefär motsvarande klockfrekvenser. Vet inte om det går att generalisera till andra former av I/O som t.ex. disk I/O.

Mitt frågetecken kring hur ofta antalet CPU-kärnor är flaskhals för virtualisering kommer primärt från att jag själv alltid upplevt att RAM brukar vara det som sätter käppar i hjulet först, sedan I/O-kapacitet.

De företag var virtualiseringsstrategier jag har lite insikt i pekar även det på att just I/O är där man ser största svårigheterna med. Men det kan självklart vara en funktion av att dessa företag håller på med saker där det är väldigt mycket I/O. Fast hur ofta har man en server där I/O inte är en huvudingrediens? Självklart finns renderingarfarmar och HPC, men svårt att se poängen att virtualisera sådana användarfall...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Olle P:

Oftare tittas väl på totalkostnaden och ROI?
I vissa specifika fall är få kärnor det ekonomiskt mest fördelaktiga på grund av hur programlicenserna är uppbyggda. Då vinner Intel.

Yep, ROI är var vikten ligger. Vilket typ är TCO per prestanda. (Total Cost of Ownership)
Dock så är licenskostnaderna inte per kärna, utan per sockel, d.v.s. dubbel-sockel system blir dubbelt så dyra som singel-sockel.
AMD visade någon siffra för uppskattad TCO i sin presentation och den är nästan hälften av Intels dubbel-sockel lösning. Nu är dessa visserligen partiska siffror, men med tanke på den välkända skillnaden i inköpskostnad mot Intel CPU:er och den halverade licenskostnaden så tror jag bestämt att det är en vettig siffra som inte skiljer sig märkbart mot verkligheten.

Permalänk
Medlem
Skrivet av Sears:

Yep, ROI är var vikten ligger. Vilket typ är TCO per prestanda. (Total Cost of Ownership)
Dock så är licenskostnaderna inte per kärna, utan per sockel, d.v.s. dubbel-sockel system blir dubbelt så dyra som singel-sockel.
AMD visade någon siffra för uppskattad TCO i sin presentation och den är nästan hälften av Intels dubbel-sockel lösning. Nu är dessa visserligen partiska siffror, men med tanke på den välkända skillnaden i inköpskostnad mot Intel CPU:er och den halverade licenskostnaden så tror jag bestämt att det är en vettig siffra som inte skiljer sig märkbart mot verkligheten.

Beror ju som sagt på vad man ska köra. Finns en hel del programvaror som licensen är per kärna eller t ex i steg om 4 eller 8 kärnor.

Permalänk
Hedersmedlem

Licenser är verkligen en djungel. Microsofts nya licensmodell för 2016 marknadsförs som en förenkling, vilket det å ena sidan är, men kan bli bisarrt dyr sett till hårdvarans pris och möjligheter.

Tydligen utgår du alltid ifrån den fysiska servern. Om servern har =<16 kärnor täcker det en standardlicens som i sin tur ger rätt till 2 vm:s. Så om du skulle välja att ha 6 Windows Standard vm:s, skulle du behöva köpa 6 st. Windows Server licenser (jag tror man hamnar någonstans kring 30 tkr exkl moms). Nästa steg om man vill strunta i antalet vm:s är Datacenter licens som då ligger på ca närmare 50 tkr för =< 16 kärnor. (allt är räknat som OEM licenser)

Så Microsoft har då åtminstone sett till att det inte ska missa en krona i intäkter, utan snarare tjäna ännu mer på något de inte förtjänar. Att köra Windows Server 2012 som vm är fortfarande klart billigare då den licenser följer en per socket prissättning. Den blir ca 75 % billigare per 4 vm:s.

(Jag är ingen expert på licenser och tycker det är ett krångligt område, så det finns säkert något fel i hur jag räknat.)