Teil II: Computing in der Physik

Ähnliche Dokumente
Arbeitsplätze als Rechenfarm

Condor Job Management System

1. Einleitung. Clustern mit Condor

Einrichten eines NWZnet-Arbeitsplatzes Rechner für MORFEUS

Das Condor-Batchsystem im Rahmen des Morfeus-Projektes Eine kurze Einführung für Benutzer

UBELIX University of Bern Linux Cluster

Installation Netzwerk Client

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

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

Installationsanleitung Volksbank Office Banking Mehrplatzinstallation

zur WinIBW Version 2.3

PacketWise Update mit zeitgesteuerter Reset Funktion created by: Rainer Bemsel Version 1.0 Dated: Nov/08/2008

Abgleich mit der Anforderungsdefinition vom

Programmieren mit Statistischer Software - Simulationen am Server -

Aktualisierungsrichtlinie für die KMnet Admin Versionen 3.x und 2.x

Persona-SVS e-sync GUI/Client Installation

Virtualisierter Terminalserver

Aufbau einer Testumgebung mit VMware Server

Securepoint Security Systems

Installationsanleitung


1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

SEMA Installation auf einem Windows 2008 Terminalserver (allgemeine Beschreibung u. Installationsanleitung)

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Update Messerli MySQL auf Linux

Wie benutzt der NetWorker Remote Procedure Calls (RPC)?

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Linux Extension for AIDA64

Crashkurs Kommandozeile

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

Nutzungsanleitung des Clusters thot.informatik.uni-halle.de

Version Handbuch RAMSyncDrive V 1.0

Quip Trade Business Manager GUI/Client Installation

Rechnernutzung in der Physik. Betriebssysteme

Windows Server 2008 (R2): Anwendungsplattform

Ein kleines Computer-Lexikon

ROPit-R8. ROP-IRMA & ROP-FiBu TECHNISCHE INFORMATIONEN

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch

Thinstuff XP/VS Server Benutzerhandbuch. Version

Arbeitsgruppenadministration

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Installationsanleitung Netzwerklizenzen Vectorworks 2014

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung

Der Task-Manager von Windows 7

IBM SPSS Modeler Text Analytics für Windows Installationsanweisungen

1 Systemvoraussetzungen (minimal)

Komplettlösung für klein- und mittelständische Unternehmen

Entwicklung eines COW auf Basis einer SGE

ALL6260 Giga 802. SATA STORAGE

Die Zukunft steuern mit CONTROL-M/Forecast 6.3. Ditzingen, Juni 2007

Verbinden von Netzlaufwerken via CIFS

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

Wibu Hardlock Installation

Installation Messerli MySQL auf Linux

Beschreibung Text - Display - Software

Einführungsvortrag REGIONALES RECHENZENTRUM ERLANGEN [RRZE]

Linux im Windows-Netzwerk Franzis Verlag, Poing ISBN (DM 89,95)

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

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

cs106 Informatiklabor Teil 1: Java-Installation

Grundlagen des Grid Computing

Installationsvoraussetzungen

Fertigstellung Fakturierung BST auf grafischer Oberfläche

Installation der SAS Foundation Software auf Windows

Installation von DMP 2000 im Netzwerk

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Systemvoraussetzungen: DOMUS 4000 Stand 06/16

Apps-Entwicklung mit Netbeans

GeoShop Netzwerkhandbuch

Artikel ID: 2399 Erstellt am: :36 Überschrift: STRATO HiDrive Software - Installation und Konfiguration

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

Installation im Netzwerk

Entwicklungstand der GUI

Monitoring der GEO600-Jobs Beispiel für Applikations- Monitoring

Vorl. 6: Single- und Multitasking

Paralleles Rechnen und Grid Computing am ZIV Zustandsbericht und Ausblick

IMBA. Installationsanleitung. Access-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

Workbooster File Exchanger Command Line Tool

LERNWERKSTATT SEKUNDARSTUFE I

Release Notes scvenus 2.3.0

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Linux gefahrlos testen

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

Verwendung des Terminalservers der MUG

Installation und Konfiguration von Windows Servern

