Czy benchmarki kłamią?
- 05.05.2009
Dobór odpowiedniego algorytmu testowego ma poważny wpływ na rezultaty testów produktów. Czy więc benchmarki mówią prawdę o wydajności mierzonych rozwiązań?
W testach wydajności CINT2006 (liczby całkowite) wyniki są następujące. PowerEdge M610 (Intel Xeon X5550, 2.67 GHz) osiąga wynik 29.2, ale PowerEdge M610 (Intel Xeon E5520, 2.27 GHz) osiąga 24.1. Gdy mierzy się wydajność obliczeń zmiennoprzecinkowych w teście CFP2006, Dell PowerEdge M610 (Intel Xeon E5540, 2.53 GHz) osiąga 31.4, a PowerEdge M610 (Intel Xeon X5550, 2.67 GHz) - 35.3 (wszystkie dane pochodzą ze strony www.specbench.org). Aplikacje testowe, które służą do badania wydajności różnych maszyn, są oferowane w sprzedaży przez organizację SPEC, z jednym wyjątkiem, którym jest SPECjvm2008 oferowany do pobrania w dziale Download. Są to dość kosztowne aplikacje, CPU2006 kosztuje 800USD, jAppServer2004 V1.08 kosztuje 2 tys. USD, SPECmail2009 - 1900 USD.
Od Linpacka do benchmarku
Najpopularniejszym miernikiem wydajności dużych komputerów jest Linpack. Jest to test, który wykorzystuje bibliotekę o tej samej nazwie, służącą do obliczeń z dziedziny algebry liniowej. Biblioteka ta powstała w latach 70. XX wieku, została oprogramowana w Fortranie przez Jacka Dongarra, Jima Buncha, Cleve’a Molera i Pete’a Stewarta. Biblioteka Linpack rzadko bywa wykorzystywana w obliczeniach inżynierskich, gdyż podobny pakiet LAPACK działa sprawniej w środowisku superkomputerów.
Benchmark Linpack mierzy prędkość rozwiązywania gęstego układu równań liniowych i dobrze oddaje wydajność komputerów w typowych zadaniach inżynierskich z dużą ilością obliczeń zmiennoprzecinkowych. Stanowi on ważny wskaźnik szybkości komputera i jest podstawą rankingu najszybszych superkomputerów świata - TOP 500. Obecnie najszybszym komputerem w Polsce jest gdański klaster Galera (67. miejsce na świecie w rankingu TOP 500 to 38,17 Tflopów mierzonych za pomocą Linpacka), najszybszą maszyną jest Roadrunner zainstalowany w laboratoriach Los Alamos w Stanach Zjednoczonych z wynikiem 1105 Tflopów.