Om du har uppmärksammat teknikpressen under de senaste 12-18 månaderna, kanske du har märkt ett ganska stort antal negativa historier om Intels processorverksamhet. En noggrann övervakning av hårdvaruentusiaster, inklusive många av de mest respekterade hårdvaruanalytiker och granskare, målar upp en ännu mer förfärlig bild av Intel i serverprocessorutrymmet.
Trots allt detta kommer Intel inte att förlora hela sin serverprocessorverksamhet inom kort. Jag är dock fast övertygad om att Intel kommer att förlora betydande marknadsandelar under de kommande 12-18 månaderna efter lanseringen av de kommande 7nm AMD EPYC "Rome" serverprocessorerna. Med betydande marknadsandelar talar jag i intervallet 10-15% under den tidsperioden. De tidigare AMD EPYC "Naples"-processorerna har "primat pumpen" i serverutrymmet, och de stora serverleverantörerna är nu mycket mer mottagliga för AMD.
Under många år rådde jag uttryckligen människor att inte köra sina SQL Server-arbetsbelastningar på AMD-hårdvara på grund av den mycket lägre entrådiga CPU-prestanda och följaktligen högre SQL Server-licenskostnader. Nu råder jag folk att starkt överväga AMD för SQL Server-arbetsbelastningar eftersom AMD EPYC "Rome"-processorer släpps under tredje kvartalet 2019. Så, vad har ändrat mig?
Tick-Tocks död
Från 2007 till 2016 kunde Intel framgångsrikt genomföra sin Tick-Tock-releasestrategi, där de skulle introducera en ny processormikroarkitektur ungefär vartannat år (en Tock-release). Ett år efter en Tock-release skulle Intel ta samma mikroarkitektur (med några mindre förbättringar) och använda en krympning av tillverkningsprocessen för att skapa en Tick-release.
Detta skapade en förutsägbar releasekadens och gav också betydande prestandavinster och andra förbättringar med varje release, särskilt Tock-släpp. Detta gjorde det enklare för databasproffs att göra fallet med en hårdvaruuppgradering och gjorde den typiska uppgraderingen mer värd.
Tick-Tock release-cykeln föll i princip sönder omkring 2015, eftersom Intel inte kunde gå från en 14nm tillverkningsprocess till en 10nm tillverkningsprocess. Intel har fastnat vid 14 nm i serverutrymmet sedan Broadwell-släppet under fjärde kvartalet 2016. Intel gick officiellt vidare till vad de kallar "Process- Architecture-Optimization (PAO)" i början av 2016.
Detta har lett till en mycket märkbar minskning av generationsprestandaökningar sedan Broadwell-EP, som visas i figur 1. Dessa siffror är uppskattade TPC-E-poäng för en två-socket server med två, åtta-kärniga processorer, som använder de snabbaste åtta- kärnprocessor från varje generation.
Figur 1:Generationell Intel Xeon-prestanda ökar
Brist på konkurrens i serverutrymmet
Intels serverprocessorer har historiskt sett levererat betydligt bättre entrådad CPU-prestanda och lägre strömförbrukning än konkurrerande AMD-processorer sedan Intel Nehalem-mikroarkitekturen 2008. Denna situation var så dålig att Microsoft erbjöd 25 % rabatt på kostnaden för SQL Server-processorlicenser för SQL Server 2012 och SQL Server 2014, om du körde på kvalificerade AMD Opteron-processorer med sex eller fler kärnor.
Även med denna licensrabatt på 25 % var det inte riktigt kostnadseffektivt att använda AMD Opteron-processorer för SQL Server-användning, på grund av deras extremt dåliga entrådiga prestanda. Du kan enkelt få mer total CPU-kapacitet, bättre entrådad CPU-prestanda och mycket lägre SQL Server-licenskostnader med en lämplig, modern Intel Xeon E5- eller E7-processor under den tidsperioden.
Eftersom Intel inte hade någon hållbar konkurrens ur ett prestandaperspektiv, hade de små incitament att fortsätta att förnya sig i samma takt. Intel blev självbelåtna under de senaste tio åren och det slutade med att öppna upp en stor möjlighet för AMD. AMD har utnyttjat detta med sin Zen-arkitektur och nya Zen 2-arkitektur, med hjälp av en modulär, 7nm tillverkningsprocess från Taiwan Semiconductor Manufacturing Company (TSMC).
Sårbarheter för Intel-processorsäkerhet
Till Intels elände är en serie processorsårbarheter som har upptäckts och publicerats under de senaste 18 månaderna. Dessa inkluderar Spectre, Meltdown, Foreshadow och deras varianter, tillsammans med nyare bedrifter som Zombieload. Generellt sett är moderna Intel-processorer mer sårbara för dessa typer av attacker än moderna AMD-processorer är.
- AMD Product Security
- Information om Intel Product Security Center
Äldre Intel-processorer är mer sårbara för dessa utnyttjande, och de lider mer av en prestandaförsämring från befintlig mjukvara och fixar på firmwarenivå. De senaste Intel Cascade Lake-SP-processorerna har begränsningar på hårdvarunivå för vissa av Spectre- och Meltdown-exploaterna, vilket minskar prestandapåverkan jämfört med tidigare begränsningsåtgärder på fast programvara eller mjukvarunivå.
Jag skrev ett antal blogginlägg om detta redan i januari 2018, inklusive dessa:
- Kontrollera din SQL Server-instans för Spectre/Meltdown Patches
- Kontrollera din härdsmälta och spökreducerande status i Windows
Microsofts aktuella SQL Server-specifika vägledning om detta ämne finns här.
AMD EPYC 7002-serien "Rom" Höjdpunkter
7nm AMD EPYC 7002 "Rome"-processorerna kommer att ha mellan 8 och 64 fysiska kärnor, plus Simultaneous Multi-Threading (SMT), som är AMD-motsvarigheten till Intel Hyper-Threading. De kommer också att ha upp till 256 MB L3-cache per processor.
AMD hävdar en ökning med 15 % av instruktioner per klocka (IPC) mellan stationära Zen+- och Zen 2-generationer, och vi kommer sannolikt att se en liknande ökning mellan de tidigare AMD EPYC 7001 "Naples" och AMD EPYC 7002-seriens processorer.
Än så länge vet vi inte de officiella bas- och turboklockhastigheterna, men det har nyligen skett en läcka av partiella specifikationer och prissättning från en europeisk återförsäljare som listade maximala klockhastigheter på upp till 3,4 GHz. Vi kommer inte att veta den faktiska entrådiga prestandan för dessa processorer förrän de har släppts och riktmärkts av neutrala tredjepartstesters. Jag är optimistisk att de kommer att ha högre entrådad CPU-prestanda än Intel Cascade Lake-SP-processorer.
Dessa Rome-processorer kommer att ha åtta minneskanaler som kommer att stödja DDR4-3200-minne, med upp till 4TB RAM per sockel. Processorn kommer också att stödja 128 PCIe 4.0-banor (som har dubbelt så mycket bandbredd som PCIe 3.0-banor). Så mycket minne och I/O-bandbredd kommer att göra denna processor till ett utmärkt val för arbetsbelastningar av DW-typ.
Hårdvaruleverantörer är ganska entusiastiska över Rom, med Dell planerar att tredubbla antalet AMD-baserade servermodeller som erbjuds i slutet av 2019. Om den läckta prisinformationen är korrekt kommer AMD Rome-processorer att vara betydligt billigare än Intel Cascade Lake- SP-processorer.
Figur 2:AMD EPYC Rome-processor
Hur är detta relevant för SQL Server?
Du kanske frågar varför du bör bry dig om allt detta som en SQL Server Database-proffs? Det finns många anledningar! Dessa inkluderar din totala server-CPU-kapacitet, din entrådade CPU-prestanda, din minnestäthet och kapacitet, din totala I/O-kapacitet och dina SQL Server 2017/2019 licenskostnader.
Jag tror att det finns ett stort antal befintliga SQL Server-instanser där ute som körs på äldre versioner av SQL Server, på äldre versioner av Windows Server, kanske på äldre versioner av en hypervisor, som huvudsakligen körs på äldre generationer av Intel Xeon-processorer. Många organisationer har hållit igång sina äldre miljöer i ett antal år och väntat på en uppsättning värdefulla skäl för att äntligen göra en fullständig uppdatering av dataplattformen. För många av dessa organisationer kommer andra halvan av 2019 till första halvan av 2020 att vara ett fönster där det kommer att vara vettigt att äntligen uppgradera.
När du väl har tagit beslutet att uppgradera bör du fundera på om du vill köra dina SQL Server-instanser på en AMD-plattform eller en Intel-plattform. På grund av fördelarna med AMD Zen 2-arkitekturen kan det vara det bästa valet att välja en AMD-plattform för din(a) nya server(ar) ur flera perspektiv. Dessa inkluderar troligen bättre entrådad CPU-prestanda, bättre multitrådad CPU-prestanda, högre minnestäthet och kapacitet, högre minnesbandbredd, högre I/O-bandbredd, bättre säkerhet på hårdvarunivå och lägre processorpriser.