LinuxUser-Benchmark-Suite 2.1

Aus LinuxUser 05/2009

LinuxUser-Benchmark-Suite 2.1

© Fotolia, Sebastian Kaulitzki

Leistungskurve

Mit der praxisorientierten LinuxUser-Benchmark-Suite direkt aus unserem Hardware-Labor prüfen Sie die Leistungsfähigkeit Ihres Linux-PCs in den Kategorien CPU, Grafik und Komponenten.

Nicht nur im professionellen Sektor, wo man per Benchmarks neue Produkte anpreist und verkauft, auch im privaten Bereich werden gerne Benchmarks eingesetzt – entweder, um zu sehen, wie schnell der neue Rechner nun wirklich läuft, oder um herauszufinden, ob der momentan verwendete PC mit aktuellen Systemen noch halbwegs mithalten kann.

Das Benchmarking ist eine Millionenindustrie, denn gute Ergebnisse bedeuten für die Hersteller deutlich bessere Verkäufe. Mittlerweile wandern neue Rechner fast nur noch als Ersatz für vorhandene Systeme über den Ladentisch, und die Performance dient dabei als eines der Haupt-Verkaufsargumente: Schließlich funktioniert der momentan eingesetzte Rechner ja meist noch tadellos. Im High-End-Bereich geben beispielweise Dell, HP, Intel, Sun und IBM Millionen aus, um möglichst gute Ergebnisse im SPEC-CPU-Benchmark [1] oder diversen Server-Leistungstests zu erzielen.

Im Consumer-Markt investieren Firmen wie ATI und Nvidia erkleckliche Summen in die Treiberentwicklung, um in Grafik-Benchmarks möglichst gut dazustehen. Da es dabei um viel Geld geht, kommen gelegentlich auch zweifelhafte Mittel zum Einsatz: Sowohl ATI wie auch Nvidia wurden schon dabei erwischt ([2],[3]), dass sie für das zum Benchmarking populäre Quake 3 respektive 3Dmark in ihre Treiber besondere Modi integrierten, die ohne Rücksicht auf die Grafikqualität den Test möglichst zügig absolvierten.

Während sich die Windows-Welt vieler Benchmarks bedienen kann, sieht es unter Linux bisher eher mager aus. Das gute alte glxgears, das allen Distributionen beiliegt, taugt für wenig mehr als die Prüfung, ob die 3D-Beschleunigung überhaupt läuft. Es “glänzt” primär durch uralten, überholten OpenGL-Code, weswegen ATI auch mit seinen proprietären Treibern eine modernere Version namens fgl_glxgears installiert.

Es tummeln sich zwar zahlreiche Einzel-Benchmarks im Linux-Teich, jedoch keine umfassende Suite, die verschiedene Anwendungen in diversen Leistungsdisziplinen testet. Um Rechner unter Linux auf Herz und Nieren zu prüfen, haben wir deshalb die LinuxUser-Benchmark-Suite (kurz: LU-Bench) zusammengestellt, die Sie auf Seite B unserer Heft-DVD finden. Sie besteht aus einer Vielzahl aus Tests, die auch modernste Rechner zum Schwitzen bringen – dabei haben wir darauf geachtet, dass die Tests sich an der Praxis orientieren, also auf real genutzten Programmen basieren.

Wir haben die Tests in drei Kategorien aufgeteilt, die Sie Ihren Rechner individuell oder zusammen absolvieren lassen können – je nachdem, ob Sie nur eine Komponente (wie beispielsweise eine neue Grafikkarte, CPU oder Festplatte) oder den ganzen Rechner prüfen wollen.

Grafikmarathon

Moderne Grafikchips bestehen inzwischen aus mehr Transistoren als aktuelle CPUs. Sie bieten unglaubliche Rechenleistung, die sich inzwischen sogar für andere Zwecke als nur für Grafik nutzen lässt. Unser GPU-Test beschränkt sich momentan allerdings auf das, wofür der Großteil der Anwender eine neue Grafikkarte kauft: die reine Grafikleistung.

