Die Computing Center Software des PC&#178

Download Report

Transcript Die Computing Center Software des PC&#178

CCS
Die Computing Center Software des PC²
Seminarvortrag von Mathias Biere
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.1999
Inhalt
© 1999 Mathias Biere

Einleitung

Architektur

Eine Insel !

Resource & Service Description
Language

Bedienung des Systems
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 2
Historischer Abriß
Einleitung
CCS: Computing Center Software
• Eigenentwicklung des PC² mit Fördermitteln des Bundes und der EU
• Beginn des Projekts 1992
• erster Einsatz auf 1024-Prozessor Maschine GCel-1024
• Verwaltung des gesamten Rechnerparks, nur Single Site Anwendungen
• Einführung der Beschreibungssprache RSD (resource and service description)
• Unterstützung von Multi Site-Applikationen
• neue Konzepte in aktueller Version 4: CCS Islands, Center Resource Manager und
Center Information Server
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 3
Was bietet CCS?
Einleitung
• Resource-Management-System für parallele Hochleistungsrechner
 Scheduling
 Zur Laufzeit wechselbare Scheduling-Module
 Deadlines: System garantiert termingerechte Ausführung
 Mapping
 Belegung von Partitionen mit optimalen Kommunikationseigenschaften
 Exklusive Vergabe von Partitionen oder time sharing mit Begrenzung
der maximalen Last pro Knoten
• Werkzeug zur Verwaltung des Rechenzentrums
 Autorisierung, Abrechnung, Maschinenstatus
• Detaillierte Protokolle und Statistiken
• Aktuelle Informationen zu jedem Knoten
• Rechtevergabe auf Benutzer- und Projektebene
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 4
Was bietet CCS?
Einleitung
• Benutzerschnittstelle zu einzelnen Parallelrechnern
 Login in Unix-Umgebung, interaktiver und Batch-Betrieb
• Wiederaufnahme von Verbindungen, Pufferung von Ausgaben
• Abstraktion von Eigenschaften einzelner Maschinen (Prozessor, Betriebssystem ...)
 Einheitliche Benutzerschnittstellen auf allen Maschinen, Operator Shell
• Ausgangspunkt für Metacomputing-Anwendungen
 Schnittstelle zu anderen Managementsystemen
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 5
Einordnung von CCS
Einleitung
HPC Management
•
NQS, NQE, PBS
•
MACS
•
LoadLeveler
Basierend auf Queuing Systems
Workstation-Cluster Management
•
Codine
•
Condor
•
LSF ...
Verteilung sequentieller Jobs
Metacomputer Management
z.B. Globus
noch eine höhere Stufe
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 6
Architektur
© 1999 Mathias Biere

Einleitung

Architektur

Eine Insel !

Resource & Service Description
Language

Bedienung des Systems
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 7
Architektur (1)
Architektur
• In ANSI C geschrieben (ca. 180.000 Zeilen Code)
• POSIX konform
• Runtime Environment Layer (RTE) mit Schnittstellen für Signalbehandlung, Terminalsteuerung, Dateioperationen ...
• Einzelne Ressourcen liegen in gemeinsamer NFS/NIS domain, können
aber geographisch verteilt sein
• Auf den einzelnen Maschinen laufen daemons, die im Fehlerfall
automatisch beendet und neu gestartet werden
• Kommunikation zwischen einzelnen Modulen mittels einheitlicher
Beschreibungssprache RSD
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 8
Architektur (2)
Architektur
Link to other Resource
Management Systems
CIS: Center Information Server
RSD
data
passive
information
on services
CRM: Center Resource Manager
info
active
Island
GCel-1024
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
Island
hpcLine
Island
CC
17.11.99
Seite: 9
Architektur (3)
Architektur
Jede Maschine ist als eigenständige Insel - CCS Island - gekapselt.
Das Management ist vollkommen unabhängig von den anderen Inseln.
Vorteile dieses Konzepts:
• Skalierbarkeit
• Zuverlässigkeit
• leichtere Wiederherstellung nach Fehlern
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 10
Architektur (4)
Architektur
CRM: Center Resource Manager
Der Center Resource Manager ist als von den Inseln unabhängige Instanz
für Multsite-Applikationen zuständig.
Er bestimmt die nötigen Ressourcen (Rechner) und führt die Jobs aus.
CIS: Center Information Server
Der Center Information Server hat eine passive Rolle, so daß sein Ausfall
keine Konsequenzen für den Rest des Systems hat - ein Neustart reicht.
Er stellt aktuelle Informationen zu Rechnern, Netzwerkzustand usw. zur
Verfügung.
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 11
Eine Insel !
© 1999 Mathias Biere

Einleitung

Architektur

Eine Insel !

Resource & Service Description
Language

