NWZSUPERDOME. Einführung für Benutzer. Christian Mück-Lichtenfeld. Organisch-Chemisches Institut. May 16, 2007



Ähnliche Dokumente
Prozesse und Logs Linux-Kurs der Unix-AG

RWTH - Umgebung. Übersicht. Seite 1. RWTH-Umgebung. Sun Grid Engine. Dateimanagement. Archiv. Backup. Seite 2. RWTH-Umgebung

Prozesse und Logs Linux-Kurs der Unix-AG

Persona-SVS e-sync GUI/Client Installation

Warum in die Ferne schweifen?

Anleitung für zwei Fortran-Openmp-Beispiele auf der NWZSuperdome

Hochleistungsrechnen mit Windows Interaktive Benutzung und das Batchsystem Christian Terboven Rechen- und Kommunikationszentrum RWTH Aachen

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Windows HPC Server 2008 aus der Betreiberperspektive

4D Server v12 64-bit Version BETA VERSION

Praktische Erfahrungen mit Hochgeschwindigkeitsfirewalls. 54. DFN-Betriebstagung

Laborübung - Task-Manager (Verwalten von Prozessen) in Windows 7

Installationsanleitung

Dynamic Ressource Management

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Laborübung - Task Manager (Verwalten von Prozessen) in Windows Vista

Betriebssystem Windows - SSH Secure Shell Client

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

Mindestanforderungen an Systemumgebung Für die Nutzung von excellenttango

Well-Balanced. Performance Tuning

Fragen zur GridVis MSSQL-Server

Installationsanweisung editit

BEDIENUNG ABADISCOVER

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

UBELIX University of Bern Linux Cluster

Installationsanleitung. Ab Version

PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung paralleler Prozesse bei der Umweltsimulation

> Soft.ZIV. Maple Mathematisches Software System

Installation von CVS mit sicherer Datenübertragung nach dem SSH-Protokoll unter Windows (Version 2.0)

AutoCAD Dienstprogramm zur Lizenzübertragung

Laborübung - Verwalten von virtuellem Speicher in Windows 7

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Objektorientiertes Programmieren mit Suse Linux

Staatlich geprüfter EDV-Führerschein

JIRA-Speicher erhoehen

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Enigmail Konfiguration

Betriebshandbuch. Installation Fileserver mit Windows 2003 Enterprise Server an der TBZ Technikerschule Zürich

ALL NEW GROUNDWORK 7.0.2

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. Dipl.-Inform. Joachim Jäckel

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2

ESPRIT-Installationsanleitung Version 2013

Version 0.3. Installation von MinGW und Eclipse CDT

Anleitung für die Verwendung des CIP Pools von eigenen Rechner

PC Virtualisierung für Privatanwender

NODELOCKED LIZENZ generieren (ab ST4)

Formular»Fragenkatalog BIM-Server«

Zählen von Objekten einer bestimmten Klasse

ProSeminar Speicher- und Dateisysteme

Lubuntu als Ersatz für Windows

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

CHARON-AXP Alpha Hardwarevirtualisierung

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Embedded So)ware. Einrichten der Arbeitsumgebung

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.3 BASIC BASIC ONLINE BUSINESS PROFESSIONAL STAND: FEBRUAR 2016

Laborübung - Task Manager (Verwalten von Prozessen) in Windows XP

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

Perceptive Document Composition

Anleitung zur Nutzung des SharePort Utility

Fluent auf Windows HPC Server ict ag - Mit uns können Sie rechnen

Dokumentation Schedulingverfahren

Dieses UPGRADE konvertiert Ihr HOBA-Finanzmanagement 6.2 in die neue Version 6.3. Ein UPGRADE einer DEMO-Version ist nicht möglich.

Dämon-Prozesse ( deamon )

Drucken aus der Anwendung

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

WinVetpro im Betriebsmodus Laptop

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

Systemanforderungen Verlage & Akzidenzdruck

