Benchmark, czyli jak i po co porównywać komputery

Testy przenośne

Dla porównywania systemów komputerowych o różnych architekturach potrzebne są testy przenośne. Powstają one poza biurami producentów i stają się niezależnym narzędziem służącym do porównań. Mierzą one jednak nadal dokonania producentów, a nie przydatność wyrobów do specyficznych potrzeb klientów.

Testy te analizują głównie wydajność jednostki centralnej i abstrahują zwykle od efektywności operacji wejścia/wyjścia systemu. W dodatku ich wyniki zależą od efektywności kompilatora i bibliotek języka implementowanego w badanym komputerze. Testy te, ze względu na wymóg przenośności, napisane są w językach wyższego rzędu. Zaprezentujmy krótko trzy z nich.

Test Dhrystone mierzy głównie efektywność jednostki centralnej oraz sprawność obliczeń dokonywanych na zmiennych całkowitych. Test nie obejmuje operacji zmiennoprzecinkowych, wejścia/wyjścia do pamięci dyskowej i na terminale oraz efektywności wywołań systemowych. Program jest napisany w języku C. W wyniku otrzymuje się pojedynczą liczbę.

Test Whetstone uwzględnia wydajność obliczeń zmiennoprzecinkowych. Test jest mieszanką statystycznie dobranych ilości operacji zmienno- i stałoprzecinkowych, obliczeń macierzowych oraz wywołań procedur zmiennoprzecinkowych. Powstał pod koniec lat 60. Obecnie dostępne są dwie wersje tego testu: z argumentami 32-bitowymi (obliczenia o pojedynczej precyzji) i 64-bitowymi (obliczenia o podwójnej precyzji); oba są dostępne w językach Fortran i C. Whetstone był niegdyś bardzo popularnym testem. Obecnie nie jest używany m.in. z powodu mnogości nie kontrolowanych "wersji" kodu źródłowego.

Organizacja SPEC (System Performance Evaluation Corporation) opracowała kilka odmian testu przeznaczonego do mierzenia efektywności w wielozadaniowym środowisku systemu Unix. Wcześniej powstał test SDM (System Development Multitasking), który mierzył przepustowość systemu w warunkach jednocześnie uruchomionych zleceń edycji pliku, wykonań poleceń systemu Unix i kompilacji programów. Pozwalał on badać środowiska oprogramowania komercyjnego i naukowego. SDM ustąpił pola testom CINT92 i CFP92. Pierwszy z nich jest zestawem programów z sześcioma testami napisanymi w języku C (obliczenia stałoprzecinkowe), a drugi składa się z 14 zadań napisanych w językach C i Fortranie z obliczeniami zmiennoprzecinkowymi. Testy te służą do oceny przydatności systemu do obliczeń naukowych i technicznych. Powyższe standardy analizują efektywność pracy w trybie wielozadaniowym, ale nie wielodostępnym.

Testy pracy wielodostępnej

Pojawiły się testy wzorcowe do pomiaru efektywności całości lub niektórcych elementów systemu obliczeniowego. Testy te starają się naśladować realne obciążenie pracą wielodostępnego systemu. Sprawność operacji wejścia/wyjścia na terminale nie jest objęta tym testem.

Weźmy np. test AIM Suite III. Został on opracowany przez AIM Technology Inc. i służy do testowania systemu zarządzanego Unixem, podczas symulowania pracy wykonywanej przez różnych użytkowników. Wyniki testu AIM opisuje zestaw pięciu wskaźników. Są to:

1. Współczynnik wydajności (AIM Performance Rating) - liczba wyznaczana przez algorytm będący własnością firmy AIM Technology. Jest to wskaźnik maksymalnej wydajności komputera (Peak Performance) porównujący efektywność badanego systemu z wydajnością komputera wzorcowego VAX 11/780.

2. Współczynnik maksymalnej przepustowości (Maximum Throughout Rating) - podobny do poprzedniego, z tym, że bada wydajność systemu w innych okolicznościach. Test ten określa kontekst, w którym system jest w stanie wykonać największą liczbę zadań w ciągu minuty. Ten parametr jest bardziej miarodajny dla administratora wielodostępnego systemu niż poprzedni.

3. Indeks efektywności programów usługowych (Utilities Index) - określa sprawność systemu podczas wykonywania standardowych programów usługowych systemu Unix. Dla pracujących nad rozwojem oprogramowania jest to jeden z najbardziej interesujących wskaźników.

4. Współczynnik maksymalnego obciążenia pracą przez wielu użytkowników (Maximum User Load Rating) - określa ten poziom obciążenia, przy którym system przestaje być sprawny.

5. Wykres przepustowości systemu (System Throughout Graph) -przedstawia wydajność systemu w funkcji liczby jednoczesnych sesji i zadań użytkowych. Wykres taki pozwala ocenić, jaka liczba zadań i użytkowników nie narusza istotnie płynności pracy systemu obliczeniowego.


TOP 200