Stel je voor dat je oefen-app alleen registreerde dat je een eenvoudig regime deed dat nooit veranderde of enige aanpassing in je inspanningsniveau vereiste. De 2D-grafiek van uw training ziet eruit als de platte lijn op een hartmonitor en geeft weinig inzicht in uw algehele prestaties. Helaas is dat hoe een plotlijn van een synthetische benchmark voor werkstationopslagprestaties eruit ziet. Dit soort benchmarks zijn ontworpen om piekwaarden uit het opslagapparaat te halen met behulp van toegangsspecificaties die sterk zijn geoptimaliseerd voor firmware, stuurprogramma's en hardware.
Stel je voor dat je oefen-app alleen registreerde dat je een eenvoudig regime deed dat nooit veranderde of enige aanpassing in je inspanningsniveau vereiste. De 2D-grafiek van uw training ziet eruit als de platte lijn op een hartmonitor en geeft weinig inzicht in uw algehele prestaties. Helaas is dat hoe een plotlijn van een synthetische benchmark voor werkstationopslagprestaties eruit ziet. Dit soort benchmarks zijn ontworpen om piekwaarden uit het opslagapparaat te halen met behulp van toegangsspecificaties die sterk zijn geoptimaliseerd voor firmware, stuurprogramma's en hardware.
Het klassieke geval meet willekeurige IO bij blokgroottes van 4K met een zeer hoge wachtrijdiepte. In dit scenario hebben leveranciers voldoende mogelijkheden om de opslagwachtrij te optimaliseren en de IOPS-score (invoer/uitvoerbewerkingen per seconde) voor het apparaat te maximaliseren. Echte werkstationtoepassingen hebben daarentegen een gemiddeld IO-bereik van één of twee. Met zo'n lage wachtrijdiepte hebben herordenen en andere optimalisaties niet zo'n dramatisch effect op de prestaties; het knelpunt verschuift naar onbewerkte hardwaremogelijkheden, zelfs met RAID of agressieve hybride/tiered caching-architecturen.
Een grafiek die opslag leest en schrijft voor een synthetische benchmark. De X-as is de offset vanaf een startlocatie waar een IO plaatsvindt. De Y-as is de blokgrootte van de transactie naar die locatie. Een blokgrootte van 128K zou bijvoorbeeld proberen om 128K aan gegevens van de schijf te lezen op een of andere offsetlocatie, alles in één verzoek.
Onvoorspelbare opslagpaden
Echte werkstationtoepassingen volgen geen voorspelbare paden voor optimale toegang tot opslag. In de wereld van niet-lineaire videobewerking komt een blokgrootte bijvoorbeeld beter overeen met het containerformaat of de coderingsmethode dan een optimale blokgrootte voor zeer grote bestandsoverdrachten.
Het zou aanzienlijk sneller zijn voor een applicatie om 128K blokgroottes te gebruiken voor alle grote bestanden die in het geheugen worden gelezen, en die gegevens vervolgens in een kleinere omvang te doorlopen. Maar het feit dat de applicatie andere, minder optimale methoden voorschrijft om toegang te krijgen tot opslag, maakt elke synthetische meting minder representatief voor hoe echt werk wordt verwerkt.
Videobewerking is slechts een voorbeeld. Bijna alle applicaties, zelfs die binnen dezelfde branche, gebruiken verschillende lees-/schrijfmethoden, waardoor het meten van piekprestaties grotendeels irrelevant is. De enige manier om opslag nauwkeurig te meten, is door de bewerkingen na te bootsen zoals ze plaatsvinden binnen de eigenlijke applicaties.
Verbetering van de methodiek
Voor de SPECwpc 2.1-benchmark, die begin 2016 werd uitgebracht, gebruikte de subcommissie SPEC Workstation Performance Characterization (SPECwpc) IOMeter - een instrument voor het meten en karakteriseren van IO-subsystemen - om IO-activiteit voor een verscheidenheid aan professionele toepassingen te simuleren. De grootte en frequentie van opslagtransacties werden verzameld uit deze applicaties en IOMeter gebruikte de gegevens om een reeks opslagtransacties te genereren over een bepaalde tijdsperiode.
Hoewel deze techniek beter was dan het meten van de maximale bandbreedte en latentie van een werkstation, kwam het toch niet erg in de buurt van wat applicaties daadwerkelijk doen. Met de volgende release wilde SPECwpc het gedrag van applicaties beter nabootsen, terwijl het ook de impact weerspiegelde van nieuwe solid-state apparaten, technologieën zoals NAND en 3D Xpoint en verschillende PCIe-connectiviteitsopties.
Bij de ontwikkeling van de SPECworkstation 3-benchmark, uitgebracht in november 2018, gebruikte SPECwpc de Windows Process Monitor om de opslagtransacties te traceren van een breed scala aan professionele applicaties die echt aan het werk zijn. SPECwpc schreef vervolgens een afspeelhulpprogramma om de sporen te vertalen in stromen opslagtransacties die bijna identiek zijn aan die van de eigenlijke applicaties.
Lezen/schrijven voor de SPECworkstation 3 Handbrake applicatie
In plaats van de daadwerkelijke gegevens van de applicaties te gebruiken, die honderden gigabytes groot zouden zijn, vulde SPECwpc de opslagverzoeken met willekeurig geselecteerde gegevens. Het afspeelhulpprogramma gebruikt vervolgens meerdere threads om naar meerdere bestanden te schrijven, net als de daadwerkelijke toepassing.
De SPECworkstation 3-benchmark bevat sporen van een breed scala aan toepassingen, waaronder media en entertainment (3D-animatie, rendering), productontwikkeling (CAD/CAM/CAE), biowetenschappen (medisch, moleculair), financiële diensten, energie (olie en gas ), algemene bewerkingen en GPU-berekeningen.
Toepassingen die zijn getraceerd voor de SPECworkstation 3-opslagworkload zijn onder meer 7zip, Adobe Media Encoder, Adobe Premier Pro, Ansys Icepak, Ansys Mechanical, Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Blender, CalculiX, Dassault Systémes Solidworks, Handbrake, Lammps, Microsoft Visual Studio 2015, Namd, de SPECviewperf 13 energieviewset en de SPECworkstation 3 WPCcfd-workload.
Lezen/schrijven voor de toepassing Calculix (CCX) in de SPECworkstation 3-benchmark
De toekomst
De afspeelmethode die in SPECworkstation 3 wordt gebruikt, spawnt threads op een manier die redelijk dicht bij de echte applicatie ligt, maar er is nog steeds een centraal probleem: de chronologie van de IO's en eventuele synchronisatie tussen threads wordt niet nauwkeurig bewaard. Dit leidt tot gevallen waarin sommige threads bepaalde IO's sneller voltooien en de gelijktijdigheid van IOP's over de verschillende threads niet perfect is gesynchroniseerd, wat resulteert in af en toe run-to-run variatie.
Voor SPECworkstation 4, gepland voor release ergens in 2020, zal SPECwpc werken aan het behouden van de IO-chronologie op een manier die voorkomt dat IO's samensmelten wanneer ze de bus naar het opslagapparaat bereiken.
Een oproep tot deelname
Hoewel het niet perfect is, is het traceren van opslagbewerkingen van echte applicatieverwerkingsopdrachten, zoals die gegenereerd door werkstationgebruikers in diverse industrieën, een grote stap voorwaarts.
De SPECwpc-subcommissie, die bestaat uit vertegenwoordigers van AMD, Dell, Fujitsu, HP, Intel, Lenovo en Nvidia, verwelkomt input over toekomstige workloads van apparaatleveranciers, applicatieontwikkelaars en gebruikers die belang hebben bij opslagprestaties.
Net als bij andere SPEC-benchmarks, zal het leveren van de meest nauwkeurige manier om real-world werkstationopslagprestaties vast te leggen en te rapporteren, ontwikkelaars helpen hun processen in de toekomst te verbeteren.
– Alex laat zien
Alex Shows is voorzitter van de subcommissie SPEC Workstation Performance Characterization (SPECwpc) en Distinguished Engineer bij Dell. Zijn 23 jaar ervaring in de sector omvat 19 jaar softwareontwerp, -ontwikkeling en -documentatie; 17 jaar hardware- en driverontwerpvalidatie; en 10 jaar toegepast onderzoek in hardware- en softwaretechnologieën. Hij heeft 12 patenten en zes patenten zijn aangevraagd.
Voor meer informatie over grafische en werkstationbenchmarking, bezoek de SPEC/GWPG-website, abonneer u op de SPEC/GWPG nieuwsbrief, of sluit je aan bij de Graphics and Werkstation Benchmarking LinkedIn groep.
SPEC/GWPG-benchmarks zijn beschikbaar voor gratis downloaden voor iedereen behalve verkopers van computers en aanverwante producten en diensten die dat niet zijn leden van de SPEC Graphics en Workstation Performance Group (SPEC/GWPG).