Installationsanleitung für OpenOffice.org Sprachpakete

Installation SQL- Server 2012 Single Node

Aktivierung von Makros in den Erfassungshilfen

QuickHMI Config Tool. User Guide

Empfohlene Rechnerausstattung

Dokumentation QuickHMI Runtime Manager

C++ mit Eclipse & GCC unter Windows

Installationsvoraussetzungen

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Command-Line. Line-Tools und Unix-Umgebungen Umgebungen unter Windows

Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460)

Citrix Provisioning Server Marcel Berquez. System Engineer

Systemanforderungen ab Version 5.31

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Vektorrechnersystem NEC SX-9

1. Den richtige Webbrowser benutzen Einen Vollzugriff auf alle Funktionen von Outlook Web App ist ausschliesslich mit folgenden Webbrowser möglich.

DVB-T EuroMini100 Seite 1 von 10

Installationsanleitung für Update SC-Line

Allgemeine Anforderungen zum Einsatz von (gültig ab Version 45.xx.xx)

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

SAS Metadatenmanagement Reporting und Analyse

cs106 Informatiklabor Teil 1: Java-Installation

WEKA Handwerksbüro PS Mehrplatzinstallation

- Öffnen Sie Ihren Internet-Browser und geben Sie nacheinander folgende Adressen ein:

Allgemeine Anleitung Treiber für CP2102

Anbindung des eibport an das Internet

Transkript:

Einführung für Benutzer Christian Mück-Lichtenfeld Organisch-Chemisches Institut May 16, 2007 1/44 Überblick Themen Hardwareresourcen Installierte Software Programmierung Zielgruppe: High Performance Computing (HPC) User 2/44

Hardware HP Superdome 3/44 Hardware Itanium2 Prozessor Montecito 1.6 GHz 18 MB L3 Cache 2 Cores (Dual Core) pro CPU 4/44

Hardware Segmentierung der Superdome Superdome besteht aus Cellboards (CBs) jedes CB ist mit bis zu 4 CPUs und 16 GB RAM bestückt 5/44 Hardware Verbindungen zwischen Cellboards und IO 6/44

Hardware Rackaufbau 7/44 Hardware Partitionierung der Superdome NWZSUPERTEST 4 Cores 8 GB RAM (Batchbetrieb für Tests) 4 GB RAM Itanium2 CPU (dual core) NWZSUPERBATCH 32 Cores 64 GB RAM (reiner Batchbetrieb) 8 Cores 16 GB RAM (interaktiver Zugang Batchbetrieb) 8/44

Installierte Software Betriebssystem Betriebssystem Red Hat Enterprise Linux AS release 4 (Nahant Update 4) Anbindung an die Benutzerverwaltung des NWZnet Anbindung der Homeverzeichnisse des NWZnet (für Windows-User = Laufwerk I:) Zugang per ssh (von Windows, Linux, MAC aus) 9/44 Installierte Software Betriebssystem Dateisysteme der Superdome-Partitionen NAS Fileserver (NWZ HOME Dirs) SAN Array /scratch /work /ddfs/user/data ($HOME) NFS Ethernet (2 x Gigabit) 000000 111111 000000 111111 /scratch /ddfs/user/data ($HOME) /work NFS /scratch /ddfs/user/data ($HOME) /work NFS $HOME und /work (200GB) auf allen drei Knoten identisch /scratch pro Knoten separat (50GB - wird turnusmässig gesäubert) 10/44

Installierte Software Betriebssystem Shell-Umgebung BASH empfohlen, TCSH, PDKSH und ASH vorhanden. Vorgaben in /etc/profile: Torque-Befehle und -libraries in den Pfad MKL in den LD LIBRARY PATH Intel Fortran und C Compiler in den Pfad setzen.bashrc im HOME-Verzeichnis verarbeiten X11-Forwarding (ssh-tunnel) möglich 11/44 Installierte Software Entwicklung und Performance Compiler und Libraries gcc/g++ 3.4.6 Intel Fortran Compiler 9.1.036 Intel C/C++ Compiler 9.1.042 Intel MKL (Math Kernel Library) 9.0 Intel vtune Performance Analyzer 8.0.4 MPICH2 (1.0.5p4) / SMP 12/44

