Ich hoffe, dass sowohl interessierte Informatiker als auch Leihen etwas verstehen.
Rückblick: Was war noch mal meine Aufgabe?
Ich soll für CERN ein System entwickeln, das Informationen über jeden einzelnen Rechner, der am Computer-Grid Aufgaben erledigt, sammelt und für die Verantwortlichen zugreifbar macht.
Dieses System besteht also aus einem Programm, das auf jedem dieser Rechner läuft. Von dort aus schick es Informationen verpackt in Nachrichten zu einem einzigen Rechner hier auf dem CERN-Gelände (nämlich im Moment meinem). Diese Informationen werden dann hier ausgewertet und vermutlich später in Form einer Website für andere zugreifbar gemacht.
Im Detail
WNCM (Worker Node Configuration Monitoring) – so habe ich meine Arbeit bisher getauft. Das Programm, das sich auf den Grid-Rechnern (Worker Nodes) befindet (genannt WNCM-Publisher), führt eine Reihe von kleinen Test-Programmen gleichzeitig aus.
Diese bestimmen simple Informationen wie zum Beispiel Werte von Umgegungsvariablen, System-Informatioen, wie Name und Version des Betriebssystems oder die Netzwerkverfügbarkeit durch das Pingen von cern.ch. Natürlich auch noch spezielle andere Informationen über das Grid selbst.
Danach wird alles über ein ActiveMQ Nachrichten-System an den sog. WNCM-Cosumer geschickt, der die Pakete empfängt, auf Korrektheit überprüft und in eine Oracle-Datenbank einpflegt.
Ein weiteres Programm, das bisher noch nicht existiert, wird dann auf Wunsch (z.B. beim Aufruf einer Website) Anfragen an die Datenbank stellen, und diese Informationen in irgend einer übersichtlichen Art und Weise darstellen (Prozentuale Verteilungen, Diagramme, etc.)
Wie weit bin ich?
Bisher kann ich Informationen über die Rechner bestimmen, über ActiveMQ zu meinem Computer übertragen und das meiste davon in eine Oracle-Datenbank einpflegen. Derzeit habe ich noch einige Probleme mit bestimmten Test-Programmen. Zum Beispiel liefert der Test auf die Java-Version auf manchen Systemen einen Exit Status von 139 zurück, den ich noch nicht richtig einordnen kann.
Das Empfangen der Nachrichten klappt schon sehr gut. Auch das Einpflegen der Daten in die Oracle-Datenbank ist nicht schwer. Allerdings erweißen sich einige grid-spezifische Details als schwierig, vorallem da sich Fehler im Datenbank-Design später verherend auf die Auswertung auswirken könnten.
Einige lustige Anfragen kann ich allerdings schon stellen:
Folgende Tabelle zeigt die Anzahl an verschiedenen Rechnern pro Land, auf denen mein Programm heute gelaufen ist:
| Land | Anzahl |
|---|---|
| Switzerland | 61 |
| UK | 60 |
| Italy | 26 |
| Spain | 26 |
| France | 22 |
| Russia | 19 |
| Unknown | 19 |
| Germany | 17 |
| Greece | 14 |
| Taiwan | 10 |
| Romania | 7 |
| Bulgaria | 6 |
| Ireland | 6 |
| Poland | 5 |
| Hungary | 5 |
| Canada | 4 |
| Portugal | 4 |
| Czech Republic | 3 |
| China | 3 |
| Croatia | 2 |
| Lithuania | 2 |
| Japan | 2 |
| Belgium | 2 |
| Austria | 2 |
| Australia | 1 |
| Malaysia | 1 |
| Brazil | 1 |
| Senegal | 1 |
| India | 1 |
| Cyprus | 1 |
| Pakistan | 1 |
| Sweden | 1 |
| Slovakia | 1 |
Nett, nicht wahr?




nett? ….
Das ist toll ^-^