Thinstuff XP/VS Server Benutzerhandbuch. Version

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2

Bei der späteren Nutzung des Laborprogramms benötigen Sie lediglich Schreibrechte auf das Verzeichnis des Laborprogramms auf dem Serverlaufwerk.

Anleitung Command Line Client Demo Client

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

GeoMedia Ausdrucke in eine Datei umleiten (.plt /.pri /.ps)

Programmieren 2 05 Versionsverwaltung mit Git

Sage 50 kann nicht gestartet werden

Einführung in die Informatik für f Schülerinnen

Webbasierte Installation des Cisco AnyConnect VPN-Client 3.1 unter Linux

Betriebssysteme Kap A: Grundlagen

Transkript:

IVV Naturwissenschaften IV der Fachbereiche Biologie Chemie Physik Einführung in das Computernetz der IVV Naturwissenschaften Teil II: Computing in der Physik Westfälische Wilhelms-Universität Münster Das Morfeus GRID 07-NOV-2007 Thomas Bauer (tombauer@uni-muenster.de) 1 Inhalt Allgemeine Begriffe zum Computing Das Morfeus GRID Die Condor-Software Rechnungen im GRID durchführen Zurechtfinden im GRID 2

Zwei Klassen von numerischen Berechnungen High Performance Computing (HPC) Programm benötigt sehr viel Rechenzeit High Throughput Computing (HTC) Programm läuft relativ schnell durch, muss aber sehr häufig gestartet werden (z.b. bei Parameterscans) In beiden Fällen lange Wartezeiten! Zwei Methoden zur Verkürzung der Rechenzeit Parallelisierung Code muss parallelisiert werden Programm läuft auf Parallelrechner Besonders geeignet für HPC-Bereich Verteiltes Rechnen (Distributed Computing) Code bleibt unverändert Programm läuft auf normalen PCs Besonders geeignet für HTC-Bereich

Distributed Computing in der IVV Naturwissenschaften Morfeus GRID Projektname des Grids Multiple Orphaned Resources For Educational Use GRID-Software: Condor Kostenlos Platformunabhängig Relativ leicht zu benutzen Aufbau des Morfeus GRIDs Biologie Arbeitsplatz Chemie Arbeitsplatz CIP CIP Central Manager Physik Terminalserver NWZHome Arbeitsplatz CIP Beschränkt auf Biologie, Chemie und Physik Ca. 700 Maschinen (Knoten, Clients) ~ 300 P4 ~ 150 C2D Jeder Knoten sendet in regelmäßigen Abständen seine Attribute (ClassADs) an den Central Manager

Nutzerkreis Wer kann das Morfeus GRID nutzen? Jeder Besitzer eines NWZnet-Accounts Wie benutze ich das Morfeus GRID? Computer mit installierter Condor-Software wird benötigt das sind (fast) alle Windows-Rechner der IVV Naturwissenschaften Terminalserver NWZHome für die Benutzung von außerhalb Welche Programme laufen im GRID? Nur Programme, die auch in einer Konsole laufen würden Die Condor-Software Es gibt keine graphische Benutzeroberfläche Benutzung erfolgt über Kommandos in der Konsole Linux: Shell Windows: Command Prompt (CMD) Manual: 800 Seiten!

Eine Rechnung im Morfeus GRID starten Vorgehensweise Programm schreiben (C/C++, Fortran,...) Programm compilieren und linken Job abschicken (submitten) Knoten führt Programm aus Ergebnis wird nach Beendigung des Programms zurückgeliefert Jobs abschicken Einmalig condor_store_cred add auf Knoten ausführen, von dem submittet wird Benötige Job Submission File (SUB-File) Klartextdatei Datei enthält alle Informationen über den anstehenden Job Liste der Dateien Anforderungen an den auszuführenden Knoten (Leistung, RAM,...)...

Beispiel für eine einfache SUB- Datei Hello.sub universe = vanilla executable = hello.exe queue # Dies ist ein Kommentar Universe Gibt die Umgebung an Im Morfeus GRID immer vanilla Executable Gibt den Namen der Auszuführenden an Queue Steht immer ganz am Ende der SUB-Datei Startkommando Kommentare mit # Beispiel für eine bessere SUB- Datei Hello.sub universe = vanilla executable = hello.exe log = hello.log output = hello.out error = hello.err queue Log Verlauf des Jobs wird mitgeschrieben und ständig aktualisiert Output Bildschirmausgabe in Datei umleiten Error Fehlermeldungen (des Betriebssystems) in Datei umleiten

Beispiel für eine gute SUB- Datei Requirements Definiert die Anforderungen an den Zielknoten Operatoren wie in C/C++ ACHTUNG: Falls OpSys nicht in der SUB-Datei definiert wurde, so wird dieser Wert vom aktuellen System übernommen! Hello.sub universe = vanilla executable = hello.exe log = hello.log output = hello.out error = hello.err requirements = OpSys== WINNT50 OpSys== WINNT51 queue Job abschicken Kommando condor_submit Hello.sub Verzeichnis, in dem das Kommando ausgeführt wird ist Arbeitsverzeichnis Log-, Error- und Output-Datei werden hier erstellt Ergebnisdateien werden an diese Stelle zurückgeschrieben

000 (1897.000.000) 08/22 16:26:29 Job submitted from host: <128.176.197.24:3740> JobID.Cluster 001 (1897.000.000) 08/22 16:26:38 Job executing on host: <128.176.240.82:1068> Aufbau der Log-Datei 004 (1897.000.000) 08/22 20:56:55 Job was evicted. Job wurde abgebrochen (0) Job was not checkpointed. Usr 0 00:00:00, Sys 0 00:00:00 - Run Remote Usage Usr 0 00:00:00, Sys 0 00:00:00 - Run Local Usage 0 - Run Bytes Sent By Job 0 - Run Bytes Received By Job 001 (1897.000.000) 08/22 20:59:38 Job executing on host: <128.176.240.123:1068> 010 (1897.000.000) 08/23 10:04:01 Job was suspended. Job pausiert Number of processes actually suspended: 1 011 (1897.000.000) 08/23 11:32:15 Job was unsuspended. Job wird fortgesetzt 005 (1897.000.000) 08/24 09:50:49 Job terminated. (1) Normal termination (return value 0) Usr 0 00:00:00, Sys 0 00:00:00 - Run Remote Usage Usr 0 00:00:00, Sys 0 00:00:00 - Run Local Usage Usr 0 00:00:00, Sys 0 00:00:00 - Total Remote Usage Usr 0 00:00:00, Sys 0 00:00:00 - Total Local Usage 7120444 - Run Bytes Sent By Job 3538741 - Run Bytes Received By Job 7120444 - Total Bytes Sent By Job 3538741 - Total Bytes Received By Job Zusätzliche Dateien Programm benötigt zusätzliche Datei(en) Analyse.sub messung.dat universe = vanilla executable = analyse.exe log = analyse.log output = analyse.out error = analyse.err transfer_input_files = messung.dat, parameter.txt queue Verschiedene Pfadangaben parameter.txt Absolute Pfade: z.b. Z:\2007\messung.dat Relative Pfade: z.b...\..\ms\messung.dat

Interaktive Programme Programm benötigt Eingabe über Tastatur Physik.sub universe = vanilla executable = physik.exe log = physik.log output = physik.out error = physik.err input = physik.in queue 9.81 3.141 42 physik.in Massenjobs (HTC) Ein Programm (htc.exe), Laufzeit T N verschiedne Parametersätze (parameter.dat) N Ergebnisdateien Ein Computer Morfeus GRID Laufzeit: N T Laufzeit: T

Massenjob vorbereiten Massenjob htc.sub htc.exe Job0 Job1 Job2 Job3 Job4 Arbeitsverzeichnis möglichst auf Netzlaufwerk (Gruppenplatte N:\Group\Physik, Homedrive I:) Bei Windows-Shares (Auch Laufwerk C:) sind maximal 10 gleichzeitige Verbindungen zugelassen! Erfahrungsgemäß sollte für jeden Job (Parametersatz) ein eigenes Verzeichnis erstellt werden SUB-File eines Massenjobs Massenjob htc.sub htc.exe Job0 Job1 Job2 Job3 Job4 htc.sub universe = vanilla executable = htc.exe initialdir = Job$(PROCESS) transfer_input_files = log = htc.log output = htc.out error = htc.err queue 5 Durch initialdir wird Arbeitsverzeichnis definiert $(PROCESS) nimmt hier die Werte 0 bis 4 an

