Betriebssystem-Update des CLiC


Im Zeitraum vom 7. bis 14. Oktober erfolgte auf dem CLiC (Chemnitzer Linux Cluster) ein Betriebssystem-Update von Red Hat 6.2 auf Red Hat 7.3. Die Umstellung dauerte leider eine ganze Woche, da ein Problem auftrat, das in der Vorbereitungsphase nicht absehbar war. Ab einer bestimmten Knotenzahl traten zunächst unklare Kommunikationsverzögerungen auf. Durch ein Vergrößern des ARP-Caches auf jedem Knoten und ein statisches Eintragen aller Ethernet-Adressen der Knoten in diesen Cache konnte das Problem schließlich beseitigt werden. Am 15.10. wurde der CLiC für den Produktionsbetrieb wieder freigegeben.

Software-Basis

Jetzt steht den Nutzern folgende Software-Basis (Auszug) zur Verfügung:

Beachtenswertes

Durch die Nutzung des CLiC im Oktober wurden einige Besonderheiten der neuen Umgebung offensichtlich.

  1. der neue PGI-Compiler 4.x

    Alle Pakete, welche den PGI-Compiler benutzen - dazu zählen hauptsächlich die mit ihm übersetzten LAM-MPI Versionen - benötigen die Bibliothek "libpgc.so", falls das Binary dynamisch gelinkt wurde. Damit ein solches Programm lauffähig wird, ist in der Umgebung des Nutzers der Pfad dieser Bibliothek in den Login-Scripts zu setzen. Bei Benutzung der BASH könnte das wie folgt aussehen.

    Im Login-Script "~/.bashrc" ist bei Benutzung des PGI-Compilers 4.x folgender Eintrag zu setzen:

      pgi_path=/afs/tu-chemnitz.de/global/capp/pgi-4.x/4.0-2/linux86/lib
      if [ "_$LD_LIBRARY_PATH" = "_" ]
      then
        LD_LIBRARY_PATH="${pgi_path}"
      else
        LD_LIBRARY_PATH="${pgi_path}:${LD_LIBRARY_PATH}"
      fi
      export LD_LIBRARY_PATH
      unset pgi_path
    

    In der URZ-Umgebung ist meist "~/.bashrc" ein Link nach "~/PUBLIC/.bashrc". Ist das der Fall, dann sollten diese Zeilen dort eingefügt werden. Für Nutzer der TCSH sind die Einträge entsprechend zu adaptieren.

  2. SSH und AFS-Token

    Einige Nutzer von LAM-MPI benutzen als Remote-Shell die SSH, damit der zu startende "lamd"-Prozess später einen AFS-Token besitzt.
    Die SSH transportiert auch den gültigen AFS-Token auf den entfernten Knoten. Trotzdem erhalten die Nutzer bei einem Aufruf von "mpirun" oft die Fehlermeldung

       "permission denied (n1)"
    

    Die Ursache ist, dass nach dem "lamboot" der AFS-Token durch die SSH verworfen wird, da sie sich ja wieder ausloggt. Somit steht dem "lamd"-Prozess auch kein Lese-Recht mehr zur Verfügung und er kann bei einem entsprechend abgesicherten AFS-Verzeichnis das MPI-Programm nicht starten. Um dieses Problem zu umgehen, wurde schon vor etwa einem Jahr die AFS-Gruppe "urz:clicnodes" geschaffen. Dadurch wird es den CLiC-Knoten ermöglicht, auch ohne AFS-Token in bestimmten Verzeichnissen entsprechende AFS-Rechte einzuräumen. Dazu müssen im Verzeichnis durch den Nutzer vor dem Start des MPI-Programms die AFS-Rechte passend gesetzt werden, beispielsweise durch folgende Kommandos:

      cd <mein mpi arbeitsverzeichnis>
      fs sa .  urz:clicnodes read
    

    Falls auch in den Unterverzeichnissen diese Rechte gesetzt werden sollen, ist dazu das kormnfortablere chacl-Kommando

      cd <mein mpi arbeitsverzeichnis>
      chacl -R . urz:clicnodes read
    

    einsetzbar.

Tools, Hilfsmittel und Web-Information

Auf den Clusterknoten sind unter /usr/local/bin jetzt einige Skripte verfügbar, welche die Nutzung des CLiC etwas vereinfachen helfen sollen.

chk_hosts checkt Knoten anhand eines anzugebenden Node-Files
clic_chk_hosts checkt Knoten in PBS-Umgebung anhand des PBS_NODEFILEs oder eines optional anzugebenden Node-Files
clic_chk_load checkt Knoten in PBS-Umgebung anhand des PBS_NODEFILEs oder eines optional anzugebenden Node-Files und zeigt den auf diesem Knoten gerade aktuellen Load an
clic_init_lam bootet LAM-MPI-Umgebung und stellt eine Shell (meist Login-Shell) für den Nutzer in dieser Umgebung bereit, bei exit wird die LAM-MPI-Umgebung per wipe wieder abgebaut
clic_init_mpich_mpd bootet MPICH-MPD-Umgebung und stellt eine Shell (meist Login-Shell) für den Nutzer in dieser Umgebung bereit, bei exit wird die MPICH-MPD-Umgebung per mpdstop wieder abgebaut
pbsnodes-short gibt den mehrzeiligen Output je Knoten von pbsnodes -a auf einer Zeile aus

All diese Skripte besitzen eine Option "--help" (außer pbsnodes-short), um eine ausführlichere Beschreibung der Funktionalität des jeweiligen Kommandos zu erhalten.

Seit längerer Zeit ist eine Anzeige der momentanen Ressourcen-Anforderung und des momentanen Zustands des CLiC im Web möglich. Dazu kann man im Browser die URL:

  http://www.tu-chemnitz.de/urz/anwendungen/CLIC/curr_usage.php3

eingeben und erhält eine Übersicht über die aktiven und wartenden Jobs. Außerdem kann man sich schnell einen Überblick über den Zustand der Knoten verschaffen.

Zur Beantragung von Projekten und deren Management (Änderung der Daten, Verlängerung der Laufzeit, Auflistung der Mitglieder usw.) ist eine Web-basierte und datenbankgestützte Schnittstelle verfügbar, welche über die URL

  https://www.tu-chemnitz.de/urz/anwendungen/Forms/projdb/

erreichbar ist.

Mike Becher, November 2002