Bedienung des Systems
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 12
Eine Insel !
Eine Insel !
AM
Access Manager
Autorisierung und Abrechnung
QM
Queue Manager
Scheduling
MM
Machine Manager
Hardware
User Interfaces
Island Manager
Name services und
Überwachung
IM
Parsytec GC/PP
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 13
Hierarchie der Dämonen (1)
Eine Insel !
AM
IM
QM
Der Access Manager Dämon analysiert
Benutzeraufträge und gibt den Auftrag mit
Privilegien an den Queue Manager weiter
CCS unterstützt folgende Privilegien:
• Zugangsrechte pro Maschine
• erlaubter Zeitraum (Tag, Nacht, Wochenende ...)
• maximale Anzahl gleichzeitiger Ressourcen
• Rechenzeit in Knotensekunden
• Art des Zugangs: interaktiv, Batch, Reservierung
MM
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 14
Hierarchie der Dämonen (2)
Eine Insel !
AM
IM
QM
MM
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
Der Queue Manager Dämon bestimmt das
Scheduling. Er kann zur Laufzeit gewechselt
werden, wenn eine andere Strategie erwünscht
ist; normalerweise wird verbessertes first come
first serve benutzt.
Es werden sowohl Aufträge zu festen als auch
zu variablen Zeiten unterstützt.
Batch- und interaktive Jobs werden in der selben
Warteschlange geführt.
Indem ein Job mit ‚Deadline‘ akzeptiert wird, wird
vom System die Erledigung zum angegebenen
Zeitpunkt garantiert. Strategie dafür ist:
Zum ersten günstigen oder letzten möglichen
Zeitpunkt.
17.11.99
Seite: 15
Hierarchie der Dämonen (3)
Eine Insel !
AM
IM
QM
MM
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
Der Island Manager Dämon verfügt über eine
vollständige Sicht auf die Insel und überwacht
die anderen Dämonen. Er kann sie bei Fehlern
beenden und neu starten.
Außerdem werden Name Services zur Verfügung
gestellt: Adreßumsetzung zwischen physischer
Netzwerkadresse und symbolischen Namen
<center, island,process>.
Damit kann der IM andere Dämonen auf andere
Knoten / Hosts verlagern.
Der IM ist so unabhängig wie möglich von anderen
Dämonen.
17.11.99
Seite: 16
Hierarchie der Dämonen (4)
Eine Insel !
AM
Der Machine Manager Dämon ist für alle
maschinenspezifischen Aufgaben nötig.
Es können zwei Bereiche unterschieden werden:
IM
QM
MM
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
MaschinenVerwaltung
ProgrammAusführung
17.11.99
Seite: 17
Der Machine Manager (1)
Maschinen-Verwaltung
Der Mapping Verifier MV prüft das vom QM
bestimmte Mapping anhand seiner Kenntnis
der Maschine und macht ggf. Gegenvorschlag.
Dispatcher
MV
MSM
Eine Insel !
CM
Der Configuration Manager CM bootet und
beendet die Betriebssystemsoftware und erzeugt
Partitionen.
ProgrammAusführung
NSM
EM
...
EM
NSM
Der Master Session Manager MSM bildet die
Schnittstelle zur Ausführungsschicht, erzeugt
die Session und liefert Information über den
Zustand des Jobs.
EM
HPC Hardware
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 18
Der Machine Manager (2)
Maschinen-Verwaltung
Dispatcher
MV
MSM
CM
Eine Insel !
Auf jedem allozierten Knoten läuft ein Node
Session Manager NSM als Entsprechung
des MSM. Auf Befehl des MSM werden via
fork ein - oder im Time Sharing Betrieb mehrere Execution Manager erzeugt.
Ferner werden Auslastungsdaten des Knotens
zur Verfügung gestellt.
ProgrammAusführung
NSM
EM
...
EM
NSM
EM
Der Execution Manager EM kapselt ein
laufendes Anwendungsprogramm mit seiner
Umgebung (UID, Environment-Variablen ...).
Dabei werden auch Standard-I/O-Streams
gepuffert (stdout, stderr, stdin).
HPC Hardware
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 19
Resource & Service Description
© 1999 Mathias Biere

Einleitung

Architektur

Eine Insel !

Resource & Service Description
Language

Bedienung des Systems
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 20
Resource & Service Description (1)
RSD
Alle CCS-Module bauen auf der
Resource and Service Description Language auf.
RSD wird eingesetzt
• auf Benutzerebene, um erforderliche Ressourcen zu spezifizieren
• auf Administratorebene, um die vorhandenen Strukturen zu darzustellen
• auf Centerebene vom CCS, bei der Kommunikation zwischen Modulen,
bei der Verteilung der Resourcen und zur Datenhaltung im CIS
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 21
Resource & Service Description (2)
RSD
User
Center administrator
RSD Editor "My -- Computing Center"
File
Edit
Options Nodes Edges Topologies
// DECLARATION
// we have exactly 2 SMP nodes (gateways), each with 4 processors
// each gateway offers one SCI and one ATM port
FOR i=0 TO 1 DO
NODE i {
PORT SCI; PORT ATM; CPU=PENTIUM_II; MEMORY=512 MB; MULTI_PROC=4;};
OD
Protocol
= ATM
Latency
= 100 µsec
Bandwidth = 622 Mbps
Host
= CC
Nodes = 48
Type
= MP P
Cpu
= MP C60 4
Memory = 6.144 GB
// the others are single processor nodes, each with one port
FOR i=2 TO N-1 DO
NODE i {
PORT SCI; CPU=PENTIUM_II; MEMORY=256 MB; OS=SOLARIS;};
OD
...
...
...
...
Text based language
Graphical representation
Internal representation
Access methods (API)
Internet
Request for
offer
Determine
best suited
local machine
Can we fulfill the
request?
no
yes
Send offer to
requesting
server
Stored on disk
for later use
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
Send rejection
to requesting
server
Application
Local or remote
management system
for matching
17.11.99
Seite: 22
RSD Beispiel (1)
ATM port
RSD
ATM port
622 Mbps ATM
edge_to_hypernode_port
wsc_mpp_atm
SCI_WSC
edge_to_hypernode_port
MPP
1 Gbps SCI
NODE Metacomputer {
// DEFINITION:
BANDWIDTH = (1..1200);
// range of variable BANDWIDTH in Mbps
// DECLARATION:
// integrate the two hyper nodes
INCLUDE "SCI_WSC";
INCLUDE "MPP";
// CONNECTION:
// connect the MPP with SCI cluster
EDGE wsc_mpp_atm {
NODE SCI_WSC PORT ATM  NODE MPP PORT ATM;
DYNAMIC BANDWIDTH = “tcp://gateway.uni-paderborn.de:2811”;
DYNAMIC latency = “file://homes7/athena/latency.txt”;
};
};
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 23
RSD Beispiel (2)
NODE SCI_WSC {
RSD
// DEFINITION:
CONST N = 8;
// number of nodes
CPU[] = ( “PENTIUM_II”, “ALPHA”, “MPC604” );
SHARED = TRUE;
// allocate resources for shared use
// DECLARATION:
// we have 2 SMP nodes (gateways), each with 4 processors
FOR i=0 TO 1 DO
// each gateway provides one SCI and one ATM port
NODE i
{ PORT SCI; PORT ATM; CPU=PENTIUM_II; MEMORY=512; OS=SOLARIS; MULTI_PROC=4;};
OD
FOR i=2 TO N-1 DO // others are single processor nodes, each with 1 SCI port
NODE i
{ PORT SCI; CPU=PENTIUM_II; MEMORY=256; OS=SOLARIS; };
OD
// CONNECTION:
// build the 1Gbps unidirectional ring
FOR i=0 TO N-1 DO
EDGE edge_i_to_((i+1) MOD N)
{ NODE i PORT SCI => NODE ((i+1) MOD N) PORT SCI; BANDWIDTH = 1024; };
OD
// establish a virtual edge from node 0 to the hyper node SCI_WSC (=outside world)
ASSIGN edge_to_hypernode_port { NODE 0 PORT ATM  PORT ATM; };
};
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 24
Eigenschaften
RSD
• Einfaches ist leicht zu formulieren
• Unterstützung komplexer Strukturen
• Rekursion
• graph-strukturierte Definitionen
• beliebige Attribute für Komponenten
• Unterstützung dynamischer Elemente
• Variablen z. B. für CPU load ...
• Objektorientierte, portable Darstellung
• RSD-Objekt kann via eigenes Protokoll oder
CORBA / COM+ versandt werden
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 25
Bedienung des Systems
© 1999 Mathias Biere

Einleitung

Architektur

Eine Insel !

Resource & Service Description
Language

Bedienung des Systems
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 26
Kommandozeilenbefehle
Bedienung
Allokieren einer Ressource: ccsalloc
ccsalloc -m gcel -n 64 -t 2h
ccsalloc -m psc -n 16 scampi -- myprog
Starten eines Job in reservierter Ressource: ccsrun
ccsrun 7 pvm myprog
Abbrechen eines Jobs und Freigabe der Ressource: ccskill
ccskill 7
Verlorene Session wiederverbinden: ccsbind
Informationen zu Jobstatus, Scheduling ... : ccsinfo
Zusätzliche Zeit, Knoten anfordern: ccsaddres
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 27
ccsSchedule
Bedienung
4
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 28
CCS View
Bedienung
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 29
CCS Cluster Monitor
Bedienung
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 30
Operator Shell
Bedienung
© 1999 Mathias Biere
Projektgruppe SAP R/3 auf Linux Cluster
17.11.99
Seite: 31