TheBonsai's Blog

About the days and nights of TheBonsai

Zwei völlig unterschiedliche Batch Scheduler

September 8th, 2010 by TheBonsai

Auf der Suche nach einem Batch Scheduler für Linux habe ich mir 2 Stück genauer angesehen und bin zu einem verblüffenden Ergebnis gekommen, das eindeutig besagt dass geile GUIs definitiv nicht alles sind :) Dies ist keine volle Review, sondern nur eine kleine Aufzählung von Pro/Contra Punkten

GNU Batch

GNU Batch ist eigentlich ein uraltes Produkt (Anfang der 90er) das zwischenzeitlich nur den Namen gewechselt hat und bei der Versionierung wieder bei 1 angefangen hat.

PRO

  • stabiler Kern
  • Prinzip Multiprozess + SHM
  • portabel – “could go mostly wherever Unix went” (C/GNU Autotools, GTK+, Motif)
  • Globale (Scheduler-weit oder Cluster-weit), atomar nutzbare Variablen (geeignet zum Chaining und als “Job-IPC”)
  • saubere Dokumentation über Recoverymöglichkeiten des Scheduler-Status beim Crash (Auslesen des SHM Segmentes, etc.)
  • saubere Dokumentation des C-API (und sauberes API, keine Tricks für 3rd-Party Programme nötig, um den Scheduler zu beeinflussen)
  • Benutzer- Variablen- und Job-Rechtevergabe
  • Jobs haben Benutzer- und Gruppenattribute (“Ausführen als”)

CONTRA

  • umständlich zu installieren, falls man kein Binärpaket hat (Debian Pakete sind in Arbeit)
  • umständliche User Interfaces
  • keine (direkte) “Job Chain” Unterstützung
  • kleinere Bugs/Unschönheiten (aber nicht im Kernsystem), auch in Arbeit
  • läuft Im Kontext der UID 0 (was aber u.A. benötigt wird für verschiedene Benutzerumgebungen)

SOS Scheduler

PRO

  • gutes User Interface
  • portabel (JAVA)
  • direkte Unterstützung von Job Chains

CONTRA

  • (für mich als Techniker) nicht so ohne Weiteres intuitiv nachvollziehbar und bedienbar (wann sind wo welche Jobs einzutragen, wieso geht das an tausend verschiedenen Stellen, Hot Folders, statische Konfiguration, etc. etc.)
  • Relativ Komplexe Konfiguration, fast wie ein Vollnormalisiertes Datenbankschema, was technisch vielleicht elegant sein mag, aber praktisch ggf. überladen ist
  • keine Sperrungen gegen gleichzeitiges Starten von Schedulern mit ein- und derselben Schedulerdefinition
  • keine sauberen Fehlermeldungen (mann muss sich durch den JAVA Stacktrace durchbuddeln… und man findet dann irgendwo eine Methode deren Name irgendwas mit “display” zu tun hat – aha, X11 Display kann nicht geöffnet werden)
  • keinerlei Dokumentation über Verhalten und Recovery beim Crash der JVM (wahrscheinlich auch nicht möglich nach Crash der JVM – alles was nicht schon in den XML-Dateien ist, ist verloren)
  • keine “Multi-JVM” Architektur (ähnlich Multiprozess), d.h. Crash der JVM führt ggf. zum Komplettstillstand des Schedulers, recoverymöglichkeit vage
  • man muss sich ein Bein ausreissen um Jobs in verschiedenen Benutzerumgebungen zu starten (eigenes SUID Programm, etc..)

Fazit für mich persönlich

  • GNU Batch ist der technisch ausgereiftere und besser gehärtete Scheduler
  • die Dokumentation über Recovery nach Crash zeugt von jahrelangem Praxiseinsatz (kein Mensch programmiert Tools zum Auslesen des SHM gleich bei der ersten Version)
  • SOS Scheduler ist weitaus besser zu bedienen (aber in Teilen auch etwas umständlicher)
  • GNU Batch kann ich selbst supporten und fixen und diese Fixes auch anderen zukommen lassen (ich kann C, aber kein JAVA)
  • für GNU Batch kann ich ggf. selbst ein GUI schreiben, da das angebotene API der offiziellen API Library völlig ausreicht (auch netzwerkfähig)

Anfangs hat es genau anders herum ausgesehen, aber ich habe mich (shame on me!) von einem GUI blenden lassen und habe völlig ignoriert, dass die Kernaufgabe eines Schedulers das Scheduling ist. Weiter graben werde ich daher im GNU Batch Scheduler.

Nachsatz

Bevor jetzt Beschwerden aus der einen oder anderen Richtung kommen, oder von irgendwelchen Benutzern die mir sagen wollen das wäre doch alles ganz anders und ich hätte den Kern verfehlt: Dies ist nur ein Report wie ich für mich persönlich in einem kleinen Vergleich einen Kandidaten herausgefunden habe, bei dem es sich eher zu lohnen scheint tiefer zu graben als bei einem anderen Kandidaten. Andere Tester mögen (auch aus anderen Gründen oder duch andere Sichtweisen) zu anderen Ergebnissen kommen.

Hier geht es nicht darum, GNU Projekte zu verherrlichen und/oder SOS Software schlecht zu machen (nur um es mal gesagt zu haben).

This entry was posted on Wednesday, September 8th, 2010 at 06:58 and is filed under deutsch, Linux. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply