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
- Witryna SPEC
- CINT2006 (składnik całkowity SPEC CPU2006)
- Opublikowane wyniki SPECint2006
- Opis każdego testu porównawczego