17.11.1999Projektgruppe SAP R/3 auf Linux Cluster© 1999 Mathias Biere
CCSDie Computing Center Software des PC²
Seminarvortrag von Mathias Biere
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 2© 1999 Mathias Biere
Inhalt
Einleitung
Architektur
Eine Insel !
Resource & Service Description Language
Bedienung des Systems
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 3© 1999 Mathias Biere
Historischer Abriß
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
Einleitung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 4© 1999 Mathias Biere
• Resource-Management-System für parallele Hochleistungsrechner
• Werkzeug zur Verwaltung des Rechenzentrums
Was bietet CCS?
Scheduling Zur Laufzeit wechselbare Scheduling-Module Deadlines: System garantiert termingerechte Ausführung
Mapping Belegung von Partitionen mit optimalen Kommunikations-
eigenschaften
Exklusive Vergabe von Partitionen oder time sharing mit Begrenzung
der maximalen Last pro Knoten
Autorisierung, Abrechnung, Maschinenstatus• Detaillierte Protokolle und Statistiken• Aktuelle Informationen zu jedem Knoten• Rechtevergabe auf Benutzer- und Projektebene
Einleitung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 5© 1999 Mathias Biere
• Benutzerschnittstelle zu einzelnen Parallelrechnern
• Abstraktion von Eigenschaften einzelner Maschinen (Prozessor, Betriebssystem ...)
• Ausgangspunkt für Metacomputing-Anwendungen
Was bietet CCS?
Schnittstelle zu anderen Managementsystemen
Login in Unix-Umgebung, interaktiver und Batch-Betrieb• Wiederaufnahme von Verbindungen, Pufferung von Ausgaben
Einheitliche Benutzerschnittstellen auf allen Maschinen, Operator Shell
Einleitung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 6© 1999 Mathias Biere
Einordnung von CCS
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
CCScomputing center software
Einleitung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 7© 1999 Mathias Biere
Architektur
Einleitung
Architektur
Eine Insel !
Resource & Service Description Language
Bedienung des Systems
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 8© 1999 Mathias Biere
Architektur (1)
• In ANSI C geschrieben (ca. 180.000 Zeilen Code)
• POSIX konform
• Runtime Environment Layer (RTE) mit Schnittstellen für Signalbehand- lung, 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
Architektur
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 9© 1999 Mathias Biere
Architektur (2)
CIS: Center Information Server
CRM: Center Resource Managerinformation on services
passive
active
RSDdata
Link to other Resource Management Systems
info
IslandGCel-1024
IslandhpcLine Island
CC
Architektur
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 10© 1999 Mathias Biere
Architektur (3)
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
Architektur
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 11© 1999 Mathias Biere
Architektur (4)
CRM: Center Resource Manager
Der Center Resource Manager ist als von den Inseln unabhängige Instanzfü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.
Architektur
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 12© 1999 Mathias Biere
Einleitung
Architektur
Eine Insel !
Resource & Service Description Language
Bedienung des Systems
Eine Insel !
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 13© 1999 Mathias Biere
User Interfaces
AM
QM
MM
IM
Parsytec GC/PP
Access ManagerAutorisierung und Abrechnung
Queue ManagerScheduling
Machine ManagerHardware
Island ManagerName services undÜberwachung
Eine Insel ! Eine Insel !
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 14© 1999 Mathias Biere
Hierarchie der Dämonen (1)
AM
QM
MM
IM
Eine Insel !
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
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 15© 1999 Mathias Biere
Hierarchie der Dämonen (2)
AM
QM
MM
IM
Eine Insel !
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.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 16© 1999 Mathias Biere
Hierarchie der Dämonen (3)
AM
QM
MM
IM
Eine Insel !
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.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 17© 1999 Mathias Biere
Hierarchie der Dämonen (4)
AM
QM
MM
IM
Eine Insel !
Der Machine Manager Dämon ist für alle
maschinenspezifischen Aufgaben nötig.
Es können zwei Bereiche unterschieden werden:
Maschinen-Verwaltung
Programm-Ausführung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 18© 1999 Mathias Biere
Der Machine Manager (1) Eine Insel !
NSM
MSM CM
. . . NSM
EM
Dispatcher
MV
Maschinen-Verwaltung
Programm-Ausführung
EM EM
HPC Hardware
Der Mapping Verifier MV prüft das vom QMbestimmte Mapping anhand seiner Kenntnisder Maschine und macht ggf. Gegenvorschlag.
Der Configuration Manager CM bootet undbeendet die Betriebssystemsoftware und erzeugt Partitionen.
Der Master Session Manager MSM bildet dieSchnittstelle zur Ausführungsschicht, erzeugtdie Session und liefert Information über denZustand des Jobs.
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 19© 1999 Mathias Biere
Der Machine Manager (2) Eine Insel !
NSM
MSM CM
. . . NSM
EM
Dispatcher
MV
Maschinen-Verwaltung
Programm-Ausführung
EM EM
HPC Hardware
Auf jedem allozierten Knoten läuft ein Node Session Manager NSM als Entsprechung des MSM. Auf Befehl des MSM werden viafork ein - oder im Time Sharing Betrieb -mehrere Execution Manager erzeugt. Ferner werden Auslastungsdaten des Knotenszur Verfügung gestellt.
Der Execution Manager EM kapselt ein laufendes Anwendungsprogramm mit seiner Umgebung (UID, Environment-Variablen ...).Dabei werden auch Standard-I/O-Streamsgepuffert (stdout, stderr, stdin).
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 20© 1999 Mathias Biere
Resource & Service Description
Einleitung
Architektur
Eine Insel !
Resource & Service Description Language
Bedienung des Systems
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 21© 1999 Mathias Biere
Resource & Service Description (1)
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
RSD
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 22© 1999 Mathias Biere
Resource & Service Description (2)RSD
Internal representation
Access methods (API)
Internet
Local or remotemanagement systemfor matching
Stored on diskfor later use
Center administrator
Graphical representation Text based language
// 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
// 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
Request for offer
Determine best suited
local machine
Can we fulfill the request?
yes
Send offer to requesting
server
Send rejection to requesting
server
no
Application
Host = CCNodes = 48Type = MPPCpu = MPC604Memory = 6.144 GB
Protocol = ATMLatency = 100 µsecBandwidth = 622 Mbps
File Nodes Edges Topologies
. . .
...... ...
Edit OptionsRSD Editor "My -- Computing Center"
User
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 23© 1999 Mathias Biere
RSD Beispiel (1)RSD
SCI_WSC
622 Mbps ATM
1 Gbps SCI
ATM portATM port
wsc_mpp_atmedge_to_hypernode_port
edge_to_hypernode_port
MPP
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”; };};
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 24© 1999 Mathias Biere
RSD Beispiel (2)RSDNODE SCI_WSC {
// 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; };};
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 25© 1999 Mathias Biere
EigenschaftenRSD
• Einfaches ist leicht zu formulieren
• Unterstützung komplexer Strukturen
• Unterstützung dynamischer Elemente
• Objektorientierte, portable Darstellung
• Rekursion• graph-strukturierte Definitionen• beliebige Attribute für Komponenten
• Variablen z. B. für CPU load ...
• RSD-Objekt kann via eigenes Protokoll oder CORBA / COM+ versandt werden
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 26© 1999 Mathias Biere
Bedienung des Systems
Einleitung
Architektur
Eine Insel !
Resource & Service Description Language
Bedienung des Systems
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 27© 1999 Mathias Biere
Kommandozeilenbefehle
Allokieren einer Ressource: ccsalloc
ccsalloc -m gcel -n 64 -t 2h
ccsalloc -m psc -n 16 scampi -- myprog
Starten eines Job in reservierter Ressource: ccsrunccsrun 7 pvm myprog
Abbrechen eines Jobs und Freigabe der Ressource: ccskillccskill 7
Verlorene Session wiederverbinden: ccsbind
Informationen zu Jobstatus, Scheduling ... : ccsinfo
Zusätzliche Zeit, Knoten anfordern: ccsaddres
Bedienung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 28© 1999 Mathias Biere
ccsScheduleBedienung
4
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 29© 1999 Mathias Biere
CCS ViewBedienung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 30© 1999 Mathias Biere
CCS Cluster MonitorBedienung
17.11.99Projektgruppe SAP R/3 auf Linux Cluster Seite: 31© 1999 Mathias Biere
Operator ShellBedienung
Top Related