sql >> Database >  >> RDS >> Sqlserver

AMD EPYC 7002-serie processors en SQL Server

Op 7 augustus 2019 onthulde AMD eindelijk hun nieuwe 7nm EPYC 7002-serie serverprocessors, voorheen met de codenaam "Rome" op het AMD EPYC Horizon Event in San Francisco. Dit is de tweede generatie EPYC-serverprocessor die dezelfde Zen 2-architectuur gebruikt als de AMD Ryzen 3000-serie desktopprocessors. Deze nieuwe processors zijn socket-compatibel met de vorige generatie AMD EPYC 7001-serie processors, dus ze zullen werken in bestaande modelservers (met een BIOS-update). Desondanks heb je een nieuw model server nodig om PCIe 4.0-ondersteuning van de nieuwere processors te kunnen gebruiken.

De AMD EPYC 7002-serie omvat 19 openbare lancerings-SKU's met 8 tot 64 fysieke kernen, plus SMT, voor tweemaal het aantal logische kernen per processor. Er zijn veertien SKU's die werken in zowel servers met één socket als met servers met twee sockets. Er zijn ook vijf goedkopere processor-SKU's (die een "P"-achtervoegsel hebben) die alleen werken in servers met één socket. Deze processorfamilie heeft voldoende rekenkracht, geheugenbandbreedte en -capaciteit, en I/O-bandbreedte om grote serverworkloads op een single-socket server te ondersteunen.

Single-Socket Database Servers

AMD promoot absoluut het idee dat een op AMD Ryzen 7002 gebaseerde één-socket server een superieure vervanging is voor bijna elke op Intel gebaseerde server met twee sockets. Een AMD EPYC 7002-serie server met één socket kan maximaal 64 fysieke cores, 4 TB DDR4-3200 RAM en 128 PCIe 4.0 I/O-lanes hebben. Het zal ook minder stroom verbruiken dan een Intel-server met twee sockets, met lagere hardwarekosten en mogelijk lagere licentiekosten (voor zaken als VMware). Afbeelding 1 toont een voorbeeld van AMD die een server met twee sockets en twee Intel Xeon Gold 6262V-processors vergelijkt met een server met één socket met één AMD EPYC 7702P-processor.

Afbeelding 1:AMD-voorbeeld van Two-socket vs. One-socket Server

Dit idee is niet uniek voor AMD. Dell Vice President/Server CTO Robert W. Hormuth betoogde onlangs "Waarom Single-Socket Servers de toekomst kunnen regeren", waarin onder meer wordt gesproken over de wet van Amdahl, NUMA-overhead en stroomverbruik. Naarmate het aantal processorkernen blijft toenemen, zullen single-socket-servers logischer zijn voor veel workloads.

Er is al een zeer brede brancheondersteuning achter deze nieuwe processors, waarbij Dell EMC, HPE, Gigabyte, Lenovo, SuperMicro en TYAN nieuwe servermodellen voor deze processors aankondigen.

De eerste beoordelingen en benchmarks voor deze processors waren zeer indrukwekkend:

  • AMD EPYC 7002-serie Rome levert een knock-out
  • AMD Rome Tweede Generatie EPYC Review:2x 64-core Benchmarked
  • Een gedetailleerd overzicht van AMD's nieuwe Epyc "Rome" 7nm server-CPU's

TPC-H-benchmarkresultaten met SQL Server 2017

HPE heeft al een nieuw officieel TPC-H-resultaat ingediend op SQL Server 2017 voor een single-socket, HPE Proliant DL325 Gen10 1U-server van 743.750 QphH@1000GB. Dit systeem heeft één AMD EPYC 7502P 32-coreprocessor en 512 GB RAM. Als we 743.750 delen door 32 cores, krijgen we 23.242 per core. De prijs per QphH voor dit systeem is 0,34 USD.

HPE heeft een eerder officieel TPC-H-resultaat op SQL Server 2017 voor een HPE Proliant DL380 Gen 10-server met twee sockets die 1.009.065 QphH@1000GB bedroeg. Dat is een hogere score, maar dit systeem gebruikte twee Intel Xeon Platinum 8180 28-core processors (die in totaal 56C/112T hadden) en 512GB RAM. Als we 1.009.065 delen door 56 cores, krijgen we 18.019 per core. De prijs per QphH voor dit systeem is 0,47 USD.

TPC-E-benchmarkresultaten met SQL Server 2017

Lenovo heeft ook een nieuw officieel TPC-E-resultaat ingediend voor een single-socket, Lenovo ThinkSystem SR655 2U-server met een TPC-E-doorvoerscore van 6.716,88. Dit systeem heeft één AMD EPYC 7742 64-core processor en 1 TB RAM. Dit is de eerste keer dat een serverleverancier sinds 2013 de moeite neemt om een ​​TPC-E-resultaat in te dienen voor een op AMD gebaseerd systeem.

De TPC-E Throughput-score is een goede maatstaf voor de algehele CPU-capaciteit van het systeem voor een OLTP-workload. Als u die totale score deelt door het aantal fysieke kernen in het systeem, krijgt u een "score per kern", wat een goede maatstaf is voor de single-threaded prestaties van de processor die in het systeem wordt gebruikt. In dit geval is 6.716,88/64 gelijk aan 104,95 per kern.

Ter vergelijking:Lenovo heeft eerder een officieel TPC-E-resultaat ingediend voor een Lenovo ThinkSystem SR650 2U-server met twee sockets en een TPC-E-doorvoerscore van 7012,53. Dit systeem heeft twee Intel Xeon Platinum 8280 28-coreprocessors en 1,5 TB RAM. Als we 7012,53 delen door 56, komt de score per core uit op 125,22, wat ongeveer 19% hoger is dan het AMD-resultaat. Single-threaded CPU-prestaties zijn het enige relatieve zwakke punt van de AMD EPYC 7742-processor.

Ik zou zeggen dat de voordelen van de AMD EPYC 7002-serie zijn:

  • Een modernere modulaire architectuur
  • Hogere geheugendichtheid/capaciteit
  • Hogere geheugensnelheid en bandbreedte
  • PCIe 4.0-ondersteuning
  • Meer totale PCIe-lanes en bandbreedte
  • Lager stroomverbruik
  • Veel lagere prijzen, vooral in vergelijking met Intel-processors met de achtervoegsels "M" en "L"
  • Betere beveiliging, met Secure Memory Encryption en Secure Encrypted Virtualization

Voorkeur AMD EPYC-processors

Van de 19 openbare processor-SKU's zijn er voorkeurskeuzes voor SQL Server bij elk beschikbaar aantal kernen. AMD doet veel minder productsegmentatie dan Intel. Ze beperken het aantal PCIe 4.0-lanes op de goedkopere SKU's niet kunstmatig, en ze brengen niet meer in rekening voor extra geheugencapaciteit zoals Intel dat doet. Intel rekent $ 3K extra voor de "M" achtervoegsel-SKU's en $ 7K extra voor de "L" achtervoegsel-SKU's

Al deze AMD EPYC-processors ondersteunen 4 TB RAM in een single-socket server. De belangrijkste specificaties voor mijn favoriete AMD-processors bij elk aantal cores worden weergegeven in afbeelding 2.

Afbeelding 2:Voorkeur AMD EPYC 7002-processorspecificaties

De bijbehorende geprefereerde 2 generatie Intel Xeon schaalbare processors voor SQL Server bij elk aantal cores worden weergegeven in afbeelding 3.

Figuur 3:Geprefereerde 2e generatie Intel Xeon schaalbaar Processorspecificaties

Conclusie

AMD heeft een baanbrekende processorfamilie voor de servermarkt uitgebracht. AMD EPYC 7002-serie processors hebben meer geheugencapaciteit (op standaard SKU's), meer geheugenbandbreedte en meer algemene integer en floating-point prestaties per socket dan de huidige Intel Cascade Lake-SP-processors. Ze hebben ook PCIe 4.0-ondersteuning en een hoger aantal PCIe-lanes dan de nieuwste Intel-serverprocessors. AMD geeft je ook meer prestaties per dollar en per watt met de EPYC 7002-serie.

Daarom denk ik dat ze een uitstekende keuze zullen zijn voor virtualisatiehosts en voor Storage Spaces Direct-knooppunten. Ik denk ook dat ze een uitstekende keuze zullen zijn voor SQL Server DW/Reporting-workloads vanwege de voordelen van geheugen en I/O-capaciteit/bandbreedte in vergelijking met Intel.

De single-threaded CPU-prestaties zijn niet zo goed als Intel's beste huidige aanbod, maar het is dichterbij dan ooit tevoren. Als u een upgrade uitvoert van een oudere Intel-processorfamilie (vooral als de exacte processor een SKU met een lagere frequentie was), kunt u in de meeste gevallen betere single-threaded CPU-prestaties krijgen met een nieuwe processor uit de EPYC 7002-serie.

AMD's grootste uitdaging zal zijn om klanten te overtuigen om daadwerkelijk AMD-platformservers te kopen, aangezien Intel zo dominant is geweest op de servermarkt sinds het Nehalem-architectuurtijdperk in 2008. AMD zal niet stil blijven staan ​​en wachten tot Intel zijn achterstand inhaalt . Ze liggen op schema om de volgende Zen 3-architectuur waarschijnlijk medio eind 2020 uit te brengen.

Figuur 4:AMD EPYC-routekaart


  1. Installeer pdo voor postgres Ubuntu

  2. Alle PHP-fouten uitvoeren naar de database, niet error_log

  3. De waarde van een variabele afdrukken in SQL Developer

  4. hoe %ROWTYPE declareren van een variabele die een zwak getypte SYS_REFCURSOR is?