quantum (quantum.nat.uni-magdeburg.de)

Frontansicht des Clusters

Aktuelles:

  • ToDo: - AFS (?), Jobpriorisierung
  • 2011-07-06 - Seit teilweisen Ausfall der Rueckkuehlanlagen im Juni im Geb05 ist nur noch ein Teilbetrieb moeglich. Bei Aussentemperaturen von 30C und Sonne ist mit Abschaltungen wegen unzureichender Kuehlung zu rechnen. Die Anlage wird im Herbst 2011 ersetzt. Bis dahin bleibt es beim eingeschraenktem Betrieb mit moeglichen Ausfaellen.

Allgemeines

Quantum.nat ist ein Compute-Cluster der theoretischen Physik (AG Prof. Jan Wiersig) beschafft im September 2008. Er besteht aus 30 PowerEdge 1950 Servern die mit 1Gbit Ethernet vernetzt sind. Zugang besteht ueber ssh mit PublicKey fuer die Arbeitsgruppen der Theoretischen Physik (ITP) und deren Gaeste. Jobs der Arbeitsgruppe Wiersig werden priorisiert, d.h. andere Jobs werden ggf. abgebrochen und "resubmitted" (in Arbeit). Die Administration erfolgt ueber das URZ (Dr. Joerg Schulenburg URZ-S Tel. 18408 oder vertretungsweise von Dr. Gerald Kasner ITP Tel. 12469). Fragen zum Cluster und Aenderungswuensche, diese Webseite betreffend, richten Sie bitte an Joerg Schulenburg.

Quickstart


   ssh -X quantum.nat.uni-magdeburg.de   # login to master via ssh-key

   pbstop  # text based job overview, "q" for quit
           # shows wrong CPU number if job is submitted on specific nodes

   /opt/parastation/mpi2/bin/mpicc -O2 -o mpiprog mpiprog.c  # compile

   qsub -I -l nodes=30:ppn=8  # starting interactive Job, "Ctrl-d" for quit
                              # ppn = processes per node (maximum 8)
                              # max. 30*8 = 240 nodes
                              # login to first available node

   mpiexec -f $PBS_NODEFILE -np $(cat $PBS_NODEFILE | wc -l) ./mpiprog
                              # starting your parallel program

   jobscript                  # for noninteractive jobs create a job script
     #!/bin/bash
     # join stderr to stdout and set max. realtime to 24h or what you need
     # memory is total_memory / MPI_tasks, max: 4gb(ppn=8) or 32gb(ppn=1)
     # output of stderr and stdout will be jobscript.oNNN
     #
     #PBS -j oe
     #PBS -l walltime=24:00:00
     #
     # set ulimit -v to 4gb virtual memory per mpi-task
     # max. per node is 30gb (2gb left for the system)
     #PBS -l vmem=30000mb,mem=30000mb
     cd $PBS_O_WORKDIR
     NP=$(cat $PBS_NODEFILE | wc -l)
     # reduce ulimit to 4gb, because qsub sets ulimit -v to max(vmem,mem)
     ulimit -v $(( $(ulimit -v) / $NP ))
     echo "ulimitv=$(ulimit -v) NP=$NP"  # output for debugging
     # ulimit -v  3700000  # for ppn=8: 8*3.7GB=30GB 
     # ulimit -v 30000000  # for ppn=1:         30GB
     #
     mpiexec -f $PBS_NODEFILE -np $NP ./mpiprog
     qstat -f $JOBID                         # seems to be buggy
     qstat -f | grep -e ^Job -e used -e time # workaround

   qsub -l nodes=30:ppn=8 jobscript   # start 240 processes on 30 nodes
   qsub -l nodes=node001:ppn=8 jobscript # start 8 processes on node001
   qsub -l nodes=1:ppn=1,ncpus=1,mem=2GB,vmem=2GB jobscript # share nodes
   # stop jobs by: qdel $jobnumber

   # please adapt the CPU needs to your memory needs (CPUs=memory/4GB)
   # if you dont need much memory, let a minimum of one CPU per node free for
   #   those users, which need a lot of memory (for example ppn=7)
   #   for maximum overall efficiency of the cluster, thanks
   # contact Joerg Schulenburg Tel. 18408 for help