Installierte Software Anwendungen Anwendungen 1 Quantenchemie Gaussian03 geplant Turbomole (AK-Lizenz Grimme, OC) MOLPRO (AK-Lizenz Grimme, OC) 2 andere folgen... 13/44 Programmierung Shared Memory Programmierung: OpenMP Erzeugung und Lauf eines Parallelprogrammes: Pragmas im Quelltext steuern die Parallelisierung!$OMP OpenMP-Anweisungen oder c$omp OpenMP-Anweisungen Compilieren ifort -openmp -o prog source.f90 zur Laufzeit: $OMP NUM THREADS definiert Zahl der Parallelprozesse setzen mit z.b. export OMP NUM THREADS=4 Systemtools (ps, top usw.) zeigen nur einen Prozess an, der aber > 100% CPU-Leistung erhält. 14/44

Programmierung Beispiel OpenMP-Subroutine subroutine matrixmult(n,ma,mb,mc) implicit none real*8 ma(n,n), mb(n,n), mc(n,n) integer i,j,k,n!$omp PARALLEL DO SHARED (ma,mb,mc) do i = 1,n do j = 1,n mc(i,j) = 0 do k = 1,n mc(i,j) = mc(i,j) + ma(i,k)*mb(k,j) end do end do end do!$omp END PARALLEL DO return end 15/44 Programmierung Parallelprozess Prozess mit OMP NUM THREADS=8 top - 08:57:22 up 20 days, 16:41, 3 users, load average: 1.77, 0.41, 0.21 Tasks: 172 total, 2 running, 170 sleeping, 0 stopped, 0 zombie Cpu(s): 50.0% us, 0.0% sy, 0.0% ni, 50.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 16529888k total, 4499584k used, 12030304k free, 273744k buffers Swap: 2031584k total, 0k used, 2031584k free, 3540528k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 32560 hanswurst 25 0 85056 48m 2288 R 800 0.3 2:11.55 matmult-omp 32523 hanswurst 16 0 10544 4144 3168 R 1 0.0 0:00.20 top 32472 hanswurst 16 0 20816 6096 4128 S 0 0.0 0:00.02 sshd 16/44

Programmierung Walltime (real) vs. CPUtime Zahl der Threads führt zu unterschiedlichen Laufzeiten (gleiche CPU-Zeit!) hanswurst@nwzsuperdome:~/superdome> export OMP_NUM_THREADS=8 hanswurst@nwzsuperdome:~/superdome> time./matmult-omp real 1m46.958s user 13m28.524s sys 0m1.497s hanswurst@nwzsuperdome:~/superdome> export OMP_NUM_THREADS=2 hanswurst@nwzsuperdome:~/superdome> time./matmult-omp real user sys 6m57.187s 13m47.253s 0m0.429s 17/44 : Torque/MAUI Open Source Projekt ( www.clusterresources.com ) Weiterentwicklung von OpenPBS - kommerzielle Variante: PBSPro (Altair) Server: pbs server, steuert die Jobausführung Scheduler: Torque-Scheduler (pbs Sched) oder MAUI (open source) pbs server und pbs sched laufen nur auf nur dort können Jobs submittet werden. 18/44

Torque/MAUI aus Benutzersicht Elementarer Befehlssatz: qsub - Job Submission qstat - Jobs verfolgen qdel - Jobs (vorzeitig) beenden qrun - Job starten pbsnodes - Node Eigenschaften abfragen 19/44 Batch-Job abschicken mit qsub Zwei mögliche Vorgehensweisen: 1 alle Optionen in einem Jobskript (job) definieren und dieses mit qsub starten (empfohlen). qsub job 2 Optionen dem qsub Befehl in der Kommandozeile mitgeben, um Skript auszuführen: qsub Optionen... Skript 20/44