Die Eignung für 3D-Modelling und -Visualisierung sowie sonstige 3D-Anwendungen testet SPECviewperf [4], ein Benchmark, der sich schon seit vielen Jahren im Profi-3D-Segment als Standard etabliert hat, ähnlich wie SPEC-CPU für Prozessoren. SPECviewperf basiert auf einer Reihe von real im Einsatz befindlichen Programmen aus dem CAD/CAM-, 3D-Modelling- und Visualisierungsbereich (Abbildung 1). Interessanterweise gibt es fünf der acht getesteten kommerziellen Programme auch für nativ für Linux: Pro Engineer, Maya, Ensight und UGS NX beziehungsweise Teamcenter laufen schon unter dem freien Betriebssystem, und auch Dassault soll von seinem populären CAD/CAM-Programm Catia angeblich eine Linux-Version in Arbeit haben.

Abbildung 1: SPECviewperf prüft die 3D-Leistung unter anderem mit exakten Modellen ganzer Autos, die direkt von den Autoherstellern stammen.

Abbildung 1: SPECviewperf prüft die 3D-Leistung unter anderem mit exakten Modellen ganzer Autos, die direkt von den Autoherstellern stammen.

Doch 3D-Anwendungen testen nur einen Aspekt von Grafikkarten: Die schiere Polygon- und Drahtgitter-Zeichenleistung. Texturierung oder moderne Features der Grafikchips nutzen 3D-Programme, falls überhaupt, nur sehr zögerlich. Das höchste der Gefühle in SPECviewperf ist gelegentlich ein texturiertes 3D-Modell. Der CAD/CAM-Bereich braucht so etwas überhaupt nicht, aber auch bei 3D-Modelling und Visualisierung nutzen die Programme Texturen und Shader nur begrenzt. Deshalb testen wir die Grafik-Leistung auch in Spiele-Engines.

Mit Nexuiz [5] haben wir uns für ein grafisch anspruchsvolles Open-Source-Projekt entschieden (Abbildung 2). Nexuiz setzt auf DarkPlaces, einer Weiterentwicklung der von Id Software in Quellform veröffentlichten Quake-Engine. Allerdings stammt die Quake-Engine letztendlich immer noch aus dem letzten Jahrtausend, weshalb der OpenGL-Code nicht mehr ganz zeitgemäß ist. DarkPlaces beherrscht zwar die OpenGL-Shading-Language, Nexuiz macht aber nur spärlich Gebrauch davon. Deshalb testen wir zusätzlich mit der quelloffenen Cube-2-Engine, die im Spiel mit dem originellen Namen Sauerbraten [6] zum Einsatz kommt. Die komplett selbst entwickelte Engine gibt sich äußerst modern und protzt mit grafisch beeindruckenden, Shader-basierten Effekten wie Wasser, Überstrahlen oder Gras (Abbildung 3). Extra für uns suchten die Sauerbraten-Entwickler einen Level aus, der die Shader richtig fordert, stellten die Shader-Einstellungen auf Anschlag ein und modifizierten das Spiel so, dass wir die Frames pro Sekunde in der speziell für uns erstellten Demo mitschneiden können.

Abbildung 2: Das grafisch schicke Spiel Nexuiz nutzt DarkPlaces, eine stark gedopte, modernisierte Quake-Engine.

Abbildung 2: Das grafisch schicke Spiel Nexuiz nutzt DarkPlaces, eine stark gedopte, modernisierte Quake-Engine.

Abbildung 3: Sauerbraten protzt dank der selbstentwickelten Cube-2-Engine mit grafischen Effekten.

Abbildung 3: Sauerbraten protzt dank der selbstentwickelten Cube-2-Engine mit grafischen Effekten.

Die 2D-Leistung ist heutzutage zwar weitgehend irrelevant, aber vielen Anwendern kann eine GUI niemals flott genug reagieren. Deshalb rundet GTKperf [7] unseren Grafikbenchmark ab, das die 2D-Leistung beim Zeichnen von GTK-Programmfenstern prüft.

