SPECint

SPECint to komputerowa specyfikacja porównawcza mocy obliczeniowej procesora . Jest utrzymywany przez Standard Performance Evaluation Corporation (SPEC). SPECint to komponent do testowania wydajności na liczbach całkowitych w pakiecie testów SPEC. Pierwszy zestaw testów SPEC, CPU92, został ogłoszony w 1992 roku. Po nim pojawiły się CPU95, CPU2000 i CPU2006. Najnowszym standardem jest SPEC CPU 2017 i składa się on z SPECspeed i SPECrate (inaczej SPECCPU_2017).

SPECint 2006

CPU2006 to zestaw testów porównawczych zaprojektowanych do testowania wydajności procesora nowoczesnego systemu komputerowego serwera . Jest podzielony na dwa komponenty, z których pierwszy to CINT2006, a drugi to CFP2006 ( SPECfp ), do testowania zmiennoprzecinkowego.

SPEC definiuje podstawowy czas pracy dla każdego z 12 programów porównawczych. W przypadku SPECint2006 liczba ta waha się od 1000 do 3000 sekund. Test czasowy jest uruchamiany w systemie, a czas systemu testowego jest porównywany z czasem odniesienia i obliczany jest współczynnik. Ten współczynnik staje się wynikiem SPECint dla tego testu. (Różni się to od oceny w SPECINT2000, która mnoży współczynnik przez 100.)

Jako przykład dla SPECint2006 rozważmy procesor, który może uruchomić 400.perlbench w 2000 sekund. Czas potrzebny do uruchomienia testu porównawczego przez maszynę referencyjną wynosi 9770 sekund. Zatem stosunek wynosi 4,885. Każdy współczynnik jest obliczany, a następnie średnia geometryczna tych stosunków jest obliczana w celu uzyskania ogólnej wartości.

Tło

Za opłatą SPEC dystrybuuje pliki z kodem źródłowym do użytkowników chcących przetestować swoje systemy. Pliki te są zapisywane w standardowym języku programowania , który jest następnie kompilowany dla każdej konkretnej architektury procesora i systemu operacyjnego . W związku z tym mierzona wydajność dotyczy procesora, pamięci RAM i kompilatora , a nie testowania operacji we/wy , sieci ani grafiki .

Dla konkretnego testu porównawczego podawane są dwie metryki: „podstawowa” i „szczytowa”. Opcje kompilatora uwzględniają różnicę między dwiema liczbami. Ponieważ testy porównawcze SPEC są rozpowszechniane jako kod źródłowy , to strona przeprowadzająca test musi skompilować ten kod. Istnieje zgoda co do tego, że testy porównawcze powinny być kompilowane w taki sam sposób, w jaki użytkownik kompilowałby program, ale nie ma spójnej metody kompilacji przez użytkownika, różni się ona w zależności od systemu. W tym przypadku SPEC definiuje dwa punkty odniesienia, „podstawę” i „szczyt”. Base ma bardziej rygorystyczny zestaw reguł kompilacji niż szczyt. Można przeprowadzić mniejszą optymalizację, flagi kompilatora muszą być takie same dla każdego testu porównawczego, w tej samej kolejności, a liczba flag musi być ograniczona. Baza jest więc najbliższa temu, jak użytkownik skompilowałby program ze standardowymi flagami. Metrykę „szczytu” można przeprowadzić przy maksymalnej optymalizacji kompilatora, nawet w zakresie różnych optymalizacji dla każdego testu porównawczego. Liczba ta reprezentuje maksymalną wydajność systemu, osiągniętą dzięki pełnej optymalizacji kompilatora.

Testy SPECint są przeprowadzane na szerokiej gamie sprzętu, a wyniki są zwykle publikowane dla pełnego zakresu implementacji na poziomie systemu, wykorzystujących najnowsze procesory. W przypadku SPECint2006 procesory obejmują Intel i AMD x86 i x86-64 , procesory Sun SPARC , procesory IBM Power i procesory IA-64 . Ten zakres możliwości, a konkretnie w tym przypadku liczba procesorów, oznacza, że ​​test porównawczy SPECint jest zwykle uruchamiany tylko na jednym procesorze, nawet jeśli system ma wiele procesorów. Jeśli ma pojedynczy procesor wiele rdzeni , używany jest tylko jeden rdzeń; hiperwątkowość jest również zwykle wyłączona,

Bardziej kompletny test porównawczy na poziomie systemu, który umożliwia użycie wszystkich procesorów, jest znany jako SPECint_rate2006, zwany także „CINT2006 Rate”.

Wzorce

Zestaw testowy SPECint2006 składa się z 12 programów porównawczych, zaprojektowanych do testowania wyłącznie wydajności systemu w liczbach całkowitych.

Benchmarkami są:

Reper Język Kategoria Opis
400. perlbench C Język programowania Perl Pochodzi z Perla V5.8.7. Obciążenie obejmuje SpamAssassin, MHonArc (indeksator wiadomości e-mail) i specdiff (narzędzie SPEC, które sprawdza wyniki testów porównawczych).
401.bzip2 C Kompresja bzip2 Juliana Sewarda w wersji 1.0.3, zmodyfikowany tak, aby wykonywał większość pracy w pamięci, a nie we/wy.
403.gcc C Kompilator C Na podstawie gcc w wersji 3.2 generuje kod dla Opterona.
429.mcf C Optymalizacja kombinatoryczna Planowanie pojazdów. Wykorzystuje sieciowy algorytm simplex (który jest również używany w produktach komercyjnych) do planowania transportu publicznego.
445.gobmk C Sztuczna inteligencja: graj Gra w grę Go, prosto opisaną, ale bardzo złożoną grę.
456.hmmer C Wyszukaj sekwencję genów Analiza sekwencji białek z wykorzystaniem profilowych ukrytych modeli Markowa (profilowe HMM)
458.sjeng C Sztuczna inteligencja: gra w szachy Wysoko oceniany program szachowy, który gra również w kilka wariantów szachów.
462.libkwantowy C Fizyka: Obliczenia kwantowe Symuluje komputer kwantowy z algorytmem rozkładu na czynniki w czasie wielomianowym Shora.
464.h264ref C Kompresja wideo Referencyjna implementacja H.264/AVC koduje strumień wideo przy użyciu 2 zestawów parametrów. Oczekuje się, że standard H.264/AVC zastąpi MPEG2
471.omnetpp C++ Symulacja zdarzeń dyskretnych Wykorzystuje symulator zdarzeń dyskretnych OMNet++ do modelowania dużej sieci kampusowej Ethernet.
473.gwiazda C++ Algorytmy wyszukiwania ścieżek Biblioteka Pathfinding dla map 2D, w tym dobrze znany algorytm A*.
483.xalancbmk C++ Przetwarzanie XML Zmodyfikowana wersja Xalan-C++, która przekształca dokumenty XML do innych typów dokumentów.

Zobacz też

Linki zewnętrzne