qsub Optionen Optionen werden entweder in der Kommandozeile oder im Jobskript übergeben: -a date time: bestimmt die Zeit, nach der der Job starten soll -e path: Pfad der (Standard-)Fehlermeldungen -I: interaktiver Job (nicht im Jobskript) -l resource list: definiert Jobresourcen (s.u.) -m mail options: a bei Abbruch, b bei Beginn, e bei Ende des Jobs -M user list: Email-Adresse für Benachrichtigung -N name: Name (Label) des Jobs. 15 Zeichen, erstes davon alphabetisches -o path: Pfad der (Standard-)Ausgabe -q destination: spezifische Queue, in der der Job laufen soll -v variable list: Liste von Umgebungsvariablen, die an den Job übergeben werden -V: übergibt alle Umgebungsvariablen an den Job 21/44 PBS Jobresourcen können durch Komma getrennt hinter qsub -l... angegeben werden. Auswahl: nodes=1:ppn=8 cput=hh:mm:ss pcput=hh:mm:ss walltime=hh:mm:ss pmem=1000mb host=name file=20gb Zahl der Knoten (hier immer 1) und der benötigten CPUs Maximale CPU-Zeit des Jobs Maximale CPU-Zeit eines Prozesses des Jobs Maximale Laufzeit (Real-Zeit) des Jobs Benötigter physikalischer Speicher (hier 1 GB) Name des Rechners, auf dem der Job laufen soll maximale Grösse der von Job geschriebenen Files Bsp: #PBS -l cput=1:00:00,walltime=2:00:00,file=50gb,mem=15mb Siehe auch man pbs resources 22/44

PBS Queues Befehl qstat -Q bzw. qstat -Qf: Queue: batch queue_type = Execution total_jobs = 0 state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:0 Exiting:0 resources_max.walltime = 48:00:00 resources_default.nodes = 1 Queue: test queue_type = Execution total_jobs = 0 state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:0 Exiting:0 resources_max.walltime = 04:00:00 resources_default.nodes = 1:test Queue: short queue_type = Execution total_jobs = 0 state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:0 Exiting:0 resources_max.walltime = 01:00:00 resources_default.nodes = 1 23/44 qsub Shell-Variablen im gestarteten Job: PBS O HOST the name of the host upon which the qsub command is running. PBS O QUEUE the name of the original queue to which the job was submitted. PBS O WORKDIR the absolute path of the current working directory of the qsub command. PBS ENVIRONMENT set to PBS BATCH to indicate the job is a batch job, or to PBS INTERACTIVE to indicate the job is a PBS interactive job, see -I option. PBS JOBID the job identifier assigned to the job by the batch system. PBS JOBNAME the job name supplied by the user PBS NODEFILE the name of the file contain the list of nodes assigned to the job (for parallel and cluster systems). PBS QUEUE the name of the queue from which the job is executed. 24/44

Jobskript für qsub #!/bin/bash # hier folgen PBS-Optionen: # #PBS -V #PBS -N superdome-test #PBS -M hanswurst@uni-muenster.de #PBS -m ae # PBE -q test = Kommentar!! #PBS -l nodes=1:ppn=16 # # Queue-Variablen verarbeiten: # cd $PBS_O_WORKDIR export PARNODES= wc -l $PBS_NODEFILE gawk print $1 # # Jobs start here (uncomment and change) export OMP_NUM_THREADS=PARNODES; echo $OMP_NUM_THREADS" " >>out ; time./matmult-omp 2>>out 25/44 Job verfolgen: qstat Optionen: -a zeigt alle Jobs -n zeigt die Knoten an, auf denen der Job läuft -f gibt alle Informationen zu den Jobs aus -Q zeigt die laufenden Queues an hanswurst@nwzsuperdome:~/superdome> qstat Job id Name User Time Use S Queue ------------------- ---------------- --------------- -------- - ----- 437.nwzsuperdome superdome-test hanswurst 0 R batch Jeder Job hat eine eindeutige Jobnummer (NNN.nwzsuperdome). 26/44