Prozessorqual

In Sachen CPU konnten wir aus dem Vollen schöpfen: Hier testet LU-Bench diverse rechenintensive Disziplinen, die selbst moderne Rechner einige Zeit beschäftigen. Compilebench ermittelt die Kompilierleistung, indem es Kernel-Source-Trees erstellt, patcht und kompiliert. Mit Lame und Oggenc encodet unser Benchmark eine komplette CD des Open-Music-Contests in OGG und MP3, mit x264 einen Ausschnitt aus dem Open-Source-Film “Big Buck Bunny” [8] in der 1920×1080 Pixel großen HD-Auflösung im äußerst effizienten H.264-Codec (Abbildung 4).

Abbildung 4: Big Buck Bunny ganz groß: Mit HD-Videos in 2-Megapixel-Auflösung foltern wir den Prozessor.

Abbildung 4: Big Buck Bunny ganz groß: Mit HD-Videos in 2-Megapixel-Auflösung foltern wir den Prozessor.

Auch bei der Archivierung handelt es sich um eine CPU-lastige Aufgabe. LU-Bench prüft, wie schnell die CPU einen 240-MByte-Tarball des /lib-Verzeichnisses komprimiert, das eine bunte Mischung aus Textdateien und Binärcode enthält. Hier greifen wir gleich auf drei Packer zurück: Das beliebte, aber etwas angestaubte Bzip2, das etwas modernere und plattformübergreifend genutzte RAR sowie das neue, äußerst effiziente 7zip.

3D-Rendering zählt ebenfalls zu den Einsatzbereichen, in dem CPUs niemals schnell genug sein können. Mit komplexeren Modellen, ausgefeilteren Shadern, Beleuchtungsmodellen oder Texturen machen die 3D-Animateure, ohne mit der Wimper zu zucken, jedes Quäntchen Mehrleistung neuer CPUs zunichte. Wir messen die Raytracing-Leistung in der multiprozessorfähigen Beta-Version des Open-Source-Raytracers Povray sowie in Yafray, einem insbesondere als Blender-Plugin beliebten Raytracer. Hierzu berechnen wir eine selbst modifizierte Szene aus dem Opensource-Kurzfilm Elephants Dream ([9], Abbildung 5).

Abbildung 5: Unsere Yafray-Testszene basiert auf Modellen aus dem Opensource-Kurzfilm Elephants Dream.

Abbildung 5: Unsere Yafray-Testszene basiert auf Modellen aus dem Opensource-Kurzfilm Elephants Dream.

Der H.264-Codec arbeitet zwar insbesondere in Sachen Dateigröße äußerst effizient, aber auch äußerst rechenaufwändig. Insbesondere wegen der im High-Profile verwendeten arithmetischen Codierung CABAC ist das für viele Rechner immer noch eine knifflige Aufgabe – sofern sie nicht auf GPU-Decodierung wie Nvidias VDPAU (siehe Grafikkarten-Vergleichstest in diesem Heft) zurückgreifen können. Deshalb testen wir das H.264-Decodieren in Mplayer mit der multiprozessorfähigen Version des Ffmpeg-Frameworks.

Sonstige Systemkomponenten

Die Festplattenleistung ermittelt LU-Bench mit dem systemeigenen hdparm, außerdem liefert Bonnie++ [10] in dieser Disziplin etwas detailliertere Messergebnisse. Den Speicherdurchsatz prüft das Programm RAMspeed [11].

Systemvoraussetzungen

Die aktuelle Version 2.1 unseres Benchmarks nutzt ausschließlich Programme, die sowohl in 64- als auch in 32-Bit-Varianten vorliegen. Egal, ob Sie also die 64- oder 2-Bit-Version ihrer favorisierten Linux-Distribution einsetzen: Die LinuxUser-Benchmark-Suite erkennt das automatisch und verrät Ihnen, wie schnell ihr System läuft. Auch in Mehrkernsystemen nutzt der Benchmark in einigen Tests alle verfügbaren Cores (siehe Kasten “Mehrkernnutzung”).