Hardware:

 - 240 cores, 2.9TFLOP, 960GB memory, 13TB scratch disk, 2*30Gbit/s network
 - overview:
   - 30 nodes: Dell PowerEdge 1950 (ca. 240W..300W, 1HE)
     CPUs= 2*Quad-Xeon E5450 3GHz L1=2*32kB(1ns,15GB/s) L2=2x6MB 1333FSB TDP=80W
     Memory= 32GB 667MHz FBD (8x4GB dual rank DIMMs, Intel 5000X Chipset)
             benchmarks: 30*8random=8GB/s,238ns(1GB) 30*8stream=185GB/s
     Storage=  2*250GB 7k2rpm 3.5inch SATA HD RAID striped (r=158MB/s)
     Network=  2*1GbE
   - master:
     CPU=Quad-Xeon E5405-2.00GHz Memory=8GB disk=6*1TB 7k2-SATA
   - UPS for master node (1kW)
 - Storage:
   13TB scratch-disk (summed bandwith = 4.5GB/s)
     30 * 424GB at node0xx:/scratch (w=110MB/s r=158MB/s ext3r=154MB/s)
   5TB RAID5 system on master (sda=1.8TB r=277MB/s sdb=1.8TB sdc=1.2TB)
     1.7TB home space on master:/home (via GbE-NFS w=88..91MB/s r=51MB/s)
     2.8TB work space on master:/tmp1 (ext3 w=185MB/s r=263MB/s)
 - Network:
     eth0: 1GE 192.168.42.0/24 ssh,NFS  192.168.44.0/24 ipmi
     eth1: 1GE 192.168.43.0/24 mpich2   theor.peak=30*100MB/s=3GB/s
     MPI_Sendrecv: (30: 30*60MB/s(32KB), 45us, 30*8: 1400MB/s 118us)

Administration

 Logfiles:
  - /var/torque/server_logs/YYYYMMDD
  - /var/log/messages

History + ChangeLog:

 xx.10.08 - Instabilitaeten IPMI+COM1 umgangen. Cluster einsatzbereit.
 14.11.08 - node003 hanging because of Out-Of-Memory
 25.01.09 - node006 disk controller ausgefallen (?)
 28.07.09 - 11:00 13min Stromausfall
 31.08.09 - node017-node020 down, External Serial Connector war COM1
 11.03.10 - Bioseinstellungen verbessert (fix IPMI/serial_console/IRQ3 problem)
            node006 reconfiguriert
 15.07.10 - Teilabschaltung node01-28 wegen Klimaarbeiten
 06.08.10 - Absturz Node011, ExtSerCon war noch auf COM1 gestellt
 14.09.10 - node005 hanging because of Out-Of-Memory, bad OOM-kills
 10.05.11 - 22:00 Shutdown wegen Klimaausfall, ab 30.05. Sparbetrieb wegen Klimareparatur
 01.06.11 - shutdown wegen Klimaausfall
 03.06.11 - Knoten physisch abgeschaltet, da Netzteile immernoch heiss
 14.06.11 - Klima-Teilbetrieb, Knoten eingeschaltet
 04.07.11 - mpich2 aus EPEL installiert
 08.07.11 - Status: 5 blaue Anzeige LEDs defekt (17%), 2 Nodes mit ECC-Warnung
 18.10.11 - set parastation.psd.rl_core=0 (writing no mpi-core-files,
            parallel writing of big core-files caused excessive nfs load)
 08.12.11 - Abschaltung der Knoten wegen Klima-Reparatur
 14.12.11 - epel-mpich2 auf Knoten installiert (PATH-konflikte)
 16.12.11 - install/update openmpi, wrapperscripte ergaenzt
 20.04.12 - Bios-Update n001-030 2.3.1 zu 2.7.0 (fix sporadische DIMM-Error-Meldungen!?)
          - korrigierbare ECC-Fehler node026 (wandert mit DIMM slot7 zu slot8)
          - memtest86+-4.20 fehlerfrei
 04.05.12 - Austausch defektes Memorymodul node026
 05.05.12 - Ausfall 670W-Netzteil node024
 

Probleme

Bei der Installation im Oktober 2008 traten folgende Probleme auf: Die mpich-Bibliothek hatte einen Bug (Deadlock wurde von ParTec behoben) und das System ist vermutlich in Folge eines Firmwarebugs im BMC zur Fernsteuerung ueber IPMI im Zusammenspiel mit einem Bug im seriellen Treiber des Linuxkernels instabil, d.h. es stuerzte bei starker Belastung nach gewisser Zeit mit mit Kernel Oops ab (Kernel Panic mit uart_put_char+0x42/0x64 oder _stext+0x7ffff000/0x1000, oder serial8250: too much work for irq3). Letzteres Problem liess sich durch Umkonfigurierung des "Externel Serial Connectors" von COM1 auf COM2 im BIOS oder deaktivieren von agetty fuer ttyS1 umgehen.

 typische Fehlerlogs:
  init Id "co" respawning too fast: disabled for 5 minutes
  login: FAILED LOGIN 3 FROM (null) FOR , User not known to the underlying  ...
  pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=ttyS1 ruser= rhost=
  
 Funktionierende Einstellung (Work Around):
  Serial Communication ....... On with Console Redirection via COM2             
  External Serial Connector .. COM2
  Failsafe Baud Rate ......... 57600                                            
  Remote Terminal Type ....... VT100/VT220                                      
  Redirection After Boot ..... Enabled                                          

 Out-of-Memory-Probleme (OOM), kernel-2.6.18 haengt u.U.:
  Workarround (tested +buffer+cache+/dev/shm) for rc.local Jul2011:
    echo 100 > /proc/sys/vm/overcommit_ratio   # full memory can be used
    echo 2   > /proc/sys/vm/overcommit_memory  # no overcommit memory!

Weitere HPC-Systeme:

SC072-PDS asgard, GbE Cluster mit 30 Dual-QuadXeon quantum, SC5832 kautz, ISUT-Cluster comp2_mb