SPECint

SPECint är en benchmark -specifikation för datorer för CPU- heltalsprocessorkraft . Det underhålls av Standard Performance Evaluation Corporation (SPEC). SPECint är heltalsprestandatestningskomponenten i SPEC-testsviten. Den första SPEC-testsviten, CPU92, tillkännagavs 1992. Den följdes av CPU95, CPU2000 och CPU2006. Den senaste standarden är SPEC CPU 2017 och består av SPECspeed och SPECrate (alias SPECCPU_2017).

SPECint 2006

CPU2006 är en uppsättning riktmärken utformade för att testa CPU-prestandan hos ett modernt serverdatorsystem . Den är uppdelad i två komponenter, den första är CINT2006, den andra är CFP2006 ( SPECfp ), för flyttalstestning.

SPEC definierar en baskörtid för vart och ett av de 12 benchmarkprogrammen. För SPECint2006 varierar siffran från 1000 till 3000 sekunder. Det tidsinställda testet körs på systemet, och tiden för testsystemet jämförs med referenstiden, och ett förhållande beräknas. Det förhållandet blir SPECint-poängen för det testet. (Detta skiljer sig från betyget i SPECINT2000, som multiplicerar förhållandet med 100.)

Som ett exempel för SPECint2006, överväg en processor som kan köra 400.perlbench på 2000 sekunder. Tiden det tar referensmaskinen att köra benchmark är 9770 sekunder. Således är förhållandet 4,885. Varje förhållande beräknas, och sedan beräknas det geometriska medelvärdet av dessa förhållanden för att producera ett övergripande värde.

Bakgrund

Mot en avgift distribuerar SPEC källkodsfiler till användare som vill testa sina system. Dessa filer är skrivna i ett standardprogrammeringsspråk , som sedan kompileras för varje enskild CPU-arkitektur och operativsystem . Den uppmätta prestandan är alltså den för CPU, RAM och kompilator och testar inte I/O , nätverk eller grafik .

Två mätvärden rapporteras för ett visst riktmärke, "bas" och "peak". Kompilatoralternativ står för skillnaden mellan de två siffrorna. Eftersom SPEC-riktmärkena distribueras som källkod är det upp till den part som utför testet att kompilera denna kod. Det råder enighet om att riktmärkena ska kompileras på samma sätt som en användare skulle kompilera ett program, men det finns ingen konsekvent metod för användarkompilering, det varierar system för system. SPEC, i detta fall, definierar två referenspunkter, "bas" och "topp". Base har en mer strikt uppsättning kompileringsregler än peak. Mindre optimering kan göras, kompilatorns flaggor måste vara desamma för varje benchmark, i samma ordning, och det måste finnas ett begränsat antal flaggor. Base är alltså närmast hur en användare skulle kompilera ett program med standardflaggor. "Topp"-måttet kan utföras med maximal kompilatoroptimering, till och med i omfattningen av olika optimeringar för varje benchmark. Detta nummer representerar maximal systemprestanda, uppnådd genom fullständig kompilatoroptimering.

SPECint-tester utförs på ett brett utbud av hårdvara, med resultat som vanligtvis publiceras för hela spektrumet av implementeringar på systemnivå som använder de senaste CPU:erna. För SPECint2006 inkluderar processorerna Intel- och AMD x86- och x86-64 - processorer, Sun SPARC - processorer, IBM Power -processorer och IA-64- processorer. Det här utbudet av funktioner, särskilt i det här fallet antalet processorer, innebär att SPECint-riktmärket vanligtvis körs på endast en enda processor, även om systemet har många processorer. Om en enda CPU har flera kärnor används endast en enda kärna; hypertrådning är också vanligtvis inaktiverad,

Ett mer komplett riktmärke på systemnivå som gör att alla processorer kan användas är känd som SPECint_rate2006, även kallad "CINT2006 Rate".

Riktmärken

SPECint2006-testsviten består av 12 benchmark-program, designade för att uteslutande testa systemets heltalsprestanda.

Riktmärkena är:

Benchmark Språk Kategori Beskrivning
400.perlbänk C Perl programmeringsspråk Kommer från Perl V5.8.7. Arbetsbelastningen inkluderar SpamAssassin, MHonArc (en e-postindexerare) och specdiff (SPEC:s verktyg som kontrollerar benchmark-utgångar).
401.bzip2 C Kompression Julian Sewards bzip2 version 1.0.3, modifierad för att göra det mesta arbetet i minnet, snarare än att göra I/O.
403.gcc C C kompilator Baserat på gcc version 3.2, genererar kod för Opteron.
429.mcf C Kombinatorisk optimering Fordonsschemaläggning. Använder en simplex-nätverksalgoritm (som också används i kommersiella produkter) för att schemalägga kollektivtrafiken.
445.gobmk C Artificiell intelligens: spela Spelar spelet Go, ett enkelt beskrivet men djupt komplext spel.
456.hmmer C Sök efter gensekvens Proteinsekvensanalys med hjälp av profildolda Markov-modeller (profil HMM)
458.sjeng C Artificiell intelligens: schackspel Ett högt rankat schackprogram som även spelar flera schackvarianter.
462.libquantum C Fysik: Quantum Computing Simulerar en kvantdator som kör Shors polynom-tidsfaktoriseringsalgoritm.
464.h264ref C Videokomprimering En referensimplementering av H.264/AVC kodar en videoström med 2 parameteruppsättningar. H.264/AVC-standarden förväntas ersätta MPEG2
471.omnetpp C++ Diskret händelsesimulering Använder den diskreta händelsesimulatorn OMNet++ för att modellera ett stort Ethernet-campusnätverk.
473.astar C++ Algoritmer för att hitta vägar Pathfinding-bibliotek för 2D-kartor, inklusive den välkända A*-algoritmen.
483.xalancbmk C++ XML-bearbetning En modifierad version av Xalan-C++, som omvandlar XML-dokument till andra dokumenttyper.

Se även

externa länkar