Mehrkernnutzung

Wir haben darauf geachtet, für die LinuxUser-Benchmark-Suite eine Mischung aus Single- und Multi-threaded-Anwendungen zu nutzen, um die Praxis gut wiederzuspiegeln. Zu den Multi-threaded-Benchmarks gehören das x264-Encoding, das Kompilieren, das H.264-Decoding per Mplayer, beide Raytracing-Benchmarks, das Komprimieren mit 7zip sowie der Speicherbenchmark. In nur einem Thread laufen das Audio-Encoding per Lame und Oggenc, das Bzip2- und RAR-Komprimieren sowie alle Grafikbenchmarks.

Der Benchmark läuft ohne Installation unter allen gängigen aktuellen Linux-Distributionen, getestet haben wir unter Ubuntu 8.10, OpenSuse 11.1 und Mandriva 2009. Unter Mandriva müssen Sie für SPECviewperf noch die tcsh installieren. Da der Benchmark keine zusätzlichen Komponenten benötigt, können Sie Rechner ohne Installationsorgien und Internetzugang auf Herz und Nieren prüfen.

Der Benchmark benötigt selbst 3,3 GByte Plattenplatz, für die während des Testlaufs erzeugten Dateien sollten Sie außerdem zusätzliche 4 GByte im Wurzelverzeichnis frei haben. Ohne Glibc in Version 2.8 oder höher funktionieren einige Benchmarks nicht – Sie finden die Version der Glibc auf Ihrem System durch direkten Aufruf der Library mittels /lib/libc.so.6 heraus.

TIPP

Deaktivieren Sie vor einem Benchmarklauf den Bildschirmschoner: Je nach der Last, die dieser auf CPU oder GPU ausübt, verschlechtert sich das Messergebnis, wenn er während des Testlaufs anspringt.

Grafik-Voraussetzungen

Sie können den Grafik-Benchmark zwar ohne 3D-Beschleunigung, in einem PC mit Chipsatzgrafik oder mit freien alternativen Treibern absolvieren – wir empfehlen jedoch einen dedizierten Grafikchip mit den neuesten Treibern des Herstellers. Anderenfalls laufen die Grafik-Benchmarks entweder sehr langsam oder gar nicht. Ein Versuch schadet allerdings nicht: Nach dem Testlauf gibt das Skript, falls ein Messergebnis fehlt, eine Fehlermeldung aus und verzichtet auf die Berechnung der entsprechenden Gesamtwertung. Alle Prüfungen außer den Grafiktests laufen auch ohne X-Server. Einem CPU- oder Festplattentest eines monitorlosen Rackmount-Servers mit LU-Bench steht also theoretisch nichts im Weg.

Start

Entpacken Sie den LU-Bench-Tarball auf ein beschreibbares Laufwerk. Da die Suite temporäre Dateien erstellt, läuft der Benchmark nicht direkt von nur einmal beschreibbaren Medien wie etwa DVD-R. Auch sollte das Medium schnell genug arbeiten, um beim CPU-Test nicht durch das Laden der Dateien den Prozessor auszubremsen – eine Festplatte empfiehlt sich also. Da das Tar-Archiv auf der Heft-DVD nicht gezippt ist, benötigt der Benchmark auch entpackt nur 3,3 GByte Plattenplatz.

Sie starten den Benchmark in einem X-Terminal mit ./LUbenchV2.sh, wobei Sie mit dem angehängten Parameter -k das Skript optional anweisen, die beim Benchmark erzeugten Dateien am Ende nicht wieder zu löschen.