Job (vorzeitig) beenden: qdel/qsig Jeder Job hat eine eindeutige Jobnummer (NNN.nwzsuperdome). Beenden des Jobs: qdel NNN Senden eines Unix-Signals an den Job: qsig -s Signal NNN NNN (Jobnummer) reicht aus, da es nur einen PBS-Server gibt. 27/44 pbsnodes - Belegung der Knoten [hanswurst@nwzsuperdome ~]# pbsnodes -a nwzsuperbatch state = free np = 32 ntype = cluster status = arch=ia64,opsys=linux,uname=linux nwzsuperbatch 2.6.9-42.EL #1 SMP Wed Jul 12 23:25:09 EDT 2006 ia64, sessions=5931,nsessions=1,nusers=1,idletime=1277899,totmem=68516672kb,availmem=66842848kb,physmem=66485088kb, ncpus=64,loadave=0.00,netload=1429621060,state=free,jobs=? 15201,rectime=1179228336 nwzsuperdome state = free np = 8 ntype = cluster status = arch=ia64,opsys=linux,uname=linux nwzsuperdome 2.6.9-42.EL #1 SMP Wed Jul 12 23:25:09 EDT 2006 ia64, sessions=3105 7822,nsessions=2,nusers=2,idletime=97952,totmem=18561472kb,availmem=17963472kb,physmem=16529888kb, ncpus=16,loadave=0.83,netload=5562323108,state=free,jobs=? 15201,rectime=1179228331 nwzsupertest state = free np = 8 properties = test ntype = cluster status = opsys=linux,uname=linux nwzsupertest 2.6.9-42.EL #1 SMP Wed Jul 12 23:25:09 EDT 2006 ia64,sessions=2679, nsessions=1,nusers=1,idletime=10401,totmem=10262864kb,availmem=9979920kb,physmem=8231280kb,ncpus=8,loadave=0.05, netload=1454144958,state=free,jobs=? 15201,rectime=1179228310 28/44

Performance Performance Eigenschaften des Itanium2 SMP-Systems: hohe Leistung bei Floating Point Operationen für Integer Operationen IA32, EM64T wirtschaftlicher Parallelisierung: Shared Memory Programme skalieren im Idealfall linear 29/44 Performance Matmult-Prog - Vergleich mit Xeon CPU 600 500 Xeon 3.2 GHz Itanium2 (Superdome) 400 mflop / sec 300 200 100 0 0 500 1000 1500 2000 Matrix Size (n) 30/44

Performance Skalierungsverhalten Speedup of MATMUL ifort -openmp 60 NWZSUPERBATCH 50 40 Speedup 30 20 10 0 0 10 20 30 40 50 60 OMP_NUM_THREADS (n CPUs) 31/44 Ausblick Info 1 Linux-Gruppe der IVV4 (Treffen: zweiter Mittwoch im Monat, OC) 2 Linux-IVV4 Mailingliste http://listserv.uni-muenster.de/mailman/listinfo/linux-ivv4 3 demnächst Webseite auf NWZWiki.uni-muenster.de 32/44

Ausblick To Do 1 Anbindung des SAN-Array (WORK- und SCRATCH-Platten) kurzfristig (nächste Tage) Bis dahin: Arbeiten im HOME-Verzeichnis (keine exzessiven Fileoperationen) 2 testen, testen, testen 3 Nachinstallation von Libraries, Anwendungen 4 Rekonfiguration des (in Absprache) 5 Installation von Gaussian03 (erfordert evtl. upgrade auf Rev D2) 33/44