Was passiert genau mit meinem Job nach dem Submitten? Job wird in die lokale Queue (Warteschlange) gestellt Diese Queue wird an den Central Manager gesendet Central Manager entscheidet wo der Job ausgeführt wird und stellt Verbindung her Queue Serielle Jobs submitten Automatismus für serielle Jobs Condor: DAG (Directed Acyclic Graph) Job A Job C Ergebnis Job B jobs.dag Job A JobA.sub Job B JobB.sub Job C JobC.sub Submitten Parent A B CHILD C condor_submit_dag jobs.dag

Queues abfragen condor_q Fragt die lokale Queue ab condor_q analyze Falls der Job nicht startet condor_q global Fragt alle Queues ab condor_q run Zeigt den Knoten an, der den Job ausführt condor_q name Knoten123 Fragt die lokale Queue ab eines anderen Knoten ab (hier: Knoten123) Eigene Jobs verwalten condor_rm ID.Cluster Job aus der (lokalen) Queue entfernen condor_hold ID.Cluster Job aus der (lokalen) Queue anhalten condor_release ID.Cluster Job aus der (lokalen) Queue wieder freigeben

Status des GRIDs abfragen condor_status Zeigt die aktuelle Auslastung an condor_status Knoten321 condor_status Knoten321 long Gibt detailliertere Auskunft Liste aller ClassADs Diese ClassADs werden in der SUB- Datei bei den requirements benutzt! Die gebräuchlichsten ClassADs OpSys Linux : Linux WINNT50 : Windows2000 WINNT51 : WindowsXP WINNT52 : Windows Server 2003 ARCH_TYPE P4 : Pentium IV C2D : Pentium Core2Duo RAM : Arbeitsspeicher in MB DISK : freier Festplattenplatz in kb MIPS bzw. KFLOPS : CPU-Leistung

Status eines Rechners condor_status zeigt State und Activity an State Unclaimed : Auf Knoten kann Job gestartet werden Claimed : Auf Knoten ist derzeit ein Job gestartet Owner : Der Knoten wird derzeit vor Ort benutzt Activity Busy : Ein Job wird gerade bearbeitet Suspended : Ein Job wurde zurückgestellt, da ein Benutzer vor Ort den Knoten braucht Idle : Prozessor wird derzeit nicht benutzt Gerechte Verteilung der Ressourcen Condor Prioritätssystem Kein FiFo (First In First Out) Benutzer mit besserer Priorität werden bei Ressourcenknappheit bevorzugt Eigene Priorität ist nur abhängig von der Nutzungsdauer condor_userprio Zeigt aktuelle Prioritäten an Beste Priorität ist 0.5 Je höher der Wert desto niedriger die Priorität

Tipps und Tricks Normalerweise möchte man für seinen Job den schnellsten Knoten, der zur Verfügung steht IMSL-Bibliothek fast.sub (...) RANK = MIPS (...) Statisch linken! (%link_f90_static%) UsingIMSL.sub (...) transfer_input_files = N:\Software\Programming\Intel\IMSL50\Fortran\IA32\LICENSE\LICENSE.DAT environment = LM_LICENSE_FILE = LICENSE.DAT (...) Quellen Morfeus Homepage www.uni-muenster.de/ivvnwz/computing/morfeus/ Condor Homepage http://www.cs.wisc.edu/condor/ Meine email-adresse tombauer@uni-muenster.de

Zusammenfassung Aufbau des Morfeus GRIDs Überblick über die Condor-Software Funktionsweise Jobs und Massenjobs abschicken Status des GRIDs abfragen Queue einsehen und bearbeiten Vielen Dank für Ihre Aufmerksamkeit! 140 120 Rechenzeit in Jahren 100 80 60 40 20 0 2005 2006 2007* Fragen...?