Nach dem Start wählen Sie, ob Sie nur die einzelnen Disziplinen Grafik, CPU und Komponenten testen wollen oder das Gesamtsystem. Vergeben Sie danach einen eindeutigen Namen für den Benchmark-Lauf. Dieser muss dateinamenkompatibel sein und darf keine Sonderzeichen enthalten. Dann tippen Sie gegebenenfalls noch ihr Administrator-Passwort ein, da einige Tools wie hdparm oder nvclock es benötigen. Nun läuft alles vollautomatisch – im Terminal sehen Sie, was der Benchmark gerade testet.

Sie sollten etwas Zeit mitbringen: Je nach Leistungsfähigkeit des zu testenden Rechners läuft der Benchmark durchaus auch mal zwei Stunden. Beim großen Leistungspektrum der Suite, das selbst aktuelle CPUs vom Single-Core Atom bis zum Sechskern-Xeon abdeckt, ist eine lange Laufzeit notwendig, um zuverlässige Ergebnisse zu bekommen. Im Falle eines Falles brechen Sie den Benchmark jederzeit mittels [Strg]+[C] ab. Die Ergebnisse bisher absolvierter Tests finden Sie dann in der Log-Datei der Suite (siehe nächster Absatz). Die Spiele-Benchmarks allerdings lassen sich nicht durch [Strg]+[C] stoppen: Um Sauerbraten zu beenden, drücken Sie zuerst [T] und geben dann /quit ein, Nexuiz beenden Sie per [Umschalt]+[Esc] zum Aufrufen der Konsole und die Eingabe von quit.

Unser Skript schreibt die Ergebnisse in eine ausführliche Log-Datei mit dem zuvor gewählten Namen des Testlaufs. Außerdem fügt es die reinen Zahlenwerte aller Testläufe zur besseren Vergleichbarkeit der CSV-Datei LUbench-datenbank.csv hinzu. Dabei bekommt jede Disziplin eine eigene Zeile; in den ersten drei Zeilen der Datei stehen zur besseren Orientierung die entsprechenden Einzeldisziplinen. Vorsicht: Bei den Einzelwerten handelt es sich teilweise um Zeitmessungen, bei denen ein kleinerer Wert erstrebenswert ist, und teilweise um andere Werte (beispielsweise Frames pro Sekunde), bei denen größer besser bedeutet. Erst nach Abschluss des Testlaufs kombiniert LU-Bench diese Werten durch Umrechnen zu einem Gesamtergebnis, bei dem größere Zahlen mehr Leistung ausdrücken. In allen Logs finden Sie die Maßeinheit bei jedem Benchmarkergebnis.

Gelegentlich beobachteten wir beim Testen auf unserem ATI-basierten Entwicklungssystem, dass einzelne SPECviewperf-Disziplinen nicht oder nur eingeschränkt liefen. Höchstwahrscheinlich sind die Treiber verantwortlich: SPECviewperf basiert auf OpenGL-Code aus High-End-Anwendungen, die der Hersteller SPECopc eigentlich nur für einzelne ausgewählte Profi-Grafikkarten von ATI und Nvidia zertifiziert. Die wesentlich teureren Profi-Versionen von Geforce und Radeon heißen Quadro beziehungsweise FireGL; zwar basieren sie letztendlich auf den gleichen Chips, haben allerdings andere Firmware und andere Treiber. Letztere sorgen vor allem für mehr Stabilität, Präzision und eine bessere Leistung im Drahtgitter-Modus. Daneben bieten sie Unterstützung für einige andere im Profi-Bereich wichtige Features.

Seltsamerweise trat das Problem nur manchmal auf, deshalb sollten Sie gegebenenfalls einen zweiten Testlauf probieren. Mit Nvidia-Karten lief unser Test übrigens durchweg einwandfrei – unter Linux scheinen Nvidias Treiber einfach die ausgereifteren und auch leistungsfähigeren zu sein. Das bestätigte übrigens auch unser Vergleichstest Nvidia Geforce GTX 280 vs. ATI Radeon HD 4870, den Sie in der Hardware-Rubrik dieser Ausgabe finden.

TIPP

