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?
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.
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.