Jube

JUBE

Heute möchte ich euch ein sehr nützliches Werkzeug vorstellen, dass bei der systematischen Durchführung von Benchmarks helfen kann: JUBE.

Wer viel mit Benchmarks arbeitet,  kennt das Problem: In der Regel führt frau den Benchmark nicht nur einmal durch, sondern immer wieder, wobei verschiedene Parameter variiert werden.

Nehmen wir als ein Beispiel den IOR Benchmark, der verwendet wird, um  die Performance von IO Systemen zu messen. Dabei können verschieden Parameter, wie zum Beispiel die Lese- und Schreibgröße, variiert werden um verschiedene Eigenschaften zu messen.

Wenn man auf (HPC-) Clustern arbeitet, möchte man vielleicht auch noch die Anzahl der Knoten und der Prozesse pro Knoten variieren. Dafür müssen jedes mal Job-Files erstellt werden. Am Ende müssen die Ergebnisse gesammelt und ausgewertet werden.

Aus Erfahrung weiss ich, dass das ein ziemlich ermüdend sein kann und man leicht den Überblick verliert. Auch wenn man durch Skripte vieles leichter machen kann,  kann man durch das variieren von vielen Parametern schnell den Überblick verlieren. Vor allem, wenn man die Arbeit von anderen übernimmt, kann es etwas dauern, bis man durch ein Wirwar von verschachtelten Skripten durchgestiegen ist.

Dabei ist Benchmarken (oder sollte es zumindest sein) eine sehr systematische Angelegenheit, die sich eigentlich sehr einfach automatisieren lassen sollte. JUBE ist genau das Tool, das man hier verwenden sollte. Wenn man sich erst einmal an XML gewöhnt hat, ist es ein sehr mächtiges Werkzeug, das Benchmarken deutlich vereinfacht. 

JUBE wurde am Forschungszentrum Jülich entwickelt, und in meiner Zeit dort habe ich es kennen und schätzen gelernt. Das Forschungszentrum selber hat eine sehr gute, und brauchbare Dokumentation und ein gutes Tutorial

Je nachdem, was man will, kann JUBE einem den gesamten Workflow abnehmen. Das beginnt dem kompilieren von Code, geht über das Erstellen und Submitten von Job Skripten bis hin zum sammeln von Ergebnissen (z.B. im CSV Format).

 
Dabei lassen sich die Skripte z.B. auch einfach an neue Systeme anpassen. Ordentlich angefertigt, kann ein gutes JUBE-Skript auch zur Dokumentation genutzt werden - z.B. mit welcher Software Version ein Benchmark durchgeführt wurde, oder welche abhängigkeiten bestehen.


Ich kann jeden, der sich mit Benchmarken beschäftigt, JUBE nur empfehlen. 
 

Links