Sie haben ihren Rechner mit LU-Bench getestet und wollen ihre Werte mit denen anderer Anwender vergleichen? Sie haben Vorschläge zur Erweiterung unserer Benchmark-Suite? Dann besuchen Sie uns doch auf LinuxCommunity.de und nutzen dort die Kommentarfunktion [12].

Lizenzfragen

Mit Ausnahme von SPECviewperf unterliegen zwar alle Komponenten der LinuxUser-Benchmark-Suite freien Lizenzen (GPL, Creative Commons und andere). Da die Lizenz von SPECviewperf allerdings ein Kopieren lediglich zu Backup-Zwecken erlaubt (siehe Kasten “SPECviewperf – Lizenzbedingungen”), dürfen Sie die LinuxUser-Benchmark-Suite, wie Sie sie auf der Heft-DVD vorfinden, nicht an Dritte weitergeben. Es spricht jedoch nichts dagegen, den Inhalt des Verzeichnisses LUBench ohne den Ordner SPECViewperf10 neu zu packen und weiterzugeben. Der Empfänger muss dann lediglich den SPECview-Benchmark bei SPECopc herunterladen und ins Verzeichnis LUbench installieren, um die LinuxUser-Benchmark-Suite voll nutzen zu können.

SPECviewperf – Lizenzbedingungen

Mit freundlicher Genehmigung der SPECopc finden Sie auf der Heft-DVD in unsere Benchmark-Suite integriert den SPECviewperf-Benchmark. Zu den Lizenzbedingungen lesen Sie bitte das entsprechende README im Verzeichnis. Beachten Sie bitte insbesondere, dass die Lizenz von SPECviewperf ein Kopieren außer zu Backup-Zwecken ausdrücklich ausschließt.

Versionssprung

Beim Audio-Encoding und der Dateikompression nutzt LU-Bench 2.1 etwas andere Testfiles als die Vorgänger-Version, zudem aktualisierten wir SPECviewperf auf Version 10. Daher lassen sich die Testergebnisse nur grob mit dem Phenom/Core-i7-Vergleich aus dem letzten Heft und dem Grafikkartentest in diesem Heft auf Seite 78 vergleichen, die wir noch unter LU-Bench 2.0 ermittelt haben. Wir werden den Benchmark zukünftig erweitern und mit der Verfügbarkeit neuer oder verbesserter Software aktualisieren – achten Sie also darauf, nicht Messergebnisse unterschiedlicher Versionen zu vergleichen.

LinuxUser 05/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

3 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Dell_inspiron_9400
17 Jahre her

Bei mir hat der Nexuiz und Sauerbraten-Benchmark nicht gefunzt: ———————–schnipp —————————————————— Systemdetails: Ubuntu 9.04, 32 Bit CPU: Genuine Intel(R) CPU T2400 @ 1.83GHz, 2 Kerne ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket GPU: ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket Treffen Sie ihre Wahl: 4 Rechnername (dateinamenkompatibel!)? dell_inspiron_9400 [sudo] password for XXX: ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket ./bin32/glxinfo: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_take_socket Teste GPU-Leistung… ——————– — – Teste… Mehr »

hermes
16 Jahre her

Ich habe genau das gleiche Problem. Wenn ich aber das sauerbench selbst starte:

$ cd sauerbench/
$ ./sauerbench_unix

dann läuft es!
selbiges gilt für ./bin64/glxinfo

Nur wenn ich das Skript LUbenchV2.sh ausführe, kommt der Fehler.

Hast du schon eine Lösung dafür?

Mein System ist Ubuntu 9.04, Geforce 8800GTX, Treiberversion 180

Ludger Gebhardt
16 Jahre her

Hallo bekomme immer diese Fehlermeldung:

nexus@debian:/DATA/LUbench-2.1.1$ ./LUbenchV2.1.1.sh
./LUbenchV2.1.1.sh: Zeile 21: [: -lt: Einstelliger (unärer) Operator erwartet.
ERROR: testfile.tar nicht gefunden

wer kann helfen ?

viele Grüße nexus

Nach oben