82
Fakultät Technik und Informatik Faculty of Engineering and Computer Science Department Informatik Department of Computer Science Rahmatullah Arbabzadah Design und Aufbau einer Managment-Umgebung zur Steuerung von numerischen Berechnungen auf einem High-Performance Cluster Bachelorarbeit

Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Embed Size (px)

Citation preview

Page 1: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Fakultaumlt Technik und Informatik Faculty of Engineering and Computer ScienceDepartment Informatik Department of Computer Science

Rahmatullah Arbabzadah

Design und Aufbau einer Managment-Umgebungzur Steuerung von numerischen Berechnungen

auf einem High-Performance Cluster

Bachelorarbeit

Bachelorarbeit eingereicht im Rahmen der Bachelorpruumlfungim Studiengang Technische Informatikam Department Informatikder Fakultaumlt Technik und Informatikder Hochschule fuumlr Angewandte Wissenschaften Hamburg

Betreuender Pruumlfer Prof Dr rer nat Hans Heinrich HeitmannZweitgutachter Prof Dr -Ing Axel Schumacher

Abgegeben am 4 Mai 2009

Rahmatullah Arbabzadah

Design und Aufbau einer Managment-Umgebungzur Steuerung von numerischen Berechnungen auf

einem High-Performance Cluster

Inhaltsverzeichnis

1 Einfuumlhrung 511 Motivation und Einordnung der Arbeit 512 Themenbeschreibung und Themenabgrenzung 513 Ziel der Arbeit 6

2 Grundlagen 721 Hard und Software 722 Scheduling-Algorithmen 9

221 Preemptives und nicht-preemptives Scheduling-Verfahren 9222 Kategorien von Scheduling-Algorithmen 10223 Scheduling in Stapelverarbeitungs-Systemen 11224 Scheduling in interaktiven Systemen 13

23 Parallelrechner 15231 Klassifizierung nach Flynn 15232 Klassifikation von Parallelrechnern 16233 Multiprozessorsysteme 17234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multipro-

zessoren (SMP)-Architekturen 18235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-

Passing-Multicomputer 1824 Parallele Leistungsmaszlige 2025 Finite Element Methode (FEM) 21

251 CAD und FEM 2226 LS-Dyna 23

261 Anwendungsgebiete von LS-Dyna 24

3 Auswahl eines Jobmanagement-Systems 2531 Erwartungen an ein Jobmanagement-System 2532 Jobmanagement-Systeme 26

321 Load Sharing Facility (LSF) 26322 OpenPBS Portable Batch System 29

33 Bewertung von PBS Professional OpenPBS und LSF 3234 Auswertung der Auswahl eines Jobmanagement-Systems 35

Inhaltsverzeichnis 4

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 3641 Einfluszlig der CPU 36

411 LS-Dyna-Inputfile 37412 Szenarien 41413 Bewertung der Szenarien 49

42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen 51421 Isolierte Nutzung der Rechner 51422 Gemeinsame Nutzung der Rechner 53

5 Zuweisung von Cluster-Ressourcen 5651 Aufbau des Systems 5652 Zuteilungssoftware 57

521 Ein und Ausgangsparameter 57522 Vorhersagen von LS-Dyna 57523 Ressourcenverteilung 59524 Arbeitsweise des Algorithmus 61

53 Implementierung der Zuteilungssoftware 6454 Bewertung der Zuteilungssoftware 67

6 Zusammenfassung 6861 Forschungsbedarf 6862 Fazit 69

Tabellenverzeichnis 70

Abbildungsverzeichnis 71

Literaturverzeichnis 73

1 Einfuumlhrung

11 Motivation und Einordnung der Arbeit

In der heutigen Zeit werden die Forschungen und die Algorithmen immer komplexer undes werden immer mehr Daten analysiert Dadurch steigt auch der BerechnungsaufwandUm die Wuumlnsche der Fahrzeugingenieure zu realisieren die sicherere und effizientere Au-tos entwickeln der Astronomen die versuchen hinter den Sinn des Universums zu kommenoder der Biologen die versuchen die Geheimnisse des menschlichen Genoms zu verstehenmuss eine genaue Anzahl an CPUrsquos zur Verfuumlgung gestellt werden um die optimale dassheiszligt die kuumlrzeste Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) eines Jobs(Berechnung) zu realisieren Ein Uumlberfluss an Ressourcen die fuumlr ein Job zugeteilt werdenfuumlhrt zu einer sehr geringen bzw zu keiner Reduktion der Rechenzeit weil der Kommunika-tionsaufwand zwischen den CPUrsquos unverhaumlltnismaszligig ansteigt Bei einer zu geringen Anzahlan Ressourcen wiederum kommt es zu einer langen Durchlaufzeit des Jobs Wird davonausgegangen dass im ersten Fall die Ressourcen von mehreren Benutzern geteilt werdenund im zweiten Fall genuumlgend Ressourcen verfuumlgbar sind dann fuumlhren beide Szenarien da-zu dass die Ressourcen nicht effizient genutzt werden

12 Themenbeschreibung und Themenabgrenzung

An der HAW-Hamburg wird im Bereich des Fahrzeugbaus ein Cluster zur Verfuumlgung gestelltder den Studenten und Mitarbeitern ermoumlglichen soll ihre Jobs (Berechnungen) mit Hilfe vonLivermore Software-Dyna (LS-Dyna) optimal durchzufuumlhren Dies wird dadurch gewaumlhrleis-tet in dem die optimale Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) einesJobs realisiert wird Hierbei ist die optimale Durchlaufzeit abhaumlngig von der Anzahl der Res-sourcen (CPUrsquos) die ein Job in Anspruch nimmt Um den Cluster bestmoumlglich in Betrieb zunehmen ist es erforderlich ein Jobmangement-System auf den Cluster zu installieren undzu konfigurieren Die Aufgabe eines Jobmangement-Systems ist es die Anforderungen derAnwender nach IT-Ressourcen mit den real verfuumlgbaren Ressourcen moumlglichst in Einklangzu bringen und zwar in einer Form die dem Bedarf des Unternehmens bzw der Abteilungauch tatsaumlchlich gerecht wird das heiszligt zB die Jobs je nach Dringlichkeit entsprechend zu

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 2: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Bachelorarbeit eingereicht im Rahmen der Bachelorpruumlfungim Studiengang Technische Informatikam Department Informatikder Fakultaumlt Technik und Informatikder Hochschule fuumlr Angewandte Wissenschaften Hamburg

Betreuender Pruumlfer Prof Dr rer nat Hans Heinrich HeitmannZweitgutachter Prof Dr -Ing Axel Schumacher

Abgegeben am 4 Mai 2009

Rahmatullah Arbabzadah

Design und Aufbau einer Managment-Umgebungzur Steuerung von numerischen Berechnungen auf

einem High-Performance Cluster

Inhaltsverzeichnis

1 Einfuumlhrung 511 Motivation und Einordnung der Arbeit 512 Themenbeschreibung und Themenabgrenzung 513 Ziel der Arbeit 6

2 Grundlagen 721 Hard und Software 722 Scheduling-Algorithmen 9

221 Preemptives und nicht-preemptives Scheduling-Verfahren 9222 Kategorien von Scheduling-Algorithmen 10223 Scheduling in Stapelverarbeitungs-Systemen 11224 Scheduling in interaktiven Systemen 13

23 Parallelrechner 15231 Klassifizierung nach Flynn 15232 Klassifikation von Parallelrechnern 16233 Multiprozessorsysteme 17234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multipro-

zessoren (SMP)-Architekturen 18235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-

Passing-Multicomputer 1824 Parallele Leistungsmaszlige 2025 Finite Element Methode (FEM) 21

251 CAD und FEM 2226 LS-Dyna 23

261 Anwendungsgebiete von LS-Dyna 24

3 Auswahl eines Jobmanagement-Systems 2531 Erwartungen an ein Jobmanagement-System 2532 Jobmanagement-Systeme 26

321 Load Sharing Facility (LSF) 26322 OpenPBS Portable Batch System 29

33 Bewertung von PBS Professional OpenPBS und LSF 3234 Auswertung der Auswahl eines Jobmanagement-Systems 35

Inhaltsverzeichnis 4

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 3641 Einfluszlig der CPU 36

411 LS-Dyna-Inputfile 37412 Szenarien 41413 Bewertung der Szenarien 49

42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen 51421 Isolierte Nutzung der Rechner 51422 Gemeinsame Nutzung der Rechner 53

5 Zuweisung von Cluster-Ressourcen 5651 Aufbau des Systems 5652 Zuteilungssoftware 57

521 Ein und Ausgangsparameter 57522 Vorhersagen von LS-Dyna 57523 Ressourcenverteilung 59524 Arbeitsweise des Algorithmus 61

53 Implementierung der Zuteilungssoftware 6454 Bewertung der Zuteilungssoftware 67

6 Zusammenfassung 6861 Forschungsbedarf 6862 Fazit 69

Tabellenverzeichnis 70

Abbildungsverzeichnis 71

Literaturverzeichnis 73

1 Einfuumlhrung

11 Motivation und Einordnung der Arbeit

In der heutigen Zeit werden die Forschungen und die Algorithmen immer komplexer undes werden immer mehr Daten analysiert Dadurch steigt auch der BerechnungsaufwandUm die Wuumlnsche der Fahrzeugingenieure zu realisieren die sicherere und effizientere Au-tos entwickeln der Astronomen die versuchen hinter den Sinn des Universums zu kommenoder der Biologen die versuchen die Geheimnisse des menschlichen Genoms zu verstehenmuss eine genaue Anzahl an CPUrsquos zur Verfuumlgung gestellt werden um die optimale dassheiszligt die kuumlrzeste Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) eines Jobs(Berechnung) zu realisieren Ein Uumlberfluss an Ressourcen die fuumlr ein Job zugeteilt werdenfuumlhrt zu einer sehr geringen bzw zu keiner Reduktion der Rechenzeit weil der Kommunika-tionsaufwand zwischen den CPUrsquos unverhaumlltnismaszligig ansteigt Bei einer zu geringen Anzahlan Ressourcen wiederum kommt es zu einer langen Durchlaufzeit des Jobs Wird davonausgegangen dass im ersten Fall die Ressourcen von mehreren Benutzern geteilt werdenund im zweiten Fall genuumlgend Ressourcen verfuumlgbar sind dann fuumlhren beide Szenarien da-zu dass die Ressourcen nicht effizient genutzt werden

12 Themenbeschreibung und Themenabgrenzung

An der HAW-Hamburg wird im Bereich des Fahrzeugbaus ein Cluster zur Verfuumlgung gestelltder den Studenten und Mitarbeitern ermoumlglichen soll ihre Jobs (Berechnungen) mit Hilfe vonLivermore Software-Dyna (LS-Dyna) optimal durchzufuumlhren Dies wird dadurch gewaumlhrleis-tet in dem die optimale Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) einesJobs realisiert wird Hierbei ist die optimale Durchlaufzeit abhaumlngig von der Anzahl der Res-sourcen (CPUrsquos) die ein Job in Anspruch nimmt Um den Cluster bestmoumlglich in Betrieb zunehmen ist es erforderlich ein Jobmangement-System auf den Cluster zu installieren undzu konfigurieren Die Aufgabe eines Jobmangement-Systems ist es die Anforderungen derAnwender nach IT-Ressourcen mit den real verfuumlgbaren Ressourcen moumlglichst in Einklangzu bringen und zwar in einer Form die dem Bedarf des Unternehmens bzw der Abteilungauch tatsaumlchlich gerecht wird das heiszligt zB die Jobs je nach Dringlichkeit entsprechend zu

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 3: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Inhaltsverzeichnis

1 Einfuumlhrung 511 Motivation und Einordnung der Arbeit 512 Themenbeschreibung und Themenabgrenzung 513 Ziel der Arbeit 6

2 Grundlagen 721 Hard und Software 722 Scheduling-Algorithmen 9

221 Preemptives und nicht-preemptives Scheduling-Verfahren 9222 Kategorien von Scheduling-Algorithmen 10223 Scheduling in Stapelverarbeitungs-Systemen 11224 Scheduling in interaktiven Systemen 13

23 Parallelrechner 15231 Klassifizierung nach Flynn 15232 Klassifikation von Parallelrechnern 16233 Multiprozessorsysteme 17234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multipro-

zessoren (SMP)-Architekturen 18235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-

Passing-Multicomputer 1824 Parallele Leistungsmaszlige 2025 Finite Element Methode (FEM) 21

251 CAD und FEM 2226 LS-Dyna 23

261 Anwendungsgebiete von LS-Dyna 24

3 Auswahl eines Jobmanagement-Systems 2531 Erwartungen an ein Jobmanagement-System 2532 Jobmanagement-Systeme 26

321 Load Sharing Facility (LSF) 26322 OpenPBS Portable Batch System 29

33 Bewertung von PBS Professional OpenPBS und LSF 3234 Auswertung der Auswahl eines Jobmanagement-Systems 35

Inhaltsverzeichnis 4

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 3641 Einfluszlig der CPU 36

411 LS-Dyna-Inputfile 37412 Szenarien 41413 Bewertung der Szenarien 49

42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen 51421 Isolierte Nutzung der Rechner 51422 Gemeinsame Nutzung der Rechner 53

5 Zuweisung von Cluster-Ressourcen 5651 Aufbau des Systems 5652 Zuteilungssoftware 57

521 Ein und Ausgangsparameter 57522 Vorhersagen von LS-Dyna 57523 Ressourcenverteilung 59524 Arbeitsweise des Algorithmus 61

53 Implementierung der Zuteilungssoftware 6454 Bewertung der Zuteilungssoftware 67

6 Zusammenfassung 6861 Forschungsbedarf 6862 Fazit 69

Tabellenverzeichnis 70

Abbildungsverzeichnis 71

Literaturverzeichnis 73

1 Einfuumlhrung

11 Motivation und Einordnung der Arbeit

In der heutigen Zeit werden die Forschungen und die Algorithmen immer komplexer undes werden immer mehr Daten analysiert Dadurch steigt auch der BerechnungsaufwandUm die Wuumlnsche der Fahrzeugingenieure zu realisieren die sicherere und effizientere Au-tos entwickeln der Astronomen die versuchen hinter den Sinn des Universums zu kommenoder der Biologen die versuchen die Geheimnisse des menschlichen Genoms zu verstehenmuss eine genaue Anzahl an CPUrsquos zur Verfuumlgung gestellt werden um die optimale dassheiszligt die kuumlrzeste Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) eines Jobs(Berechnung) zu realisieren Ein Uumlberfluss an Ressourcen die fuumlr ein Job zugeteilt werdenfuumlhrt zu einer sehr geringen bzw zu keiner Reduktion der Rechenzeit weil der Kommunika-tionsaufwand zwischen den CPUrsquos unverhaumlltnismaszligig ansteigt Bei einer zu geringen Anzahlan Ressourcen wiederum kommt es zu einer langen Durchlaufzeit des Jobs Wird davonausgegangen dass im ersten Fall die Ressourcen von mehreren Benutzern geteilt werdenund im zweiten Fall genuumlgend Ressourcen verfuumlgbar sind dann fuumlhren beide Szenarien da-zu dass die Ressourcen nicht effizient genutzt werden

12 Themenbeschreibung und Themenabgrenzung

An der HAW-Hamburg wird im Bereich des Fahrzeugbaus ein Cluster zur Verfuumlgung gestelltder den Studenten und Mitarbeitern ermoumlglichen soll ihre Jobs (Berechnungen) mit Hilfe vonLivermore Software-Dyna (LS-Dyna) optimal durchzufuumlhren Dies wird dadurch gewaumlhrleis-tet in dem die optimale Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) einesJobs realisiert wird Hierbei ist die optimale Durchlaufzeit abhaumlngig von der Anzahl der Res-sourcen (CPUrsquos) die ein Job in Anspruch nimmt Um den Cluster bestmoumlglich in Betrieb zunehmen ist es erforderlich ein Jobmangement-System auf den Cluster zu installieren undzu konfigurieren Die Aufgabe eines Jobmangement-Systems ist es die Anforderungen derAnwender nach IT-Ressourcen mit den real verfuumlgbaren Ressourcen moumlglichst in Einklangzu bringen und zwar in einer Form die dem Bedarf des Unternehmens bzw der Abteilungauch tatsaumlchlich gerecht wird das heiszligt zB die Jobs je nach Dringlichkeit entsprechend zu

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 4: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Inhaltsverzeichnis 4

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 3641 Einfluszlig der CPU 36

411 LS-Dyna-Inputfile 37412 Szenarien 41413 Bewertung der Szenarien 49

42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen 51421 Isolierte Nutzung der Rechner 51422 Gemeinsame Nutzung der Rechner 53

5 Zuweisung von Cluster-Ressourcen 5651 Aufbau des Systems 5652 Zuteilungssoftware 57

521 Ein und Ausgangsparameter 57522 Vorhersagen von LS-Dyna 57523 Ressourcenverteilung 59524 Arbeitsweise des Algorithmus 61

53 Implementierung der Zuteilungssoftware 6454 Bewertung der Zuteilungssoftware 67

6 Zusammenfassung 6861 Forschungsbedarf 6862 Fazit 69

Tabellenverzeichnis 70

Abbildungsverzeichnis 71

Literaturverzeichnis 73

1 Einfuumlhrung

11 Motivation und Einordnung der Arbeit

In der heutigen Zeit werden die Forschungen und die Algorithmen immer komplexer undes werden immer mehr Daten analysiert Dadurch steigt auch der BerechnungsaufwandUm die Wuumlnsche der Fahrzeugingenieure zu realisieren die sicherere und effizientere Au-tos entwickeln der Astronomen die versuchen hinter den Sinn des Universums zu kommenoder der Biologen die versuchen die Geheimnisse des menschlichen Genoms zu verstehenmuss eine genaue Anzahl an CPUrsquos zur Verfuumlgung gestellt werden um die optimale dassheiszligt die kuumlrzeste Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) eines Jobs(Berechnung) zu realisieren Ein Uumlberfluss an Ressourcen die fuumlr ein Job zugeteilt werdenfuumlhrt zu einer sehr geringen bzw zu keiner Reduktion der Rechenzeit weil der Kommunika-tionsaufwand zwischen den CPUrsquos unverhaumlltnismaszligig ansteigt Bei einer zu geringen Anzahlan Ressourcen wiederum kommt es zu einer langen Durchlaufzeit des Jobs Wird davonausgegangen dass im ersten Fall die Ressourcen von mehreren Benutzern geteilt werdenund im zweiten Fall genuumlgend Ressourcen verfuumlgbar sind dann fuumlhren beide Szenarien da-zu dass die Ressourcen nicht effizient genutzt werden

12 Themenbeschreibung und Themenabgrenzung

An der HAW-Hamburg wird im Bereich des Fahrzeugbaus ein Cluster zur Verfuumlgung gestelltder den Studenten und Mitarbeitern ermoumlglichen soll ihre Jobs (Berechnungen) mit Hilfe vonLivermore Software-Dyna (LS-Dyna) optimal durchzufuumlhren Dies wird dadurch gewaumlhrleis-tet in dem die optimale Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) einesJobs realisiert wird Hierbei ist die optimale Durchlaufzeit abhaumlngig von der Anzahl der Res-sourcen (CPUrsquos) die ein Job in Anspruch nimmt Um den Cluster bestmoumlglich in Betrieb zunehmen ist es erforderlich ein Jobmangement-System auf den Cluster zu installieren undzu konfigurieren Die Aufgabe eines Jobmangement-Systems ist es die Anforderungen derAnwender nach IT-Ressourcen mit den real verfuumlgbaren Ressourcen moumlglichst in Einklangzu bringen und zwar in einer Form die dem Bedarf des Unternehmens bzw der Abteilungauch tatsaumlchlich gerecht wird das heiszligt zB die Jobs je nach Dringlichkeit entsprechend zu

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 5: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

1 Einfuumlhrung

11 Motivation und Einordnung der Arbeit

In der heutigen Zeit werden die Forschungen und die Algorithmen immer komplexer undes werden immer mehr Daten analysiert Dadurch steigt auch der BerechnungsaufwandUm die Wuumlnsche der Fahrzeugingenieure zu realisieren die sicherere und effizientere Au-tos entwickeln der Astronomen die versuchen hinter den Sinn des Universums zu kommenoder der Biologen die versuchen die Geheimnisse des menschlichen Genoms zu verstehenmuss eine genaue Anzahl an CPUrsquos zur Verfuumlgung gestellt werden um die optimale dassheiszligt die kuumlrzeste Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) eines Jobs(Berechnung) zu realisieren Ein Uumlberfluss an Ressourcen die fuumlr ein Job zugeteilt werdenfuumlhrt zu einer sehr geringen bzw zu keiner Reduktion der Rechenzeit weil der Kommunika-tionsaufwand zwischen den CPUrsquos unverhaumlltnismaszligig ansteigt Bei einer zu geringen Anzahlan Ressourcen wiederum kommt es zu einer langen Durchlaufzeit des Jobs Wird davonausgegangen dass im ersten Fall die Ressourcen von mehreren Benutzern geteilt werdenund im zweiten Fall genuumlgend Ressourcen verfuumlgbar sind dann fuumlhren beide Szenarien da-zu dass die Ressourcen nicht effizient genutzt werden

12 Themenbeschreibung und Themenabgrenzung

An der HAW-Hamburg wird im Bereich des Fahrzeugbaus ein Cluster zur Verfuumlgung gestelltder den Studenten und Mitarbeitern ermoumlglichen soll ihre Jobs (Berechnungen) mit Hilfe vonLivermore Software-Dyna (LS-Dyna) optimal durchzufuumlhren Dies wird dadurch gewaumlhrleis-tet in dem die optimale Durchlaufzeit (Zeit von Prozessstart bis Prozessbeendigung) einesJobs realisiert wird Hierbei ist die optimale Durchlaufzeit abhaumlngig von der Anzahl der Res-sourcen (CPUrsquos) die ein Job in Anspruch nimmt Um den Cluster bestmoumlglich in Betrieb zunehmen ist es erforderlich ein Jobmangement-System auf den Cluster zu installieren undzu konfigurieren Die Aufgabe eines Jobmangement-Systems ist es die Anforderungen derAnwender nach IT-Ressourcen mit den real verfuumlgbaren Ressourcen moumlglichst in Einklangzu bringen und zwar in einer Form die dem Bedarf des Unternehmens bzw der Abteilungauch tatsaumlchlich gerecht wird das heiszligt zB die Jobs je nach Dringlichkeit entsprechend zu

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 6: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

1 Einfuumlhrung 6

priorisieren Desweiteren soll ein Jobmanagement-System Hewllett-Packard-Message Pas-sing Interface (HP-MPI) und LS-Dyna unterstuumltzen Aus diesem Grunde wird eine Recher-che uumlber Softwareanbieter bezuumlglich der Unterstuumltzung von LS-Dyna HP-MPI und weiterenDiensten des Jobmanagement-Systems durchgefuumlhrt Um den Cluster bestmoumlglichst aus-zulasten ist es erforderlich das System zu testen sowie LS-Dyna Jobs (Berechnungen) inverschiedenen Szenarien zu bewerten Dabei werden LS-Dyna und HP-MPI als Black Box(geschlossenes System unter Vernachlaumlssigung des inneren Aufbaus) gesehen

13 Ziel der Arbeit

Im Rahmen dieser Arbeit soll eine Zuteilungssoftware entwickelt werden die als Schnittstellezwischen Benutzer und Jobmanagement-System agiert Das heiszligt dass die Benutzer ihreBerechnungen der Zuteilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zutei-lungssoftware die weiteren Bearbeitungsschritte Ziel der Arbeit ist es eine Zuteilungssoft-ware zu entwickeln die den Cluster bestmoumlglich auslastet Dies wird dann moumlglich wenn dieZuteilungssoftware die Ressourcen optimal zwischen den Benutzern verteilt Durch die opti-male Ressourcenverteilung wird die mittlere Durchlaufzeit minimiert Um dies realisieren zukoumlnnen muss die Zuteilungssoftware eine Vorhersage uumlber den Ressourcenverbrauch einesJobs (Berechnung) machen Desweiteren ist es notwendig dass die Zuteilungssoftware dieInformationen uumlber die Auslastung des Clusters ermittelt um die freien Rechner fuumlr den Jobherauszufiltern

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 7: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen

21 Hard und Software

Wie in der Einleitung beschrieben wurde wird an der HAW-Hamburg im Bereich des Fahr-zeugbaues ein Cluster in Betrieb genommen (siehe Abbildung 21)

Abbildung 21 Cluster der HAW-Hamburg

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 8: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 8

Auf dem Cluster koumlnnen unter anderem Berechnungen mit der Crash-Simulations-SoftwareLS-Dyna durchgefuumlhrt werden

Der Cluster besteht aus 12 Rechnern Jeder Rechner beinhaltet einen Double-Quad-Core-Prozessor und 16 GB Random Access Memory (RAM) Die Verbindung zwischen denRechnern wird mit dem InfiniBand realisiert In Abbildung 22 werden die LS-Dyna Jobs mitihren Ausfuumlhrungszeiten unter der Verwendung einer CPU dargestellt Einige der dargestell-ten Jobs werden im Verlauf der Bachelorarbeit verwendet um Theorien darzulegen und aufProbleme aufmerksam zu machen

Abbildung 22 LS-Dyna Jobs

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 9: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 9

22 Scheduling-Algorithmen

Nach Tannenbaum wird Scheduling so beschrieben dass mehrere Prozesse eines Rech-ners zur selben Zeit um die CPU konkurrieren Diese Situation tritt dann auf sobald zweioder mehrere Prozesse gleichzeitig rechenbereit sind Falls nur eine CPU verfuumlgbar istmuss entschieden werden welcher Prozess als naumlchstes laumluft Der Teil des Betriebssys-tems der diese Wahl trifft wird Scheduler genannt Der Algorithmus den er verwendetheiszligt Scheduling-Algorithmus ([2] S148-S149)

221 Preemptives und nicht-preemptives Scheduling-Verfahren

In einem nicht-preemptiven Scheduling-Verfahren welches in Abbildung 23 dargestellt wirduumlbergibt der Scheduler einem Prozess die angeforderten Ressourcen und wartet bis diesevollstaumlndig abgearbeitet ist

Abbildung 23 nicht-preemptives Scheduling-Verfahren

Hierbei entsteht der Nachteil dass die houmlher priorisierten Prozesse warten muumlssen bis dieRessourcen freigegeben werden

Preemption beruht auf der Annahme dass es unterschiedliche Wichtigkeiten fuumlr unterschied-liche Jobs gibt Diese Jobs benoumltigen ihre zugeteilten Ressourcen sofort damit sie so schnellwie moumlglich abgeschlossen werden koumlnnen Andere Jobs sind weniger zeitkritisch und dau-ern in der Regel ziemlich lange Die Dauer dieser Jobs liegt normalerweise bei einigen Ta-gen oder Wochen In Abbildung 24 wird ein Beispiel dargestellt Hier werden dem ProzessA mit Prioritaumlt 10 Ressourcen vor Fertigstellung seiner Berechnung wieder entzogen um siezwischenzeitlich einem Prozess B mit Prioritaumlt 100 zuzuteilen Der Prozess A wird dabei in

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 10: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 10

seiner Ausfuumlhrung unterbrochen und verharrt in seinem momentanen Zustand bis ihm wie-der Ressourcen zugeteilt werden Hierbei besteht der Vorteil dass relevante Prozesse sofortan die Reihe kommen und nicht auf CPU-Zeit warten mussen ([6] S480 - S483)

Abbildung 24 preemptiven Scheduling-Verfahren

222 Kategorien von Scheduling-Algorithmen

Es ist uumlblich in verschiedenen Umgebungen auch verschiedene Scheduling-Algorithmen zubenutzen Diese Situation ergibt sich daraus dass die verschiedenen Umgebungen unter-schiedliche Ziele haben welche man nicht mit einem Scheduling-Algorithmus optimierenkann Drei Umgebungen lassen sich unterscheiden 1 Stapelverarbeitung 2 Interaktion3 Echtzeit In dieser Bachelorarbeit wird im Detail auf Scheduling-Algorithmen fuumlr Stapel-verarbeitung und Interaktion eingegangen ([2] S152)

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 11: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 11

Im folgenden werden die Ziele des Scheduling-Algorithmus bei verschiedenen Umge-bungen aufgelistet ([2] S153)

Alle Systeme

bull Fairness jeder Prozess bekommt Rechenzeit der CPU

bull Balance alle Teile des Systems sind ausgelastet

Stapelverarbeitungssysteme

bull Durchsatz Maximierung der Jobs pro Stunde

bull Turnaround-Zeit Minimierung der Zeit vom Start bis zur Beendigung eines Prozesses

Interaktive Systeme

bull Antwortzeit antworte schnellstmoumlglich auf Anfragen

bull Proportionalitaumlt auf die Beduumlrfnisse des Nutzers eingehen

Echtzeitsysteme

bull Meeting Deadlines Zeitschranken einhalten

bull Predictability Vorhersagbarkeit

223 Scheduling in Stapelverarbeitungs-Systemen

Einfuumlhrung

In Stapelverarbeitungssystemen gibt es keine ungeduldigen Benutzer die auf eine sofortigeAntwort an ihrem Terminal warten Folglich sind nicht unterbrechende oder unterbrechen-de Algorithmen mit langen Zeiten fuumlr jeden Prozess annehmbar Dieser Ansatz verringertdie Zahl der Prozesswechsel und verbessert daher die durchschnittliche Durchlaufzeit derProzesse ([2] S152)

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 12: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 12

Scheduling-Algorithmus in Stapelverarbeitungs-Systemen

First-Come First-Served (FCFS) ist ein nicht praumlemptiver Scheduling-Algorithmus FCFSkann man sich als eine Warteschlange mit rechenbereiten Prozessen vorstellen die auf dieCPU warten Sobald ein Prozess neu gestartet wird wird er am Ende der Warteschlangeeingereiht Die Prozesse bekommen die CPU in der Reihenfolge in der sie in der Warte-schlange eingereiht werden Wenn ein Prozess die CPU bekommt kann er beliebig langerechnen Wenn ein laufender Prozess blockiert wird kommt der naumlchste Prozess der am An-fang der Warteschlange ist an die Reihe Wenn ein blockierter Prozess wieder rechenbereitwird wird er wie ein neuer Prozess am Ende der Warteschlange eingereiht Dieser Algorith-mus hat einen sehr groszligen Nachteil Angenommen drei Jobs A B und C mit den Laumlngen 104 und 3 sec die fast gleichzeitig eintreffen (siehe Abbildung 25a) werden erst nach FCFSeingeordnet und bearbeitet In diesem Fall liegt die durchschnittliche Durchlaufzeit bei(10+14+17)3 = 1367 sec und die durchschnittliche Wartezeit bei (0+10+14)3 = 8 secWenn die Jobs so angeordnet sind dass die Jobs mit der kuumlrzesten Durchlaufzeit zuerst be-arbeitet werden welches in Abbildung 25b dargestellt wird dann betraumlgt die durchschnittli-che Durchlaufzeit (3+7+17)3 = 9 sec und die durchschnittliche Wartezeit (0+3+7)3 = 33sec Dieser Ansatz fuumlhrt zu einem neuen Scheduling-Algorithmus (Shortest Job First) derim unterem Abschnitt beschrieben wird Desweiteren muumlssen eventuell kleinere Jobs langeauf ihre Abarbeitung warten ([2] S155 - S156)

Abbildung 25 First-Come First-Served [2]

Shortest Job First (SJF) ist ein nicht praumlemptiver Stapelverarbeitungsalgorithmus Hier-bei wird davon ausgegangen dass die Laufzeit vorher bekannt ist Das heisst SJF ist nurdann optimal wenn alle Aufgaben gleichzeitig verfuumlgbar sind Als Gegenbeispiel werden inAbbildung 26a fuumlnf Prozesse A bis E mit jeweiligen Laufzeiten von 2411 und 1 sec dar-gestellt Ihre Ankunftszeiten sind 0 0 3 3 und 3 sec Es koumlnnen zur Zeitpunkt 0 A und B

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 13: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 13

bearbeitet werden da C bis E zum Zeitpunkt 0 noch nicht angekommen sind Wird hier SJFVerwendet lautet die Reihenfolge A B C D E und die durchschnittliche Durchlaufzeitbetraumlgt ((2+6+7+8+9)5) = 64 sec Wenn davon ausgegangen wird dass alle Prozesse zumZeitpunkt 0 bekannt sind also C D E A und B (siehe Abbildung 26b) betraumlgt die durch-schnittliche Durchlaufzeit ((1+2+3+5+9)5) = 4 sec ([2] S156 - S157)

Abbildung 26 Shortest Job First [2]

Shortest Remaining Time Next (SRTN) ist eine praumlemptive Version von SJF Sobald eineneue Aufgabe ankommt wird deren Zeit mit der Zeit des gegenwaumlrtigen Prozesses vergli-chen Falls der neue Prozess weniger Zeit braucht um fertig zu werden als der gegenwaumlr-tige Prozess wird der aktuelle Prozess gestoppt und der neue Prozess begonnen DieserScheduler-Algorithmus bietet neuen Prozessen die eine kurze Laufzeit haben einen gutenDienst ([2] S 157)

224 Scheduling in interaktiven Systemen

Interaktive Scheduling-Algorithmen werden dort benutzt wo das System schnellstmoumlglichauf Anfragen von Nutzern antworten sollte Weiterhin koumlnnen sie in Stapelverarbeitungs-Systemen als CPU-Scheduler verwendet werden ([2] S159)

Round-Robin (RR) Beim RR bekommt jeder Prozess einen Zeitabschnitt (Quantum) zu-gewiesen in dem er laufen darf Der Algorithmus funktioniert so dass der Scheduler eineListe der lauffaumlhigen Prozesse hat (siehe Abbildung 27a) Sobald der Prozess sein Quan-tum aufgebraucht hat wird er an das Ende der Liste gelegt (siehe Abbildung 27b) und deram laumlngsten wartende Prozess wird aktiviert Die einzig interessante Frage von RR betrifft

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 14: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 14

die Laumlnge des Quantums Das zu kurze Setzen des Quantums verursacht zu viele Prozess-wechsel und vermindert die CPU-Effizienz Dies ist nicht im Sinne von Stapelverarbeitungs-Systemen Ist das Quantum zu lang bedeutet das dass kleine Jobs lange warten muumlssen([2] S159 - S160)

Abbildung 27 Round-Robin [2]

Fair-Share Scheduling Bei der Strategie FCFS entsteht fuumlr kleine Jobs ein Nachteil dennsie koumlnnen nicht vor groumlszligeren Jobs die als erstes eingetroffen sind berechnet werden Beider Fairshare-Strategie liegt der Schwerpunkt auf der Gerechtigkeit zwischen den Anwen-dern bzw Gruppen so dass jeder einmal mit seinem Job an der Reihe ist Bei drei Benut-zern (A B C) die gleichzeitig jeweils einen Prozess ausfuumlhren teilt der Prozess-Schedulerdie verfuumlgbaren CPU-Zyklen beispielsweise so dass jeder Benutzer 333 aller Zyklen be-kommt (100 3=333) Wenn der Benutzer A einen zweiten Prozess startet wird jederBenutzer immer noch 333 aller Zyklen bekommen Da A zwei Prozesse gestartet hatwird fuumlr jeden Prozess 1665 CPU-Zyklen bereitgestellt (333 2= 1665) Wenn aberein neuer Benutzer D einen Prozess im System startet wird der Scheduler die verfuumlgbarenCPU-Zyklen neu aufteilen so dass jeder Benutzer 25 aller Zyklen bekommt (100 4=25) Somit hat A 25 der CPU-Zyklen da A aber zwei Prozesse gestartet hat hat jederProzess 125 der CPU-Zyklen (25 2 = 125) ([2] S165)

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 15: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 15

23 Parallelrechner

231 Klassifizierung nach Flynn

Flynn charakterisiert Rechnerstrukturen als Operatoren auf zwei verschiedenartigen Infor-mationsstroumlmen Dem Befehlsstrom und dem Datenstrom Entsprechend fuumlhrt er darauf auf-bauend eine zweidimensionale Klassifizierung ein deren Hauptkriterien die Zahl der Be-fehlsstroumlme und der Datenstroumlme sind Diese beruht auf den Merkmalen1) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Befehl2) Der Rechner bearbeitet zu einem gegebenen Zeitpunkt einen oder mehr als einen Da-tenwertDaraus resultieren vier Klassen von Rechnerstrukturen In Abbildung 28 werden die vonFlynn beschriebenen Klassen in einer Tabelle dargestellt

Abbildung 28 Klassifizierung nach Flynn

Single Instruction - Single Data (SISD) sind Einprozessor-Rechner mit einem Programm-speicher die ihre Aufgaben sequentiell abarbeiten SISD-Rechner koumlnnen zB als Personal-Computer nach der Von-Neumann-Architektur oder der Harvard-Architektur aufgebaut wer-den

Single Instruction - Multiple Data (SIMD) ist eine Rechnerarchitektur mit Vektorprozessorenbei der viele Prozessoren ihre Befehle von einem Befehlsprozessor erhalten und gleichzeitigunterschiedliche Daten verarbeiten Ein Befehl wird also gleichzeitig auf mehrere Datensaumltzeangewendet und parallel abgearbeitet

Multiple Instruction - Single Data (MISD) ist eine Rechnerarchitektur mit Multiprozessorsys-tem Hierbei bekommen alle Prozessoren gleichzeitig verschiedene Befehle welche sie aufden Daten eines einzigen Datenstroms ausfuumlhren

Muliple Instruction - Multiple Data (MIMD) ist eine Rechnerarchitektur die aus vielen Pro-zessoren besteht die als Teilrechner parallel arbeiten und von getrennten Befehlen gesteu-ert werden Jeder Teilrechner fuumlhrt gleichzeitig verschiedene Operationen auf verschiedengearteten Eingangsdatenstroumlmen durch Die Teilrechner selbst koumlnnen in ihrer Rechnerar-chitektur optimiert und als SISD oder SIMD ausgefuumlhrt werden Bei der MIMD-Architektur

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 16: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 16

erhaumllt jeder Prozessor eigene Befehle und hat fuumlr die Speicherung einen eigenen Speicher([1] S197 - S201)

232 Klassifikation von Parallelrechnern

In Abbildung 29 werden drei Parallelrechner vorgestellt Bei diesen Typen besonders beiRechnern mit mehr als 100 Prozessoren spricht man von massivem Parallelismus

Abbildung 29 Klassifikation von Parallelrechnern [3]

Es wird in den Faumlllen von SIMD und MIMD danach klassifiziert ob sich der jeweilige Rech-ner eines gemeinsam benutzten Speichers (Shared Memory) oder eines verteilten Spei-chers (Distributed Memory) bedient Bei Rechnern die sich eines gemeinsamen Speichersbedienen spricht man auch von speichergekoppelten Systemen Bei Rechnern bei denenjeder Prozessor uumlber einen lokalen Speicher verfuumlgt spricht man von nachrichtengekoppel-ten Systemen da die Prozessoren jetzt untereinander uumlber einen Nachrichten-Austausch(Message Passing) kommunizieren Bei MIMD-Rechnern erfolgt bei Systemen mit gemein-samen Speicher die weitere Unterteilung in reale und virtuelle gemeinsame Speicher Dierealen bzw Uniform Memory Acces (UMA) basierten gemeinsamen Speicher werden in Ka-pitel 234 detailliert beschrieben Bei Netzwerken unterscheidet man zwischen Cluster undGrid-Comuting Beim Grid-Computing wird eine Vielzahl von unterschiedlichen Rechnernvernetzt um ihre Rechenleistung fuumlr eine gemeinsam zu bearbeitetende Anwendung einzu-setzen Als Cluster von Rechnern bezeichnet man die koordinierte Benutzung von weitge-hend gleichartigen und vernetzten Rechnern ([3] S415 - S417)

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 17: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 17

233 Multiprozessorsysteme

In Abbildung 210 werden drei Ansaumltze vorgestellt mit deren Hilfe die Rechengeschwindig-keit von test_240ms (siehe Abbildung 22) um etwa das 16 Fache erhoumlht wird Der Shared-Memory-Multiprozessor in Abbildung 210a ist ein System dass aus 2 bis n CPUrsquos bestehtdie uumlber einen gemeinsamen Speicher kommunizieren

Abbildung 210 Multiprozessorsysteme [2]

Hierbei haben alle CPUrsquos gleichermaszligen Zugriff auf den gesamten physischen Speicher undkoumlnnen individuelle Woumlrter mit Hilfe von LOAD- und STORE-Instruktionen lesen und schrei-ben Der Zugriff auf den Speicher benoumltigt in der Regel 10-50 ns Als Naumlchstes wird dasSystem Message-Passing-Multicomputer in Abbildung 210b betrachtet In diesem Sys-tem hat jede CPU ihre eigene lokale Speichereinheit und die Kommunikation erfolgt uumlberNachrichten auf einer Hochgeschwindigkeitsverbindung zwischen den Rechnern da dieserAnsatz keinen gemeinsamen Speicher unterstuumltzt Mit einer guten Verbindung kann einekurze Nachricht in 10-50 s verschickt werden Dies ist weitaus laumlnger als der Speicher-zugriff aus Abbildung 210a Da es in diesem Design keinen gemeinsamen Speicher gibtist die Realisierung viel einfacher als bei Shared-Memory-Systemen jedoch schwerer zuprogrammieren Demzufolge hat jedes Design seine Vor- und Nachteile Das dritte ModellWide-Area-System welches in Abbildung 210c dargestellt wird verbindet ganze Rechner-anlagen uumlber ein Wide Area Network (WAN) zB das Internet Die Kommunikation zwischenden Rechnern wird anhand von Nachrichtenaustausch realisiert Hier hat jeder Rechner sei-nen eigenen Speicher Der Austausch einer kurzen Nachricht zwischen zwei Rechnern aufdiesem Modell dauert 10-50 ms Die drei vorgestellten Typen unterscheiden sich in der Laumlngeder Zeitverzoumlgerung die beim Nachrichtenaustausch auftritt um jeweils den Faktor tausend([2] S539 - S541)

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 18: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 18

234 Uniform Memory Acces (UMA)-busbasierte SymmetrischeMultiprozessoren (SMP)-Architekturen

In Abbildung 211a ist ein einfaches Multiprozessorsystem dargestellt Die Kommunikationzwischen den CPUrsquos wird durch den Speicher realisiert Liest eine CPU ein Speicherwortso uumlberpruumlft sie zuerst ob der Binary Unit System (BUS) belegt ist Sobald er frei ist legtdie CPU die Adresse des Speicherwortes auf den BUS fuumlgt ein paar Kontrollsignale hinzuund wartet bis der Speicher das gewuumlnschte Wort seinerseits auf den BUS legt Ist der BUSdurch eine andere CPU belegt so muss dies warten bis der BUS wieder frei ist Bei zweioder drei CPUrsquos ist der gemeinsame Zugriff auf den BUS nicht sehr zeitkritisch Wenn abermehr als drei CPUrsquos um den BUS konkurrieren kann es vorkommen dass die CPUrsquos dengroumlszligten Teil der Rechenzeit ungenutzt bleiben Die Loumlsung fuumlr dieses Problem wird anhandvon Abbildung 211b erklaumlrt Hierbei hat jede CPU einen Cache Da nun viele Lesezugriffeaus dem lokalen Cache bedient werden koumlnnen gibt es viel weniger Zugriffe auf den BUSund das System ist in der Lage mehr CPUrsquos zu unterstuumltzen ([2] S542 - S543)

Abbildung 211 UMA-busbasierte SMP-Architekturen [2]

235 Vergleich zwischen Shared-Memory-Multiprozessor undMessage-Passing-Multicomputer

In Kapitel 233 wird erlaumlutert dass der Performance-Unterschied beim Nachrichtenaus-tausch zwischen den Rechnersystemen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer ungefaumlhr beim Faktor 1000 liegt Wiederum wird in Kapitel 234 be-schrieben dass Shared-Memory Systeme die mehrere CPUrsquos besitzen langsamer werdenda die CPUrsquos um den BUS konkurrieren Anhand eines Beispiels wird das Verhalten derbeiden Systeme verglichen In Abbildung 212 ist eine Message-Passing-Multicomputer mitzwei Rechnern zu sehen Die Rechner bestehen aus einem Shared-Memory System mitacht CPUrsquos

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 19: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 19

Abbildung 212 Message-Passing-Multicomputer [2]

In Abbildung 213 sind zwei Graphen dargestellt Der Shared-Memory-Multiprozessor wirddurch den blauen Graphen simuliert Hierbei wird die Berechnung mit einer unterschiedlichenAnzahl an CPUrsquos berechnet Das Message-Passing-Multicomputer wird durch den roten Gra-phen simuliert Hier wird die gleiche Berechnung auf zwei Rechner verteilt und berechnetDies bedeutet aber auch dass die CPU-Anzahl zwischen den beiden Rechnern geteilt wirdwobei die Anzahl der CPUrsquos mit der des blauen Graphen uumlbereinstimmt

Abbildung 213 Ausfuumlhrungszeiten von test_10msk

Anhand der beiden Graphen ist zu erkennen dass die Ausfuumlhrungszeiten von Shared-Memory System die zwischen zwei bis fuumlnf CPUrsquos liegen geringer sind als beim Message-Passing-Multicomputer Hieraus wird abgeleitet dass der Nachrichtenaustausch beimMessage-Passing-Multicomputer laumlnger dauert (siehe Kapitel 233) als die KonkurrierendenCPUrsquos in einem Shared-Memory System Wenn aber die Anzahl der CPUrsquos mehr als fuumlnfbetraumlgt verringern sich die Ausfuumlhrungszeiten von Message-Passing-Multicomputer gegen-uumlber dem Shared-Memory System da die Menge der CPUrsquos die um den BUS konkurrierenim Shared-Memory System gestiegen ist

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 20: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 20

24 Parallele Leistungsmaszlige

Um unter den gleichen Bedingungen die Effizienz und den Speedup von parallelen Rech-nern zu einem sequentiellen Rechner zu ermitteln werden folgende Formeln benutzt

Speedup(p) = Tseq

Tpar

Ef f iz ienz(p) = Speedup(p)p

ideal(p) Speedup(p) = p und Ef f iz ienz(p) = 1

p Anzahl der ProzessorenTseq Ausfuumlhrungszeit von Job A auf einem ProzessorTpar Ausfuumlhrungszeit von Job A auf p Prozessoren

Der Speedup-Faktor s eines parallelen Rechners gibt an wieviel mal schneller ein parallelerAlgorithmus im Vergleich zum sequentiellen abgearbeitet werden kann

Effizienz ist das Verhaumlltnis von Nutzen zum Aufwand mit dem der Nutzen erzielt wird([4] S122)

In Abbildung 214 sind zwei Speedup-Graphen dargestellt Im Idealfall hat der Grapheine lineare Steigung Typischerweise jedoch divergiert die Speedup-Kurve immer weitervom Ideal bei steigender Anzahl an CPUrsquos

Abbildung 214 Parallele Leistungsmaszlige

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 21: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 21

25 Finite Element Methode (FEM)

In der folgenden Bachelorarbeit wird die FEM als Black-Box (ein geschlossenes System un-ter Vernachlaumlssigung des inneren Aufbaus) angesehen An dieser stelle soll dem Leser nureine grobe Vorstellung davon vermittelt werden welche Eigenschaft diese mathematischeMethode hat und in welchen Bereichen diese mathematische Methode angewendet wird

Mit der FEM koumlnnen nahezu alle Vorgaumlnge der Technik auf dem Computer simuliertwerden wie zum Beispiel die Vorausbestimmung des Verhalten von Bauwerken Bei derKonstruktion einer Bruumlcke ist es von Interesse ob diese ihr Eigengewicht tragen kann undauch Windboumlen und Erdbeben standhalten wird Das neu entwickelte Buumlgeleisen soll sichmoumlglichst gleichmaumlszligig und schnell erwaumlrmen Der Hubmagnet muss ausreichend starkeMagnetfelder erzeugen um die gewuumlnschten Kraumlfte zu ermoumlglichen Dabei wird der Koumlr-per in moumlglichst viele kleine Elemente in Form von Linien Dreiecke Vierecke TetraedenPentaeden oder Hexaeden zerlegt die an ihren Eckpunkten den sogenannten Knotenmiteinander fest verbunden sind Kleine Elemente deshalb weil das naumlherungsweise uumlberlineare Gleichungen formulierte Verhalten der Elemente nur fuumlr das unendlich kleine (infi-nitesimale) Element gilt die Realitaumlt jedoch endlich groszlige (finite) Elemente verlangt DieAnnaumlherung an die Realitaumlt ist daher umso besser je kleiner die Elemente sindDiese Zerlegung erfolgt heute auf der Basis von einer rechnerunterstuumltzten Konstrukti-on oder englisch Computer Aided Design (CAD) Ein CAD-Anwendungsprogramm ist einEDV-Programm welches den Anwender bei der Arbeit in Entwicklung Konstruktion undArbeitsvorbereitung also bei Berechnungsaufgaben bei der Informationsbereitstellungbeim Zeichnen und beim rechnerunterstuumltzten Entwurf unterstuumltzt [5]

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 22: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 22

251 CAD und FEM

In Abbildung 215 wird das Zusammenspiel von CAD und FEM beschrieben

Abbildung 215 CAD und FEM [5]

Das Bauteil ist mit CAD erstellt worden Hierbei kann es sein dass die Hersteller zwischendem CAD-System und dem FEM-System eine Direktkopplung realisiert haben Das wuumlrdeheiszligen dass das Bauteil sofort vom FEM-System uumlbernommen wird Wenn hier aber zweivoumlllig autonome Systeme vorliegen so muss das Bauteil uumlber eine Standardschnittstellewie IGES (Initial Graphics Exchange Specification) oder STEP (Standard for the Exchangeof Product Model Data) transportbereit gemacht werden Die Aufgabe des Pre-Prozessorsist es ein berechenbares FE-Modell aus dem Bauteil zu generieren dh Zuweisung derElementdaten und der Materialwerte sowie Einbringung der Kraumlfte und RandbedingungenFuumlr die Anzeige des Ergebnisse wird ein Post-Prozessor genutzt Dieser stellt als ErgebniszB die verformte Struktur sowie die Dehnungen und Spannungen in dem Bauteil dar ([5]S5 - S6)

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 23: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 23

26 LS-Dyna

LS-Dyna ist ein Simulationsprogramm das mit Hilfe der Finiten-Element-Methode (sieheKapitel 25) arbeitet Die Software wird von der Livermore Software Technology Corporation(LSTC) in Kalifornien entwickelt LS-Dyna bietet die Moumlglichkeit in der fruumlhen Entwurfspha-se bereits eine Aussage zum Strukturverhalten und der Optimierung des Designs zu gebenWeiterhin unterstuumltzt LS-DYNA Massively Parallel Processing (MPP) (siehe Abbildung 216) Es wird dabei eine Gebietszerlegung des gesamten Simulationsmodells in kleine Teilm-odelle vorgenommen die jeweils auf einem eigenen Prozessor geloumlst werden Waumlhrend desZeitschrittes und vor allem am Ende des Zeitschrittes muumlssen die beteiligten CPUrsquos mitein-ander kommunizieren Hierfuumlr ist dann das sogenannte Message Passing Interface (MPI)noumltig [18]

Abbildung 216 MPP [18]

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 24: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

2 Grundlagen 24

261 Anwendungsgebiete von LS-Dyna

Crashsimulation Insassensicherheit und Fuszliggaumlngersicherheit

LS-Dyna hat seinen groumlszligten Anwenderkreis in der Automobilindustrie Die Software wirdsowohl zur Berechnung eines Gesamtfahrzeug-Crashs als auch fuumlr detaillierte Berechnun-gen der sicherheitsrelevanten Komponenten wie der aktiven und passiven Fahrzeugsicher-heit sowie des Insassen und Fuszliggaumlngerschutzes eingesetzt Hierbei werden Untersuchun-gen zur Insassensicherheit unter Beruumlcksichtigung von Airbags Ruumlckhaltesystemen undDummy-Interaktionen sowie Verbesserung der Fahrzeug-Frontendstruktur im Hinblick aufVerletzungsrisiken von Fuszliggaumlngern unterstuumltzt Die Software erlaubt die Berechnung ver-schiedenster Crashlastfaumllle wie Frontalcrashs mit unterschiedlichen Uumlberdeckungen Seiten-crashs mit verschiedenen Geschwindigkeiten und Fahrzeuguumlberschlaumlge Durch die Crashsi-mulationen wird die passive Crashsicherheit der heutigen Fahrzeuggenerationen entschei-dend beeinflusst und verbessert Hierbei entstehen kuumlrzere Entwicklungszeiten Desweiterenunterstuumltzt LS-Dyna Crashsimulationen im Bereich von Schiffsbau Schienenfahrzeugen undFlugzeugen [17]

Metallumformung

Eine weitere Domaumlne von LS-Dyna ist die Simulationen von Metallumformvorgaumlngen Hier-bei werden Optimierungsansaumltze hinsichtlich der Oberflaumlcheneigenschaften Falten- oderRissbildung unterstuumltzt [17]

Falltest

Auszligerhalb der Automobilindustrie wird LS-Dyna im Bereich der Produktentwicklung einge-setzt So lassen sich mit LS-Dyna die Auswirkungen des Aufpralls von Gegenstaumlnden simu-lieren Hierzu gehoumlren Falltest-Untersuchungen von Konsumguumltern nuklearen Transportbe-haumlltern und Vogelschlag-Simulationen gegen Flugzeugen Turbinen oder Windschutzschei-ben [17]

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 25: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl einesJobmanagement-Systems

31 Erwartungen an ein Jobmanagement-System

Ein Jobmanagement-System wird durch Queues Scheduler Ressourcen-ManagementJob-Management Dienste und Sicherheit welche das System anbietet charakterisiert (sie-he Abbildung 31) ([11] S51 S60-S61) Der Dienst Ressourcen-Management findet An-wendung bei der vom Verfasser entwickelten Zuteilungssoftware und spielt daher eine wich-tige Rolle im Rahmen dieser Arbeit Weiterhin werden die Dienste Job-Management Queu-es Scheduler Dienste und Sicherheit eines Jobmanagement-Systems untersucht

Abbildung 31 Jobmanagement-Systeme

Jobmanagement-Systeme dienen der Abstimmung zwischen den Anforderungen der An-wender nach IT-Ressourcen mit den real verfuumlgbaren Moumlglichkeiten Dies soll den Unter-nehmen helfen eine optimale Ressourcenverteilung zu erzielen Der Verfasser erwartetdesweiteren von einem Jobmanagement-System dass dieses verschiedenene Scheduling-Algorithmen anbietet

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 26: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 26

Auf Grund der Tatsache dass die einzelnen Jobs unterschiedlich relevant sind ist es vonVorteil dass ein Jobmanagement-System bei Ressourcenknappheit unwichtige Jobs ab-bricht und die Ressourcen wichtigeren Jobs zuteilt Die Erwartungen an einer Queue werdendurch unterschiedliche Attribute charakterisiert wie zum Beispiel den Namen einer Queuewelcher die Queue eindeutig identifiziert und die Queue-Begrenzung welche die maxima-le Anzahl der Jobs definiert etc Weiterhin soll ein Jobmanagement-System die Moumlglichkeitbieten Ressourcen fuumlr einen festzulegenden Zeitpunkt zu reservieren oder einzelne Res-sourcen einem bestimmten Benutzer oder einer Benutzergruppe zuzuordnen

Die Berechnungen werden von LS-Dyna berechnet und mit Hilfe von HP-MPI paralle-lisiert Daher ist es notwendig dass die jeweiligen Jobmanagement-Systeme LS-Dynaund HP-MPI unterstuumltzen Desweiteren werden die Dienste und die Sicherheit einesJobmanagement-Systems unterschieden Hierbei wird erwartet dass ein Jobmanagement-System parallele Berechnungen Job Array (eine Zusammenfassung von Jobs die sichnur durch einem Indexparameter unterscheiden) Checkpointing (Speichern eines laufen-den Jobs) und Job Migration (Unterbrechung laufender Prozesse den Transfer auf einenanderen Rechner und die Wiederaufnahme) als Dienste anbietet Um die Zuverlaumlssigkeitdes Systems zu gewaumlhrleisten soll das System so agieren dass es kontinuierlich arbeitetauch wenn einige Rechner des Clusters nicht verfuumlgbar sind

32 Jobmanagement-Systeme

321 Load Sharing Facility (LSF)

Einfuumlhrung

Load Sharing Facility ist ein generelles und verteiltes Jobmanagement-System des kanadi-schen Herstellers Platform Computing welches die Lastverteilung in einer vernetzten Rech-nerumgebung organisiert Die Software ist plattformunabhaumlngig und ermoumlglicht die optimaleNutzung der Ressourcen eines heterogenen Unix Linux und Windows Netzwerks [20] LSFfunktioniert so dass die Benutzer ihre Rechenaufgabe (Job) beim Server anmelden DerServer platziert den Job in dem Queue der fuumlr diesen Job geeignet ist LSF uumlbernimmtab hier die Verwaltung und die Abarbeitung des Jobs ([8] S20 - S21) LSF Queues diein Tabelle 31 dargestellt werden sollten nicht mit einfachen Warteschlangen (Queues) ver-wechselt werden da sie durch ihre Konfigurationsattribute verschiedene Formen annehmenkoumlnnen ([9] S60) Queues unter LSF koumlnnen bei laufendem Betrieb konfiguriert geoumlffnetgeschlosssen aktiviert oder deaktiviert werden ([9] S118)

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 27: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 27

Parameter express int long normalQUEUE NAME express int long normal

PRIORITY 120 200 50 70USERS usersA usersB usersA usersC

Tabelle 31 LSF Queues

Die Benutzer koumlnnen ihre Berechnungen interaktiv oder mit einem Shell-Skript dem Clusteruumlbergeben Ist dies geschehen benutzt LSF die Informationen uumlber die Auslastung der Ma-schinen wie CPU-Auslastung Hauptspeicher-Auslastung virtueller-Speicher freier Platz intemporaumlren Verzeichnissen IO-Rate Anzahl der aktiven Benutzer und die Vorgabekriterienwelche der Benutzer durch sein Shell-Skript oder interaktive Eingaben dem Cluster uumlberge-ben hat ([12] S2) Durch diese Informationen kann LSF die Jobs starten suspendierenoder neu starten ([8] S56) Bei Ausfall der Server verstaumlndigen sich die restlichen Maschi-nen automatisch auf einen neuen Server Wenn alle Maschinen im Cluster beispielsweisewegen eines Stromausfalles abstuumlrzen werden noch nicht gestartete Jobs abgearbeitet so-bald der Cluster wieder online ist Jobs die zum Zeitpunkt des Absturzes einer Maschineliefen werden auf anderen Rechnern automatisch wieder gestartet verlieren also nur diebisher verbrauchte Rechenzeit Desweiteren ist LSF so entworfen dass es das Arbeiten fort-setzt auch wenn einige Rechner des Clusters nicht verfuumlgbar sind ([11] S60 - S61) LSFbietet zahlreiche Dienste wie das vollstaumlndige Speichern des Jobs waumlhrend der Ausfuumlhrung(Checkpointing) ([9] S326) bewegen der eigenen Jobs innerhalb eines Queues sowie zwi-schen den Queues LSF bietet eine Vielzahl von Befehlen (siehe Tabelle 32) um einen Jobder in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es ist moumlglich dieAusgaben sowie die Historie von laufenden Jobs zu beobachten ([13] S66)

LSF befehle Bedeutung der Befehlebsub -q queue Uumlbergibt einen Job an einen LSF-Queuebsub -m host Uumlbergibt einen Job an einen bestimmten Hostbsub -n proc Legt die Anzahl der benoumltigten Prozessoren festbstop jobid Stoppt alle Prozesse eines LSF-Jobs

bresume jobid Setzt die Ausfuumlhrung eines zuvor gestoppten LSF-Jobs fortbstp jobid Setzt einen Job an die Spitze der eigenen Jobs

Tabelle 32 LSF Befehle

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 28: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 28

LSF Benutzeroberflaumlchen

LSF bietet zwei Programme mit graphischer Benutzeroberflaumlche (GUI) fuumlr das X-Windows-System was den Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und LSF-Kommandos per Mausklick abzusetzen sowie die verbundenen Systeme und deren Auslas-tung graphisch darzustellen In Abbildung 32 ist die graphische Benutzeroberflaumlche xlsbatchMain Window zu sehen welche dem Benutzer die zum Cluster gehoumlrenden Rechner Queu-es User-Jobs sowie seinen Status anzeigt ([8] S24)

Abbildung 32 xlsbatch [8]

Durch Doppelklick auf den Rechner Queue bzw auf die User-Jobs erhaumllt man in einemneuen Fenster die Hosts Queues bzw Jobinformationen in Longformat (siehe Abbildung33) ([8] S25)

Abbildung 33 xlsbatch-Doppelklick [8]

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 29: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 29

322 OpenPBS Portable Batch System

Einfuumlhrung

Das Portable Batch System (PBS) ist ein generelles und verteiltes Jobmanagement-Systemdas in den Jahren 1993 bis 1997 fuumlr die National Aeronautics and Space Administration(NASA) entwickelt wurde Das Portable Batch System (PBS) existiert in zwei VersionenOpenPBS ist die frei verfuumlgbare OpenSource Version des Portable Batch Systems und PBSProfessional ist die kommerzielle Version des PBS die Altair Engineering seit dem Jahr 2003betreut PBS ist plattformunabhaumlngig und ermoumlglicht die optimale Nutzung der Ressourceneines heterogenen Unix Linux und Windows Netzwerkes Allerdings ist die Funktionalitaumlt vonOpenPBS im Vergleich zu PBS Professional stark eingeschraumlnkt und fuumlr einen Produktions-betrieb daher nur bedingt nutzbar Daruumlberhinaus bietet Altair nur technischen Support fuumlrdie Professional Variante an OpenPBS bietet keine Unterstuumltzung fuumlr Windows Auszligerdembietet OpenPBS keine Moumlglichkeit Ressourcen fuumlr einen festzulegenden Zeitpunkt zu re-servieren oder einzelne Ressourcen exklusiv bestimmten Benutzern oder Benutzergruppenzuzuordnen ([13] S47-S48) Desweiteren unterstuumltzt OpenPBS kein preemptives Schedu-lingverfahren Checkpointing Job Migration Job Arrays und Ausfallsicherheit des Servers[16] Die Arbeitsweise von PBS Professional und OpenPBS funktioniert wie beim LSF DieBenutzer uumlbergeben ihre Rechenaufgabe (Jobs) interaktiv oder mit einem Shell-Skript demServer Dieser fuumlgt den Job an einen Queue der fuumlr diesen Job geeignet ist PBS uumlbernimmtab hier die Verwaltung und die Verarbeitung des Jobs In Tabelle 33 werden PBS Queuesdargestellt PBS Queues haben die gleiche Eigenschaft wie LSF Queues und unterscheidensich somit in gleicher Weise von einfachen Queues Queues unter PBS Professional koumlnnenbei laufendem Betrieb konfiguriert geoumlffnet geschlosssen aktiviert oder deaktiviert werden([15] S103) OpenPBS bietet diesen Dienst nicht an [16]

Parameter test shared large exclQUEUE NAME test shared large excl

queue type Execution Execution Execution ExecutionPRIORITY 120 200 50 70

USERS usersA usersB usersA usersC

Tabelle 33 PBS Queues

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 30: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 30

Desweiterin bietet PBS eine Vielzahl von Befehlen die in Tabelle 34 dargestellt sind umeinen Job der in den Queues angemeldet ist zu beobachten oder zu kontrollieren Es istmoumlglich die Ausgaben sowie die Historie von laufenden Jobs zur beobachten

PBS Befehle Bedeutung der Befehleqsub Uumlbergibt einen Job in eine PBS-Queuesqdel Entfernt den Jobskript aus dem PBSqstat Zeigt Job Queue und Server Status

qstat -B Zeigt Server Statusqstat -Q Zeigt alle Queues

pbsnodes -a Zeigt alle Knoten des Clusters anqstat -a Zeigt eine Liste aller laufenden und wartenden Jobs

qstat -aultusergt Zeigt eine Liste alle Jobs des Nutzers ltusergtqout ltjobidgt Ausgabe laufender Jobs anzeigen

Tabelle 34 PBS Befehle

PBS Benutzeroberflaumlchen

Das Portable Batch System bietet zwei Programme mit graphischer Benutzeroberflaumlche(GUI) fuumlr das X-Windows-System an welches den Benutzern erlaubt die einzelnen Queuesund Jobs anzusehen und PBS-Kommandos per Mausklick abzusetzen sowie die verbunde-nen Systeme und deren Auslastung graphisch darzustellen In Abbildung 34 ist die graphi-sche Benutzeroberflaumlche xpbsmon zu sehen welche die verbundenen Systeme und derenAuslastung graphisch darstellt

Die xpbsmon Oberflaumlche besteht aus drei Spalten In der ersten Spalte werden fuumlr den Ad-ministrator mehrere Buttons zur Verfuumlgung gestellt welche den Administrator bei der Kon-figuration des Systemes unterstuumltzen In der zweiten Spalte werden die einzelnen Rechnerdurch Quadrate dargestellt Der Zustand eines Rechners wird durch die verschiedenen Far-ben charakterisiert Durch einen Doppelklick auf ein Quadrat (Rechner) erhaumllt man in einemneuen Fenster (siehe Abbildung 35) die Rechnerinformationen in Langformat Die Zustaumlndein denen sich ein Rechner befinden kann werden durch Farben dargestellt Die Farbe Gruumlnbedeutet dass der Rechner zur Zeit frei ist und keine Berechnung verarbeitet Die FarbeRot bedeutet dass der Rechner nicht zur Verfuumlgung steht Die Farbe Braun bedeutet dassder Rechner rechnet wobei noch mehrere CPUacutes zur Verfuumlgung stehen Die Farbe Tuumlrkisbedeutet dass zwei oder mehrere Berechnungen auf einem Rechner laufen In der dritten

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 31: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 31

Abbildung 34 xpbsmon [13]

Spalte werden aktuelle Informationen angezeigt wie zum Beispiel Fehlermeldungen ([14]S326)

Abbildung 35 xpbsmon-Doppelklick

PBS stellt mittels xpbs (siehe Abbildung 36) eine Benutzeroberflaumlche zur Verfuumlgung welcheden Benutzern erlaubt die einzelnen Queues und Jobs anzusehen und PBS-Kommandosper Mausklick abzusetzen

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 32: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 32

Abbildung 36 xpbs

33 Bewertung von PBS Professional OpenPBS und LSF

Wie im Kapitel 31 besprochen werden Jobmanagement-Systeme durch Queues Schedu-ler Ressourcen-Management Job-Management Dienste und Sicherheit welche das Sys-tem anbietet charakterisiert Anhand von Tabellen werden die jeweiligen Jobmanagement-Systeme verglichen und bewertet

In Tabelle 35 werden Informationen uumlber Hersteller und Webseiten der jeweiligenJobmanagement-Systemen gegeben Desweiteren wird unterschieden zwischen Platt-form Dokumentation und technischem Support

LSF PBS OpenPBSHersteller Platform computing Altair Engeineering Altair EngeineeringWebseiten wwwplatformcom wwwpbsprocom wwwopenpbsorg

Betriebssysteme Linux Linux LinuxSolaris Solaris Solaris

Windows WindowsDokumentation Ja Ja teilweise

Technischer support Ja Ja Nein

Tabelle 35 Jobmanagement-System [16]

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 33: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 33

In Tabelle 36 werden Scheduler-Strategien und Dienste des Schedulers unterschieden

LSF PBS OpenPBSSchedule-Strategien Fairshare Preemption Fairshare Preemption Fairshare

FCFC exklusiv RR FCFC exklusiv RR FCFC exklusivBackfill Ja Ja Nein

Load Balancing Ja Ja Ja

Tabelle 36 Scheduler [16]

In Tabelle 37 wird unterschieden in welchen Zustaumlnden sich die Queues bei laufendemBetrieb befinden koumlnnen und mit welchen wichtigen Konfigurationsattributen sie konfiguriertwerden koumlnnen

LSF PBS OpenPBSBei laufende Betrieb Konfigurien

oumlffnen Schliessen aktivieren und deaktivieren Ja Ja NeinPrioritaumlt Ja Ja Ja

Interaktive Jobs Ja Ja Ja

Tabelle 37 Queue [16]

In Tabelle 38 wird dargestellt welche Sicherheits-Strategien das jeweilige Jobmanagement-System anbietet

LSF PBS OpenPBSAuthentifizierung Ja Ja Ja

Autorisierung Ja Ja JaKerberos Ja Ja Ja

Ausfallsicherheit des Servers Ja Ja Nein

Tabelle 38 Sicherheit [16]

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 34: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 34

In Tabelle 39 wird dargestellt welche Dienste die jeweiligen Jobmanagement-Systeme fuumlreinen laufenden oder wartenden Job (Berechnung) anbieten

LSF PBS OpenPBSCheckpointing Job Migration und Job-Array Ja Ja Nein

Job Calendar Ja Ja JaParallele Jobs Ja Ja Ja

Job-Abhaumlngigkeit Ja Ja JaSuspendResume Ja Ja Nein

Tabelle 39 Job Management [16]

In Tabelle 310 wird gezeigt welche Moumlglichkeiten die Benutzer haben um Ressourcen inAnspruch zu nehmen

LSF PBS OpenPBSBeliebige Ressourcen definierbar Ja Ja Nein

Ressourcen Reservierung Ja Ja NeinDynamischer CPU-Request Ja Ja Nein

Dynamische Ressourcen Ja Ja Nein

Tabelle 310 Ressourcen Management [16]

In Tabelle 311 wird gezeigt welche weiteren Dienste die jeweiligen Jobmanagement-Systeme anbieten

LSF PBS OpenPBSGUI Ja Ja JaAPI Ja Ja Ja

LS-Dyna und HP-MPI Ja Ja NeinUnterstuumltzung fuumlr heterogene Cluster Ja Ja Ja

Multicluster Ja Ja Nein

Tabelle 311 Weitere Dienste [16]

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 35: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

3 Auswahl eines Jobmanagement-Systems 35

34 Auswertung der Auswahl einesJobmanagement-Systems

Alle drei Jobmanagement-Systeme LSF PBS Professional und OpenPBS entsprechen denAnforderungen eines Jobmanagement-Systems Bezuumlglich der Erwartungen an die ver-schiedenen Dienste eines Jobmanagement-Systems gibt es jedoch einige UnterschiedeBetrachtet der Verfasser die Jobmanagement-Systeme ergeben sich beim OpenPBS eini-ge Nachteile Die Nachteile sind die fehlende Windows-Kompatibilitaumlt sowie der fehlendetechnische Support durch den Hersteller (siehe Tabelle 5) Verglichen zu den LSF und PBSSystemen unterstuumltzt das OpenPBS beim Scheduling kein preemptives Scheduling Zudemwird kein Load Balancing unterstuumltzt (siehe Tabelle 6) LSF sowie PBS Professional ermoumlgli-chen bei der Bearbeitung von Queues eine Vielzahl verschiedener Vorgaumlnge die durch dasOpenPBS nicht unterstuumltzt werden (siehe Tabelle 7) Auch bei Betrachtung der Sicherheitfaumlllt auf das OpenPBS im Vergleich zu den anderen Systemen keine Ausfallsicherheit desServers gewaumlhrleistet (siehe Tabelle 8) Beim Job-Management kann das OpenPBS Diens-te wie Checkpointing Job Migration und Job-Array nicht ausfuumlhren (siehe Tabelle 9) Bei derBetrachtung vom Ressourcen-Management faumlllt auf dass das OpenPBS verglichen mit denanderen beiden Systemen uumlber keine Moumlglichkeiten des Ressourcenverwendung verfuumlgt(siehe Tabelle 10) OpenPBS ist ein Open-Source-Code und somit die kostenguumlnstigere Va-riante Wenn die oben besprochenen Punkte nicht relevant sind koumlnnen mittels OpenPBSrelativ groszlige Cluster konstruiert werden Durch die Kriterien die in Kapitel 31 vom Verfas-ser aufgelistet wurden kann kein Unterschied zwischen PBS Professional und LSF erkanntwerden Der Verfasser entscheidet sich fuumlr das PBS da bereits Lizenzen fuumlr diese Softwarezur Verfuumlgung stehen

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 36: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs vonLS-Dyna Berechnungen

Wie in Kapitel 31 diskutiert wurde dienen Jobmanagement-Systeme (PBS) der Abstimmungzwischen den Anforderungen der Anwender nach IT-Ressourcen mit den real verfuumlgbarenMoumlglichkeiten Dies soll dem Unternehmen helfen eine optimale Ressourcenverteilung zuerzielen Was das PBS als Dienst nicht anbietet ist die Vorhersage von CPUrsquos fuumlr einen LS-Dyna Job um dessen optimale Durchlaufzeit zu realisieren Desweiteren muss ein Benut-zer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweisen umJobs starten zu koumlnnen Aufgrund der hier beschriebenen Nachteile ist es erforderlich ei-ne Zuteilungssoftware zu entwickeln Weiterhin benoumltigt das PBS die Anzahl der CPUrsquos undRechner als Eingangsparameter um einen LS-Dyna Job durchfuumlhren zu koumlnnen Die hierbeschriebenen Parameter werden mit Hilfe der entwickelten Zuteilungssoftware an das PBSweitergeleitet Wie in Kapitels 421 Fall eins dargestellt werden die Jobs berechnet ohnedass diese sich den selben Rechner teilen Somit ist es nicht notwendig den Speicherbedarffuumlr einen LS-Dyna-Job an das PBS weiterzuleiten weil die Jobs nicht um den Speicher einesRechners konkurrieren Anhand der LS-Dyna Jobs die dem Verfasser zur Verfuumlgung stehen(siehe Abbildung 22) wird der vom PBS nicht unterstuumltzte Dienst entwickelt (siehe Kapitel5) Weiterhin wird der Inhalt des Kapitels 411 benutzt um die Theorien in Kapitel 412 und42 darzulegen

41 Einfluszlig der CPU

In diesem Kapitel wird anhand der Ausfuumlhrungszeiten der Berechnungen (siehe Kapitel411) und der verschiedenen Scheduling-Algorithmen (siehe Kapitel 22) dargestellt dassdie optimale Auslastung des Clusters nicht nur von Scheduling-Algorithmen abhaumlngig istsondern von der Anzahl der CPUacutes die ein Job (Berechnung) in Anspruch nimmt Hierbeiwerden zwei Szenarien unterschieden die die gleichen Jobs mit unterschiedlicher CPU-Anzahl ausfuumlhren Die hier verwendeten Files werden anhand der Kapitel 421 Fall einsberechnet und bewertet

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 37: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 37

411 LS-Dyna-Inputfile

Bewertung von test_10ms

In Abbildung 41 sind die unterschiedlichen Ausfuumlhrungszeiten des Jobs test_10ms darge-stellt die auf einer Veraumlnderung der CPU-Anzahl beruhen Es ist zu erkennen dass es beieiner Variation der CPU-Anzahl bis 5 zu einer drastischen Reduktion der Rechenzeit kommtZwischen 5 und 40 CPUrsquos kommt es zu einer linearen Reduktion der Rechenzeit die aberdeutlich geringer ausfaumlllt als im vorherigen Abschnitt Bei einer weiteren Erhoumlhung der An-zahl auf uumlber 40 CPUrsquos kommt es zu keiner weiteren Reduktion der Rechenzeit

Abbildung 41 Ausfuumlhrungszeiten von test_10ms

Abbildung 42 stellt die Effizienz in Abhaumlngigkeit von der Anzahl der CPUacutes da Es wird auchhier deutlich dass bei steigendem Ressourceninput die Effizienz abnimmt

Abbildung 42 Effizienz von test_10ms

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 38: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 38

In Abbildung 43 ist zu erkennen dass mit steigender Anzahl an CPUacutes die Speedup-Kurveimmer weiter vom Ideal divergiert

Abbildung 43 Speedup von test_10ms

Bewertung von mat_springbelteddummy

Mat_springbelteddummy ist ein sehr kleiner Job (siehe Ausfuumlhrungszeiten) und somit fuumlrdas Parallelisieren nicht geeignet In Abbildung 44 ist zu erkennen dass sich die Ausfuumlh-rungszeiten mit steigender Anzahl an CPUacutes verschlechtern

Abbildung 44 Ausfuumlhrungszeiten von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 39: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 39

Wie in Abbildung 44 dargestellt steigt die Ausfuumlhrungszeit bei zunehmender CPU-AnzahlDaraus folgt dass die Speedup-Kurve gegen null konvergiert und somit auch die Effizienz(siehe Abbildung 45 und 46)

Abbildung 45 Speedup von mat_springbelteddummy

Abbildung 46 Effizienz von mat_springbelteddummy

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 40: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 40

Bewertung von Audi-A2_Vorderwagen

In Abbildung 47 sind die Ausfuumlhrungszeiten in Abhaumlngigkeit von der Anzahl an CPUacutesdargestellt Es ist ersichtlich dass die Ausfuumlhrungszeit die aus der Benutzung von 16 CPUrsquosresultiert zu einer drastischen Reduktion der Rechenzeit fuumlhrt Weiterhin ist durch Abbildung49 zu erkennen dass ab 16 CPUrsquos die Speedup-Kurve immer weiter vom Ideal abweichtDies hat zur Folge dass die Effizienz-Kurve gegen Null konvergiert (siehe Abbildung 48)

Abbildung 47 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen

Abbildung 48 Effizienz von Audi-A2_Vorderwagen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 41: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 41

Abbildung 49 Speedup von Audi-A2_Vorderwagen

412 Szenarien

Szenario eins

In Tabelle 41 sind drei Prozesse (Jobs) zu sehen deren Ausfuumlhrungszeiten untersuchtwurden sind (siehe Kapitel 411) Diese Jobs werden auf einem Cluster mit 96 CPUacutesberechnet (siehe Kapitel 21) Auf dem Cluster ist PBS installiert (siehe Kapitel 3) Hierbeiwerden die unterschiedlichen Scheduling-Algorithmen von PBS untersucht Desweiterenist die CPU-Anzahl Ankunftszeit und die Bearbeitungszeit eines Jobs in der Tabelle 41dargestellt

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 8 0 sec 223 sec 2039 sec = 20 sec

223 sec = 2 secB = (test_10ms) 56 1 sec 391 sec 2039 sec = 20 sec

391 s = 4 sC = (Audi-A2_Vorderwagen) 44 2 sec 1425 sec 2039 sec = 20 sec

1425 sec = 14 sec

Tabelle 41 Bearbeitungszeiten des Szenarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 42: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 42

Untersuchung der Scheduling-Algorithmen

Die Farben verdeutlichen dass ein Job in diesem Moment ausgefuumlhrt wird

FCFS

Abbildung 410 First-Come First-Served

Die Ausfuumlhrung des FCFS Scheduling-Algorithmus (siehe Abbildung 410) wird anhand derAbbildung 411 verdeutlicht in welcher die Ressourcenauslastung also freie oder arbeitendeCPUacutes sowie die Zustaumlnde der Prozesse wartende und ausfuumlhrende Prozesse dargestelltsind

Abbildung 411 First-Come First-Served Cluster

Durch die steigende und konstante Flanke des gruumlnen Graphen ist zu erkennen dass derProzess C warten muss Durch den Mangel an verfuumlgbaren CPUrsquos ist eine sofortige Bear-beitung zum Zeitpunkt t = 2 sec nicht moumlglich wie durch den lila Graphen dargestellt Beifallender Flanke des gruumlnen Graphen werden ihm seine benoumltigten Ressourcen zugeteilt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 43: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 43

SJF

Anhand der Zeichnung wird deutlich dass SJF (siehe Abbildung 412) eine identischeReihenfolge der Prozessabwicklung liefert wie FCFS (siehe Abbildung 410) Somit ist auchAbbildung 413 mit dem vorherigen Ergebnissen (siehe Abbildung 411) identisch

Abbildung 412 Shortest Job First

Abbildung 413 Shortest Job First Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 44: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 44

RR q = 1

Durch Abbildung 414 wird deutlich dass der Scheduling-Algorithmus RR mit Quantum= 1 viele Prozesswechsel bewaumlltigen muss Hierbei ensteht ein Nachteil Die Durchlaufzeitvon Prozess B liegt bei t = 714 sec In den beiden besprochenen Scheduling-AlgorithmenFCFS und SJF lag die Durchlaufzeit von Prozess B jedoch bei t = 391 sec

Abbildung 414 Round-Robin q=1

Durch Abbildung 415 ist zu sehen dass der RR mit Quantum = 1 ein ineffizienter Algorith-mus fuumlr diese Jobs darstellt da hier Prozess B und C auf die Bearbeitung durch den Clusterwarten muumlssen welches durch die steigende und konstante Flanke des gelben und gruumlnenGraphen dargestellt wird Bei fallender Flanke des gruumlnen bzw gelben Graphens erhaltendie Prozesse ihre benoumltigten Ressourcen

Abbildung 415 Round-Robin q=1 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 45: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 45

RR q = 3

Der Scheduling-Algorithms RR mit Quantum = 3 (siehe Abbildung 416) verhaumllt sich wie RRmit Quantum = 1 mit dem Unterschied dass RR mit Quantum = 3 weniger Prozesswechseldurchfuumlhrt als RR mit Quantum = 1 (siehe Abbildung 414)

Abbildung 416 Round-Robin q=3

Durch Abbildung 417 ist zu sehen dass durch diesen Scheduling-Algorithmus auchProzesse warten muumlssen da nicht ausreichend Ressourcen zur Verfuumlgung stehen

Abbildung 417 Round-Robin q=3 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 46: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 46

RR q = 4

Der Scheduling-Algorithms RR mit Quantum = 4 (siehe Abbildung 418-419) verhaumllt sichwie FCFS und SJF (siehe Abbildung 410-411 und 412-413) welche oben besprochenwurden

Abbildung 418 Round-Robin q=4

Abbildung 419 Round-Robin q=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 47: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 47

Szenario zwei

Hier wird fuumlr die gleichen Jobs eine unterschiedliche Anzahl von CPUacutes verwendet wodurchsich auch die Bearbeitungzeit der jeweiligen Jobs veraumlndert Die Ankunftszeiten bleibengleich (siehe Tabelle 42)

Prozess CPUrsquos Ankunft Bearbeitungszeit Scheduling-ZeitA = (mat_springbelted_dummy) 1 0 sec 6 sec 1753 sec = 20 sec

6 sec = 1 secB = (test_10ms) 7 1 sec 630 sec 1753 sec = 20 sec

630 sec = 7 secC = (Audi-A2_Vorderwagen) 8 2 sec 1117 sec 1753 sec = 20 sec

1117 sec = 12 sec

Tabelle 42 Bearbeitungszeiten des Szenarios zwei

Untersuchung der Scheduling-Algorithmen

FCFS SJF RR q = 1 3 4

Es ist ersichtlich dass bei allen Scheduling-Algorithmen welche in Abbildung 420 dar-gestellt sind die Ausfuumlhrungszeiten kleiner werden als im ersten SzenarioDie Variation des Quantums beim RR (q = 1 3 4) (siehe Abbildung 420) hat keinen Einflussauf die Bearbeitung der Jobs Somit fuumlhren alle drei Quanten zum selben Resultat Auchdas SJF zeigt das gleiche Verhalten wie die beiden oberen Schelduling-Algorithmen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 48: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 48

Abbildung 420 FCFS SJF RR q=1 3 4

Durch Abbildung 421 wird deutlich dass kein Prozess mehr auf Ressourcen warten mussDesweiteren ist zu sehen dass fuumlr die Bearbeitung der drei Jobs durchschnittlich 10 CPUrsquosbenutzt werden Fuumlr die Bearbeitung weiterer Jobs stehen durchschnittlich 86 CPUrsquos zurVerfuumlgung

Abbildung 421 FCFS SJF RR q=1=3=4 Cluster

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 49: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 49

413 Bewertung der Szenarien

Bewertung von Senario eins

In Tabelle 43 sind die Durchschnittszeiten von Szenrio eins zu sehen Die Jobs werdenmit durchschnittlich 43 CPUacutes berechnet Die Anzahl der verfuumlgbaren CPUacutes betraumlgt durch-schnittlich 53 Die Summe der in Anspruch genommenen CPUacutes betraumlgt mehr als 96 CPUacutesweshalb die Jobs gezwungen sind auf Ressourcen (CPUacutes) zu warten Diese Werte geltenfuumlr alle Scheduling-Algorithmen Bei einem preemtiven Scheduling-Algorithmus wie beimRR unter der Verwendung von Quanten eins oder drei sind Prozesswechsel zu erkennenWeiterhin ist aus der Tabelle ersichtlich dass die durchschnittliche Wartezeit von FCFSSJF und RR q = 4 identisch ist RR q = 1 und RR q = 3 haben eine doppelt so groszligedurchschnittliche Wartezeit Auch bei der durchschnittliche Durchlaufzeit ist zu beobachtendass diese fuumlr FCFS SJF und RR q = 4 geringer ausfaumlllt als fuumlr RR q = 1 und RR q = 3

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 7 3 0durchschnittliche 102 sec 102 sec 204 sec 204 sec 102 sec

Wartezeitdurchschnittliche 782 sec 782 sec 890 sec 890 sec 782 sec

Durchlaufzeitdurchschnittliche 53 53 53 53 53

freie CPUrsquosdurchschnittliche 43 43 43 43 43

verbrauchte CPUrsquos

Tabelle 43 Bewertung des Senarios eins

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 50: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 50

Bewertung von Senario zwei

In Szenario zwei werden die Jobs mit durchschnittlich 10 CPUacutes berechnet (siehe Tabelle44) Die Anzahl der verfuumlgbaren CPUrsquos betraumlgt durchschnittlich 86 Die Summe der fuumlrdie drei Jobs in Anspruch genommenen CPUrsquos betraumlgt 16 Dadurch wird erreicht dass dieJobs nicht mehr auf Ressourcen warten muumlssen und direkt bearbeitet werden Bei allenScheduling-Algorithmen ist die durchschnittliche Durchlaufzeit identisch und betraumlgt t=584sec Durch diese Art von Ressourcenverteilung sind die Ziele der Stapelverarbeitungssys-teme die besagen minimiere die Zeit vom Start bis zur Beendigung eines Prozesses undmaximiere die Jobs pro Stunde erfuumlllt (siehe Kapitel 222)

FCFS SJF RR q = 1 RR q = 3 RR q = 4

Prozesswechsel 0 0 0 0 0durchschnittliche 0 sec 0 sec 0 sec 0 s 0 sec

Wartezeitdurchschnittliche 584 sec 584 sec 584 sec 584 sec 584 sec

Durchlaufzeitdurchschnittliche 86 86 86 86 86

freie CPUrsquosdurchschnittliche 10 10 10 10 10

verbrauchte CPUrsquos

Tabelle 44 Bewertung des Senarios zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 51: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 51

42 Einfluszlig von Shared-Memory undMessage-Passing-Multicomputer Systemen

Bezuumlglich des Vergleiches zwischen dem Shared-Memory und dem Message-Passing-Multicomputer System aus Kapitel 235 wird der LS-Dyna Job in zwei Szenarien behan-delt Im ersten Szenario wird ein Job in drei Faumlllen unterschieden In allen drei Faumlllen istdie Anzahl der CPUacutes identisch und die Jobs laufen allein auf den Rechnern des ClustersWenn beispielsweise ein Job mit 32 CPUacutes berechnet wird dann werden im ersten Fall alleCPUacutes eines Rechners belegt Wenn also 32 CPUacutes benoumltigt werden werden 4 Rechner mitjeweils 8 CPUacutes belegt Im zweiten Fall werden 8 Rechner mit 4 CPUacutes belegt und im drittenFall werden 32 CPUacutes auf 11 Rechner verteilt Anhand des zweiten Szenarios wird mit Hilfeeines Beispieles dargestellt wie sich die Ausfuumlhrungszeiten von Jobs unter gleicher Anzahlan CPUacutes aumlndern wenn sich mehrere Jobs die Rechner teilen

421 Isolierte Nutzung der Rechner

Szenario eins

Bewertung von test_10ms

Es ist deutlich zu sehen dass die Ausfuumlhrungszeit im zweiten und dritten Fall geringer aus-faumlllt als im ersten Fall (siehe Abbildung 422) Daraus laumlsst sich folgern dass der Speedupder CPUacutes im zweiten und dritten Fall fast um das doppelte groumlszliger ist als im ersten Fall DieAnzahl der CPUrsquos die im ersten Fall um den BUS konkurrieren betraumlgt 8 Dies fuumlhrt dazudass die CPUrsquos im ersten Fall laumlnger warten muumlssen als im zweiten und dritten Fall

Erster Fall 2 Rechner mit je 8 CPUlsquosZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 422 test_10ms in drei Faumlllen

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 52: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 52

Bewertung von Audi-A2_Vorderwagen

Die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen werden geringer (siehe Abbildung 423)je mehr Rechner zum Einsatz kommen Dabei wird die verwendete Anzahl an CPUrsquos aufdiese Rechner verteilt Somit steigt der Speedup der CPUrsquos

Erster Fall 2 Rechner mit je 8 CPUacutesZweiter Fall 8 Rechner mit je 2 CPUacutesDritter Fall 5 Rechner mit je 2 CPUacutes und 6 Rechner mit je 1 CPU

Abbildung 423 Audi-A2_Vorderwagen in drei Faumlllen

Bewertung von test_240ms

Wie erwartet faumlllt die Ausfuumlhrungszeit im zweiten Fall geringer aus als im ersten Fall (sie-he Abbildung 424) weil die Anzahl der konkurrierenden CPUacutes im zweiten Fall halb sogroszlig ist wie im ersten Fall Die Differenz der Ausfuumlhrungszeiten zwischen dem ersten unddem zweiten Fall betraumlgt 206 sec Die Ausfuumlhrungszeit des dritten Falles ist besser als dieAusfuumlhrungszeit im ersten Fall aber schlechter als die im zweiten Fall Diese Tatsache wi-derspricht der These dass der Speedup der CPUacutes groumlszliger wird wenn weniger CPUacutes aufeinem Rechner um den BUS konkurrieren Dies resultiert daraus dass beim dritten Fall dieAnzahl der Rechner gestiegen ist und dadurch der Kommunikationsaufwand zwischen denCPUrsquos unverhaumlltnismaumlszligig ansteigt

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 53: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 53

Erster Fall 4 Rechner mit 8 CPUacutesZweiter Fall 8 Rechner mit 4 CPUacutesDritter Fall 10 Rechner mit 3 CPUacutes und 1 Rechner mit 1 CPU

Abbildung 424 test_240ms in drei Faumlllen

422 Gemeinsame Nutzung der Rechner

Szenario zwei

Die selben Jobs werden unter fast gleichen Bedingung wie im Fall eins aus Szenarioeins berechnet Der einzige Unterschied besteht darin dass sich in diesem Szenario diedrei Jobs den Rechner des Clusters teilen Also wenn ein Rechner 8 CPUrsquos besitzt dannteilen sich die drei Jobs A B und C die CPUrsquos mit jeweils 4 2 2 Wenn die drei Jobs aufacht Rechner verteilt werden dann wird Job A mit 32 CPUrsquos Job B und C mit jeweils 16CPUrsquos berechnet Durch diese Aufteilung der drei Jobs wird das Verhalten im ersten Fallaus Szenario eins simuliert In diesem Szenario werden die drei Jobs folgendermaszligenberechnet test_240ms wird auf 8 Rechnern mit jeweils 4 CPUacutes berechnet test_10ms undAudi-A2_Vorderwagen werden auf den gleichen 8 Rechnern wie test_240ms mit jeweils 2CPUrsquos berechnet In diesem Szenario werden die Ausfuumlhrungszeiten mit dem ersten Fallaus Szenario eins verglichen und bewertet

Bewertung von Audi-A2_Vorderwagen und test_240ms

Es ist zu erkennen dass die Ausfuumlhrungszeiten von Audi-A2_Vorderwagen und test_240msim ersten Fall aus Szenario eins geringer ausfallen als wenn sie sich den Rechner teilen(siehe Abbildung 425 und 426) In diesem Szenario gibt es einen Nachteil Der Nachteilbesteht darin dass die Berechnungen auf mehrere Rechner verteilt sind Daraus resultiert

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 54: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 54

dass der Nachrrichtenaustausch in diesem Fall laumlnger dauert Um diese Situation zu ver-meiden ist es sinnvoll bei einem Cluster bei dem mehrere Benutzer auf die Ressourcendes Clusters zugreifen die CPUrsquos wie im ersten Fall aus Szenario eins zu belegen Durchdiese Art von Ressourcenverteilung werden die Ziele der Stapelverarbeitungssysteme erfuumlllt

Erster Fall aus Szenario eins 1528 secSzenario zwei 1628 sec

Abbildung 425 Audi-A2_Vorderwagen aus Szenario zwei

Erster Fall aus Szenario eins 3482 secSzenario zwei 3661 sec

Abbildung 426 test_240ms aus Szenario zwei

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 55: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen 55

Bewertung von test_10ms

Von der Theorie ausgehend wird bei test_10ms erwartet dass die Ausfuumlhrungszeit vonFall eins bei Szenario eins geringer ausfaumlllt als bei dem jetzt bertachteten Fall Bei derpraktischen Umsetzung ergibt sich jedoch ein anderes Resultat (siehe Abbildung 427) DieAusfuumlhrungszeiten bei Szenario zwei fallen unerwarteter Weise geringer aus als bei Fall einsvon Szenario eins Der Verfasser begruumlndet dieses Ergebnis mit der sehr geringen Groumlszligedes Jobs Also hoher Kommunikationsaufwand im Verhaumlltnis zur Rechenzeit

Erster Fall aus Szenario eins 444 secSzenario zwei 274 sec

Abbildung 427 test_10ms aus Szenario zwei

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 56: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen

Wie bereits in der Einfuumlhrung erwaumlhnt ist es um den Cluster optimal auszulasten erfor-derlich eine Zuteilungssoftware zu entwickeln die als Schnittstelle zwischen Benutzer undJobmanagement-System agiert Das heiszligt dass die Benutzer ihre Berechnungen der Zu-teilungssoftware uumlbergeben Ab diesem Punkt uumlbernimmt die Zuteilungssoftware die wei-teren Bearbeitungsschritte Die Aufgabe der Zuteilungssoftware ist die optimale Verteilungder Ressourcen zwischen den Benutzern Um dies realisieren zu koumlnnen muss die Zutei-lungssoftware eine Vorhersage uumlber den Ressourcenverbrauch eines Jobs (Berechnung)machen Desweiteren ist notwendig dass die Zuteilungssoftware die Informationen uumlber dieAuslastung des Clusters ermittelt um die freien Rechner fuumlr diesen Job herauszufiltern Auf-grund der Voruntersuchungen in Kapitel 4 kann die geforderte Zuteilungssoftware entwickeltwerden (siehe Kapitel 52)

51 Aufbau des Systems

Das gesamte System besteht aus zwei Servern (siehe Abbildung 51) der BENUT-ZERSERVER der in Abbildung 51a dargestellt ist verwaltet alle Benutzerdateien Der LS-DYNASERVER (siehe Abbildung 51b) ist fuumlr die Durchfuumlhrung der Berechnungen verant-wortlich Auf diesem Server agieren PBS LS-Dyna HP-MPI und das Perl-Skript welchesdie Zuteilungssoftware beinhaltet Die Kommunikation zwischen den zwei Servern wird uumlberdas Netz realisiert

Abbildung 51 Aufbau des Systems

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 57: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 57

52 Zuteilungssoftware

521 Ein und Ausgangsparameter

Die Zuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt (siehe Abbildung 52) Durch den Eingangspa-rameter kann im naumlchsten Schritt die Anzahl an Ressourcen (CPUrsquos) ermittelt werden MitHilfe der ermittelten Ressourcen kann der Ausgangsparameter (Rechner) festgestellt wer-den Hierbei werden die Ressourcen (CPUrsquos) anhand des in Kapitel 421 dargestellten Sze-narios eins Fall eins auf den Ausgangsparameter veteilt Dadurch wird erreicht dass ein Jobauf so wenig Rechner wie moumlglich verteilt wird um alle CPUrsquos der beteiligten Rechner fuumlrdiesen Job in Anspruch zu nehmen Dieser Ansatz fuumlhrt dazu dass die Ausfuumlhrungszeitender Jobs geringer werden Hierbei wird weiterhin davon ausgegangen dass mehrere Jobsden Cluster gleichzeitig in Anspruch nehmen koumlnnen

Abbildung 52 Ein und Ausgangsparameter

522 Vorhersagen von LS-Dyna

In Abbildung 53 wird die Anzahl an CPUrsquos in Abhaumlngigkeit der Vorhersagen von LS-Dynadargestellt Wenn jetzt die Vorhersage von LS-Dyna fuumlr einen neuen Job angewendet wird

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 58: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 58

koumlnnen anhand von Abbildung 53 die Ressourcen fuumlr den neuen Job ermittelt werden Liegtnun die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr den neuen Job zwischen 45000sec und 1500000 sec werden mit Hilfe der Abbildung 53 nun fuumlr diesen neuen Job 32 CPUrsquoszur Verfuumlgung gestellt Dabei beruht Abbildung 53 auf Ergebnisse die durch Abbildung 54entnommen werden Die Anzahl der Ressourcen welche fuumlr die Vorhersage von LS-Dyna

Abbildung 53 Vorhersagen von LS-Dyna

ermittelt wird beruht auf die Auswertung der Rechenzeiten von LS-Dyna Jobs (siehe Abbil-dung 54) Weiterhin kann aus dem Diagramm (siehe Abbildung 54) entnommen werden

Abbildung 54 Ausfuumlhrungszeiten von LS-Dyna Jobs

dass die maximale Ressourcenanzahl die fuumlr die Durchfuumlhrung groumlszligerer Jobs (siehe Aus-fuumlhrungszeiten von test_240 und Chervrolet_S10 ) benoumltigt wird bei 32 CPUrsquos liegen sollte

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 59: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 59

Der Grund liegt darin dass es bei einer weiteren Erhoumlhung der Anzahl auf uumlber 32 CPUrsquoszu keiner bzw einer sehr geringen Reduktion der Rechenzeit kommt Durch diese Art derRessourcenverteilung werden die in Kapitel 412 (siehe Szenario eins) beschriebenen lan-gen Wartezeiten und die ineffiziente Ressourcenverwendung vermieden Daher werden fuumlralle neuen Jobs die im Intervall von 45000 sec und unendlich liegen (siehe Abbildung 53) 32CPUrsquos zur Verfuumlgung gestellt Weiterhin haben kleinere Jobs die im Intervall von 0 bis 10000sec liegen eine houmlhere Prioritaumlt Dass heiszligt sie koumlnnen Jobs die im Bereich von 10000 secund unendlich liegen unterbrechen (siehe Kapitel 221) Dies ist dann der Fall wenn alleRessourcen des Clusters vollstaumlndig ausgeschoumlpft sind

523 Ressourcenverteilung

Anhand von zwei Faumlllen wird gezeigt wie die Ressourcen (CPUrsquos) fuumlr die Jobs zugeteiltwerdenDie Ausfuumlhrungszeiten von Job A betragen fuumlr 88 CPUrsquos 2700 sec und fuumlr 30 CPUrsquos 3400sec (siehe Abbildung 55)Die Ausfuumlhrungszeiten von Job B betragen fuumlr 88 CPUrsquos 2300 sec und fuumlr 30 CPUrsquos 3000sec (siehe Abbildung 55)Job A wird kurz vor Job B zur Bearbeitung an den Cluster geschickt

Abbildung 55 Ressourcen Verteilung

In Fall eins werden beide Jobs mit jeweils 88 CPUrsquos auf einem Cluster der 96 CPUrsquos zurVerfuumlgung hat zur Bearbeitung gesendet (siehe Abbildung 56)

Hier ist Job B gezwungen wegen Ressourcenknappheit zu warten In diesem Fall betraumlgtdie durchschnittliche Durchlaufzeit 3650 sec die durchschnittliche Wartezeit 2500 sec und

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 60: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 60

Abbildung 56 Fall eins Optimierung

die durchschnittlichen freien Ressourcen liegen bei 8 CPUrsquos Im zweiten Fall (siehe Abbil-dung 57) werden beide Jobs mit jeweils 30 CPUrsquos berechnet Hier liegt die durchschnittlicheDurchlaufzeit bei 3200 sec die durchschnittliche Wartezeit bei 0 sec und die durchschnitt-lichen freien Ressourcen liegen bei 36 CPUrsquos Wenn aber davon ausgegangen wird dassnur Job A durch den Cluster bearbeitet werden kann dann ist es sinvoll dass der Job mit88 CPUrsquos berechnet wird um die optimale Durchlaufzeit von Job A zu realisieren Dies istnicht realisierbar da nicht vorhergesagt werden kann wann der naumlchste Job den Clusterin Anspruch nehmen wird Um mehreren moumlglichen Benutzern gerecht zu werden wird dieImplementierung anhand der im Fall zwei beschriebenen Situation realisiert

Abbildung 57 Fall zwei Optimierung

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 61: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 61

524 Arbeitsweise des Algorithmus

Die Vorhersage welche der Algorithmus durchfuumlhrt wird anhand eines Beispiels dargestelltIn Abbildung 58 wird der Verlauf der Ausfuumlhrungszeiten in Abhaumlngigkeit der Anzahl vonunterschiedlichen Jobs dargestellt

Abbildung 58 Ausfuumlhrungszeiten von Job 1 bis 8

Die in Anspruch genommenen Ressourcen fuumlr diese Jobs sind in Abbildung 59 zu sehen

Abbildung 59 Ressourcen Verbrauch von Job 1 bis 8

In Abbildung 59 ist zu erkennen dass fuumlr Job 8 32 CPUrsquos zur Verfuumlgung gestellt wurden

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 62: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 62

Desweiteren werden in Abbildung 510 die Ausfuumlhrungszeiten von Job 8 mit einer unter-schiedlichen Anzahl an CPUrsquos dargestellt Durch die Bewertung der Ressourcen die oben

Abbildung 510 Ausfuumlhrungszeiten von Job 8

analysiert wurde (siehe Kapilel 522 und 523) bekommt Job 8 32 CPUrsquos fuumlr die Abar-beitung zugeteilt Die Vorhersage der Ausfuumlhrungszeit von LS-Dyna fuumlr Job 8 betraumlgt beiEinsatz einer CPU 71188 sec Anhand eines Beispiels wird dargestellt wie die Ressour-cen fuumlr einen neuen Job verteilt werden Wenn jetzt die Vorhersage von LS-Dyna fuumlr einenneuen Job angewendet wird wobei dieser neue Job in etwa mit Job 8 vergleichbar ist dannkann davon ausgegangen werden dass die Berechnung des neuen Jobs mit 32 CPUrsquos amzweckmaumlszligigsten ist da die Ausfuumlhrungszeit die aus der Benutzung von 32 CPUrsquos resultiertzu einer drastischen Reduktion der Rechenzeit fuumlhrt Nach diesem Schema werden alleneuen Jobs bearbeitet Dabei koumlnnen zwei Jobs jedoch niemals vollkommen identisch seinDeshalb wird immer von einer Abweichung ausgegangen die jedoch beim Vergleich mit Job8 unerheblich ist Solange sich die Jobgroumlszlige in einem festgesetzten Intervall bewegt kannein Vergleich zu Job 8 hergestellt werden Sind die verfuumlgbaren Ressourcen des Clustersgeringer als 32 CPUrsquos dann entscheidet der Algorithmus ob der Job die geringe Anzahl anRessourcen bekommt um vom Cluster bearbeitet zu werden oder doch auf die Ressourcenwarten soll da dies fuumlr den Job am zweckmaumlszligigsten ist Diese beschriebene Situation wirdanhand eines Flussdiagramms verdeutlicht (siehe Abbildung 511)

Wie oben besprochen soll Job 8 32 CPUrsquos fuumlr die Bearbeitung bekommen In der erstenVerzweigung wird kontrolliert ob die freien CPUrsquos des Clusters mehr als 27 betragen Solltedies der Fall sein werden dem Job 8 mindestens 28 CPUrsquos zugeteilt Ist die Anzahl der frei-en CPUrsquos des Clusters kleiner 28 gibt es zwei weitere Abfragen der freien CPUrsquos naumlhmlichgroumlszliger 19 und groumlszliger 13 um eine sofortige Bearbeitung durch den Cluster zu ermoumlglichenIst die Anzahl an freien CPUacutes kleiner 14 werden dem Job 8 32 CPUrsquos zugewiesen Da in

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 63: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 63

Abbildung 511 Flussdiagramm

diesem Fall die freien CPUrsquos unter 32 liegen muss Job 8 auf Ressourcen des Clusters war-ten Das Minimum an Ressourcen welche fuumlr Job 8 zur Verfuumlgung gestellt werden betraumlgt14 CPUrsquos Diese Schranke ist vom Verfasser definiert da hier mit einer geringen Anzahl anRessourcen es zu einer deutlichen Reduzierung der Rechenzeit kommt (siehe Ausfuumlhrungs-zeiten von Job 8) Dadurch sind die Ziele der Stapelverarbeitungssysteme die besagenminimiere die Zeit vom Start bis zur Beendigung eines Prozesses und maximiere die Jobspro Stunde erfuumlllt (siehe Kapitel 222)

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 64: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 64

53 Implementierung der Zuteilungssoftware

Die Zuteilungssoftware die mit einem Perl-Skript implementiert wurde wird anhand einesSequenzdiagramms erlaumlutert (siehe Abbildung 512)

Abbildung 512 Implementierung des Algorithmus

Schritt 1 Der Benutzer wechselt in das Verzeichnis indem sein LS-Dyna Inputfile liegtDabei muss das Verzeichnis im HOME-Bereich des Benutzers liegen Weiterhin darf dasVerzeichnis keinen appfile von HP-MPI beinhalten da davon ausgegangen wird dass hiereine Berechnung an PBS geschickt wurde und diese in einer Queue des PBS wartet

Schritt 2 Der Benutzer startet das Perl-Skript

Schritt 3 Das Perl-Skript durchsucht das Verzeichnis welches der Benutzer in Schritt 1ausgewaumlhlt hat nach LS-Dyna Inputfiles Wenn ein oder mehrere Inputfiles vorhanden sinddann wird dies dem Benutzer als Liste ausgegeben Sind keine LS-Dyna Files vorhandenwird dies dem Benutzer mitgeteilt und das Programm wird abgebrochen

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 65: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 65

Schritt 4 In Schritt 4 teilt der Benutzer dem Perl-Skript mit ob er ein LS-Dyna Inputfilezur Berechnung an den Cluster schicken moumlchte oder das Programm beendet werden soll

Schritt 5 Hat sich der Benutzer fuumlr die Berechnung entschieden fordert das Perl-Skriptden Benutzer auf einen Namen fuumlr ein Verzeichnis anzugeben welches vom Perl-Skript er-zeugt wird Das Verzeichnis dient dazu um spaumlter die Ergebnisse von LS-Dyna zu speichern

Schritt 6 Der Benutzer gibt einen Namen fuumlr ein Verzeichnis ein

Schritt 7 Das Perl-Skript erstellt zwei Verzeichnisse fuumlr LS-Dyna Zum Einen ein Verzeich-nis welches die Zwischenergebnisse speichert und zum Anderen ein zweites Verzeichniswelches dazu dient das Endergebnis zu speichern Um schneller zu sein (siehe Kapitel233) werden die beiden Verzeichnisse im LS-DYNASERVER abgelegt und nicht im BE-NUTZERSERVER

Schritt 8 Das Perl-Skript gibt eine Liste zuruumlck die die bisherigen Eingaben des Be-nutzers darstellt Der Benutzer kann sich jetzt entscheiden ob die Berechnung ausgefuumlhrtoder abgebrochen werden soll

Schritt 9 Der Benutzer entscheidet sich fuumlr eine der in Schritt 8 aufgefuumlhrten Alternati-ven

Schritt 10 Das Perl-Skript macht eine Anfrage an LS-Dyna Hierbei benutzt LS-Dynadie SMP Version da diese eine Vorhersage geben kann

Schritt 11 Die bei Schritt 10 ermittelte Vorhersage wird an das Perl-Skript weitergelei-tet

Schritt 12 Um die optimalen Rechner fuumlr die Berechnung herauszufinden setzt sichdas Perl-Skript mit PBS in Verbindung

Schritt 13 Anhand der zuruumlckgegebenen Informationen uumlber die Auslastung des Clus-ters entscheidet das Perl-Skript uumlber die weiteren Schritte fuumlr die Bearbeitung des JobsSind genuumlgend Ressourcen vorhanden sucht das Perl-Skript die Rechner aus die ameffizientesten fuumlr die Abarbeitung des Jobs sind Die Verteilung des Jobs an die Rechnerdes Clusters wird anhand des Kapitels 421 Szenario eins Fall eins dargestellt Dieserbesagt dass die Jobs auf so wenig Rechner wie moumlglich verteilt werden sollen um geringeDurchlaufzeiten der Jobs zu realisieren da davon ausgegangen wird dass mehrere Benut-zer den Cluster in Anspruch nehmen Diese Situation wird in Szenrio zwei des Kapitels 422dargestellt und vom Perl-Skript vermieden

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 66: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 66

Schritt 14 Als naumlchstes wird durch den entwickelten Algorithmus vorhergesagt welcheRessourcen fuumlr diesen Job optimal sind (siehe Kapitel 524)

Schritt 15 Das Perl-Skript benutzt die gespeicherten Informationen (siehe Schritt 4 bisSchritt 14) um die Dateien fuumlr PBS (pbssh) HP-MPI (appfile) und LS-Dyna (pfile names)zu erzeugen Die Dateien werden vom Perl-Skript im Home-Verzeichnis des Benutzersabgelegt

Schritt 16 Das Perl-Skript uumlbergibt dem PBS ein Skript mit dem Befehl (qsub pbssh)eine Kopie des Skriptes pbssh die alle Informationen uumlber Ressourcen Job-Name und denStartvorgang von HP-MPI beinhaltet

Schritt 17 Sind die Ressourcen verfuumlgbar startet PBS HP-MPI Anderenfalls kommtder Job in eine der vordefinierten Queus bis so viele Ressourcen vorhanden sind dass derJob abgearbeitet werden kann

Schritt 18 HP-MPI startet LS-Dyna der fuumlr die Berechnung des Jobs zustaumlndig ist

Schritt 19 LS-Dyna liest das HOME-Verzeichnis des Benutzers nach names (siehe Schritt15) In names sind die Informationen uumlber Jobname und pfile vorhanden In pfile stehen diePfade der beiden Verzeichnisse in der LS-Dyna die Zwischen-und Endergebnisse speichert

Schritt 20 LS-Dyna legt die Zwischen - und Endergebnisse in dem Verzeichnis ab dieim Schritt 7 durch das Perl-Skript erzeugt wurde

Schritt 21 LS-Dyna meldet HP-MPI die Beendigung der Berechnung

Schritt 22 HP-MPI meldet PBS die Beendigung der Berechnung

Schritt 23 PBS meldet dem Perl-Skript die Beendigung der Berechnung

Schritt 24 Das Perl-Skript kopiert das Endergebnis aus dem LS-DYNASERVER

Schritt 25 Das kopierte Endergebnis aus Schritt 24 wird im Homeverzeichnis des Be-nutzers gespeichert aus dem das Perl-Skript gestartet worden ist (siehe Schritt 1)

Schritt 26 Die Zwischen-und Endergebnisse werden aus dem LS-DYNASERVER geloumlschtda die Dateien viel Speicherplatz in Anspruch nehmen

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 67: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

5 Zuweisung von Cluster-Ressourcen 67

54 Bewertung der Zuteilungssoftware

Wie besprochen verwendet die Zuteilungssoftware die Zeitvorhersage von LS-Dyna um dieoptimalen Ressourcen fuumlr einen Job zu ermitteln Dabei liest die SMP-Version von LS-Dynaden Inputfile welcher durch den Benutzer im dritten Schritt uumlbergeben wurde und machteine Vorhersage uumlber die Laumlnge der Ausfuumlhrungszeit fuumlr diesen Job Es kann vorkommendass die SMP-Version von LS-Dyna keine Vorhersage uumlber einen Job machen kann Dies istdann der Fall wenn ein Job mehr als 16 GB Speicherplatz benoumltigt Der Grund hierfuumlr istdass ein Rechner auf dem Cluster nur 16 GB Speicherplatz zur Verfuumlgung hat LS-Dyna holtdiese Information von einem Rechner Die uumlbrigen Rechner werden ignoriert Ein weiterermoumlglicher Grund dafuumlr dass die SMP-Version von LS-Dyna keine Vorhersage uumlber einenJob machen kann liegt darin dass das Inputfile fehlerhaft ist Hier kann die Zuteilungssoft-ware nicht unterscheiden ob das Inputfile fehlerhaft ist oder mehr als 16 GB Speicherplatzbenoumltigt Deswegen werden diese Art von Inputfiles mit 32 CPUrsquos belegt und an das PBSzur Bearbeitung geschickt Wenn das Inputfile fehlerhaft ist dann wird dieser Vorgang durchPBS abgebrochen und der Fehler an den Benutzer geschickt Wenn das Inputfile mehr als16 GB Speicherplatz benoumltigt dann kann dies bearbeitet werden da nun 4 Rechner mit je-weils 16 GB zur Verfuumlgung stehen Sollten alle CPUrsquos des Front-End Servers am Rechnensein kann ein weiteres Problem auftauchen Hierbei kann es vorkommen das der Front-EndServer eins bis zwei Minuten benoumltigt um die Anfragen vom Benutzer zu bearbeiten (Schritt1 bis Schritt 14) Ist der Cluster durch groumlszligere Jobs belegt kann das System kleinere Jobssofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Desweitern erlaubtdie Zuteilungssoftware mit Hilfe der Voruntersuchungen aus Kapitel 4 die optimale Auslas-tung des Clusters Das bedeutet dass die Nachteile die in Kapitel 4 beschrieben wurdendurch die Zuteilungssoftware vermieden werden Um Jobs starten zu koumlnnen muss ein Be-nutzer die Shell-Programmierung und ein Verstaumlndnis fuumlr HP-MPI und LS-Dyna aufweissenMit Hilfe der Zuteilungssoftware bleibt diese dem Benutzer erspart Die Zuteilungssoftwa-re uumlbernimmt die Aufraumlumarbeiten von Dateien die durch LS-Dyna erzeugt wurden und fuumlrBenutzer nicht mehr relevant sind Weiterhin ist die Zuteilungssoftware so aufgebaut dassdie verschiedenen Loumlsungsansaumltze die durch die Methoden implementiert wurden vonein-ander unabhaumlngig sind Somit ist es moumlglich Methoden die nicht mehr gebraucht werdenzu deaktivieren oder neue Methoden die fuumlr ein neues Berechnungsprogramm angewendetwerden zu aktivieren Die Zuteilungssoftware unterstuumltzt die beiden beschriebenen Ansaumltzeaus Kapitel 421 (Isolierte Nutzung der Rechner) und Kapitel 422 (Gemeinsame Nutzungder Rechner) Dabei ist die Methode (Jobs_teilen_die_Rechner) deaktiviert

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 68: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

6 Zusammenfassung

Im Rahmen der Bacheloararbeit wurde in Kapitel 3 uumlber eine Auswahl von Jobmanagement-Systemen diskutiert Durch die Kriterien die vom Verfasser aufgelistet wurden konnte keinUnterschied zwischen PBS Professional und LSF erkannt werden Der Verfasser entschiedsich fuumlr das PBS da bereits Lizenzen fuumlr diese Software zur Verfuumlgung standen Um Jobsstarten zu koumlnnen muss ein Benutzer die Shell-Programmierung und ein Verstaumlndnis fuumlrHP-MPI und LS-Dyna aufweisen Weiterhin werden in Kapitel 4 die grundlegenden Erkennt-nisse zur Optimierung des Clusters thematisiert Es ist ersichtlich geworden dass die op-timale Auslastung des Clusters von der CPU-Anzahl welche durch einen Job in Anspruchgenommen wird und die Aufteilung des Jobs auf die Rechner abhaumlngig ist Diese beschrie-benen Nachteile fuumlhrten dazu dass eine Zuteilungssoftware entwickelt werden musste DieZuteilungssoftware basiert auf der Vorhersage von LS-Dyna Hierbei wird die Vorhersagevon LS-Dyna als Eingangsparameter benutzt um die Anzahl an Ressourcen (CPUrsquos) fuumlr einLS-Dyna Job zu ermitteln

61 Forschungsbedarf

Die Effizienz des Clusters kommt dann zur Geltung wenn ein Job auf mehrere Rechner ver-teilt wird Dadurch wird erreicht dass die Anzahl der CPUrsquos die um den BUS konkurrierengeringer wird da die CPUrsquos auf mehrere Rechner verteilt werden Das hat zur Folge dass derSpeedup der CPUrsquos groumlszliger wird Dieser beschriebene Ansatz wird durch die implementierteZuteilungssoftware nicht unterstuumltzt da davon ausgegangen wird dass der Cluster immervoll ausgelastet ist Wenn davon ausgegangen wird dass der Cluster an manchen Tagennicht voll ausgelastet ist dann ist es sinvoll an diesen Tagen die Jobs auf mehrere Rechnerzu verteilen um die optimale Durchlaufzeit der Jobs zu realisieren Der Verfasser schlaumlgt hiervor die Historie der Auslastung des Clusters uumlber Tage bzw Monate zu speichern Anhandder gespeicherten Informationen soll sich die implementierte Zuteilungssoftware anpassenSomit koumlnnen die beiden oben diskutierten Szenarien unterstuumltzt werden

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 69: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

6 Zusammenfassung 69

62 Fazit

Durch das Jobmanagement-System kann der Cluster fuumlr mehrere Benutzer zur Verfuumlgunggestellt werden Mit Hilfe der Zuteilungssoftware koumlnnen Benutzer bequem ihre Berechnun-gen dem Cluster uumlbergeben Die Zuteilungssoftware ermoumlglicht eine Vorhersage uumlber denRessourcenverbrauch eines Jobs Daraus resultiert dass die durchschnittliche Durchlaufzeitder Jobs minimiert wird Ist der Cluster durch groumlszligere Jobs belegt kann das System klei-nere Jobs sofort dran nehmen um deren optimale Durchlaufzeit zu garantieren Weiterhinist die Zuteilungssoftware so aufgebaut dass die verschiedenen Loumlsungsansaumltze die durchdie Methoden implementiert wurden voneinander unabhaumlngig sind Somit ist es moumlglichMethoden die nicht mehr gebraucht werden zu deaktivieren oder neue Methoden die fuumlr einneues Berechnungsprogramm angewendet werden zu aktivieren

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 70: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Tabellenverzeichnis

31 LSF Queues 2732 LSF Befehle 2733 PBS Queues 2934 PBS Befehle 3035 Jobmanagement-Systeme 3236 Scheduler 3337 Queues 3338 Sicherheit 3339 Job Management 34310 Ressourcen Management 34311 Weitere Dienste 34

41 Bearbeitungszeiten des Szenarios eins 4142 Bearbeitungszeiten des Szenarios zwei 4743 Bewertung des Senarios eins 4944 Bewertung des Senarios zwei 50

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 71: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Abbildungsverzeichnis

21 Cluster der HAW-Hamburg 722 LS-Dyna Jobs 823 nicht-preemptives Scheduling-Verfahren 924 preemptiven Scheduling-Verfahren 1025 First-Come First-Served [2] 1226 Shortest Job First [2] 1327 Round-Robin [2] 1428 Klassifizierung nach Flynn 1529 Klassifikation von Parallelrechnern [3] 16210 Multiprozessorsysteme [2] 17211 UMA-busbasierte SMP-Architekturen [2] 18212 Message-Passing-Multicomputer [2] 19213 Ausfuumlhrungszeiten von test_10msk 19214 Parallele Leistungsmaszlige 20215 CAD und FEM [5] 22216 MPP [18] 23

31 Jobmanagement-Systeme 2532 xlsbatch [8] 2833 xlsbatch-Doppelklick [8] 2834 xpbsmon [13] 3135 xpbsmon-Doppelklick 3136 xpbs 32

41 Ausfuumlhrungszeiten von test_10ms 3742 Effizienz von test_10ms 3743 Speedup von test_10ms 3844 Ausfuumlhrungszeiten von mat_springbelteddummy 3845 Speedup von mat_springbelteddummy 3946 Effizienz von mat_springbelteddummy 3947 Ausfuumlhrungszeiten von Audi-A2_Vorderwagen 4048 Effizienz von Audi-A2_Vorderwagen 4049 Speedup von Audi-A2_Vorderwagen 41

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 72: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Abbildungsverzeichnis 72

410 First-Come First-Served 42411 First-Come First-Served Cluster 42412 Shortest Job First 43413 Shortest Job First Cluster 43414 Round-Robin q=1 44415 Round-Robin q=1 Cluster 44416 Round-Robin q=3 45417 Round-Robin q=3 Cluster 45418 Round-Robin q=4 46419 Round-Robin q=4 Cluster 46420 FCFS SJF RR q=1 3 4 48421 FCFS SJF RR q=1=3=4 Cluster 48422 test_10ms in drei Faumlllen 51423 Audi-A2_Vorderwagen in drei Faumlllen 52424 test_240ms in drei Faumlllen 53425 Audi-A2_Vorderwagen aus Szenario zwei 54426 test_240ms aus Szenario zwei 54427 test_10ms aus Szenario zwei 55

51 Aufbau des Systems 5652 Ein und Ausgangsparameter 5753 Vorhersagen von LS-Dyna 5854 Ausfuumlhrungszeiten von LS-Dyna Jobs 5855 Ressourcen Verteilung 5956 Fall eins Optimierung 6057 Fall zwei Optimierung 6058 Ausfuumlhrungszeiten von Job 1 bis 8 6159 Ressourcen Verbrauch von Job 1 bis 8 61510 Ausfuumlhrungszeiten von Job 8 62511 Flussdiagramm 63512 Implementierung des Algorithmus 64

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 73: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Literaturverzeichnis

Buchreferenzen

[1] Moumlller Dietmar Rechnerstrukturen Springer-Verlag 2002

[2] Tanenbaum Andrew S Moderne Betriebssysteme Pearson Studium 2002

[3] Oberschelp Waltern VossenGottfied Rechneraufbau und RechnerstrukturenOldenbourg-Verlag 2003

[4] Schumacher Axel Optimierung mechanischer Strukturen Springer-Verlag 2004

[5] Klein Bernd FEM Vieweg+Teubner Verlag 2007

[6] Stallings William Betriebssysteme Pearson Studium 2005

Artikelreferenzen

[7] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 54httpwwwmtacatorchpdfpbspro54pbsproag_5_4_0pdf-Aktualisierungsdatum 20040211

[8] Platform Computing Corporation (Hrsg) LSF Batch Userrsquos Guidehttpls11-wwwinformatikuni-dortmunddepeoplehermesmanualsLSFuserspdf-Aktualisierungsdatum 19980801

[9] Platform Computing Corporation (Hrsg) Administering Platform LSFhttpwwwqubacukdirectoratesmediaMedia54678enpdf-Aktualisierungsdatum April 2006

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 74: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Literaturverzeichnis 74

[10] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 53httphelpchemupennedudocspbsproPBSproUG_53pdf-Aktualisierungsdatum 20030307

[11] Christine Otto Thomas Sesselmann Analyse und Testunterschiedlicher Grid-und Clusersysteme zum verteilten RechnenTechnische Universitaumlt Ilmenau Wintersemester 20032004

[12] Guumlnther Lange Bundesanstalt fuumlr Wasserbau-Dienststelle HamburgSupercomputing News Dezember 2002

[13] Christine Baun Analyse vorhandener Grid-Technologienzur Evaluation eines Campus Grid an der Hochschule MannheimHochschule Mannheim Fakultaumlt fuumlr Informatik Wintersemester 2005

[14] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-Administrator Guide 92

[15] Altair GRID TECHNOLOGIES (Hrsg) PBS PRO-User Guide 92

[16] Bernward Platz LSF OpenPBS und GridEngine Jobmanagement-Systeme im Ver-gleich Linux Magazin Mai 2002

Web-Quellen

[17] CADFEM-Homepagehttpwwwcadfemdeproduktels-dynahtml Stand von 24032009

[18] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002bStand von 24032009

[19] LSTC-Homepagehttpwwwlstccomlsdynahtm Stand von 23032009

[20] Platform-HomepagehttpwwwplatformcomProductsplatform-lsftechnical-informationStand von 23032009

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 75: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Literaturverzeichnis 75

[21] CADFEM-Homepagehttpwwwcadfemdeseminareinformationstagehtmltx_cfseminar_pi1[single]=2860ampcHash=1ef7b7002b Stand von 24032009[22] clucon-Homepage Jobmanagement-Systeme im Vergleichhttpwwwcluconde Stand von 02042009

[23] PBS-Homepagehttpwwwpbsprocom Stand von 02042009

[24] OpenPBS-Homepagehttpwwwopenpbsorg Stand von 02042009

[25] LSF-Homepagehttpwwwplatformcom Stand von 02042009

[26] NATIONAL CRASH ANALYSIS CENTER-Homepagehttpwwwncacgwuedu Stand von 02042009

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 76: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Anhang

Die Tabelle zeigt den Inhalt der beigefuumlgten CD

Verzeichnis Inhalt des VerzeichnissesZuteilungssoftware Beinhaltet die implementierte Zuteilungssoftware

PBS Beinhaltet zwei Verzeichnisse von PBS (PBS_EXEC PBS_HOME)und eine PDF-Datei (Konfiguration) der die wichtigen Punkte

der Konfiguration von PBS erlaumlutertLS-Dyna Jobs Beinhaltet alle LS-Dyna Jobs mit ihren

Inputs Outputs und AusfuumlhrungszeitenBachealor Beinhaltet die Bachealoararbeit als PDF und Latex

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 77: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Abkuumlrzungsverzeichnis

API Application Programming Interface

BUS Binary Unit System

CAD Computer Aided Design

CPU Central Processing Unit

FCFS First-Come First-Served

FEM Finite Element Methode

GUI Graphical User Interface

HP-MPI Hewllett-Packard-Message Passing Interface

IGES Initial Graphics Exchange Specification

LS-Dyna Livermore Software-Dyna

LSF Load Sharing Facility

LSTC Livermore Software Technology Corporation

MISD Multiple Instruction - Single Data

MIMD Muliple Instruction - Multiple Data

MPP Massively Parallel Processing

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 78: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

RAM Random Access Memory

RR Round-Robin

SIMD Single Instruction - Multiple Data

SISD Single Instruction - Single Data

SJF Shortest Job First

SMP Symmetrisches Multiprozessorsystem

SNMP Simple Network Management Protocol

SRTN Shortest Remaining Time Next

STEP Standard for the Exchange of Product Model Data

PBS Portable Batch System

UMA Uniform Memory Acces

WAN Wide Area Network

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 79: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Glossar

Algorithmus ist eine genau definierte Handlungsvorschrift zur Loumlsung eines Problems inendlich vielen Schritten

Authentifizierung ist der Vorgang der Uumlberpruumlfung einer behaupteten Identitaumlt beispiels-weise Eine Person oder eines Objekts wie beispielsweise eines Computersystems

Autorisierung bezeichnet die Zuweisung und Uumlberpruumlfung von Zugriffsrechten auf Da-ten und Dienste an Systemnutzer Die Autorisierung erfolgt meist nach einer erfolgreichenAuthentifizierung

Application Programming Interface (API) ist eine Programmierschnittstelle die voneinem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfuumlgunggestellt wird

Backfill ist ein Scheduling-Algorithmus fuumlr die Optimale Ausnutzung des Clusters durchAuffuumlllen von Luumlcken

BUS ist in der Datenverarbeitung ein Leitungssystem mit zugehoumlrigen Steuerungskompo-nenten das zum Austausch von Daten undoder Energie zwischen Hardware-Komponentendient

Cache bezeichnet in der Informatik eine Methode um Inhalte die bereits einmal vorlagenbeim naumlchsten Zugriff schneller zur Verfuumlgung zu stellen Caches sind als Puffer-Speicherrealisiert die die Kopien zwischenspeichern Sie koumlnnen als Hardware- oder Softwarestruk-tur ausgebildet sein

Central Processing Unit (CPU) ist die zentrale Verarbeitungseinheit eines Computersdie in der Lage ist ein Programm auszufuumlhren

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 80: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Checkpointing speichert eine laufenden Job Ein Job kann mittels eines Kommandoseinmalig Oder auch periodisch checkpointed werden

Cluster bezeichnet eine Anzahl von vernetzten Computern die von auszligen als ein Computergesehen werden koumlnnen

Harvard-Architektur bezeichnet in der Informatik ein Schaltungskonzept zur Realisie-rung besonders schneller CPUs und Signalprozessoren Der Befehlsspeicher ist physischvom Datenspeicher getrennt und beide werden uumlber getrennte Busse angesteuert DerVorteil dieser Architektur besteht darin dass Befehle und Daten gleichzeitig geladen bzwgeschrieben werden koumlnnen

Heterogene Cluster koumlnnen unterschiedliche Betriebssysteme oder Hardware einge-setzt werden

InfiniBand ist eine Spezifikation zur Beschreibung einer seriellen Hochgeschwindigkeits-uumlbertragungstechnologie

Job Arrays ist ein Zusammenfassung von Jobs die sich nur durch einer Indexparame-ter Unterscheiden

Job Migration Unterbrechung laufende Prozesse den Transfer auf einen anderen Rechnerund die Wiederaufnahme

Kerberos ist ein verteilter Authentifizierungsdienst (Netzwerkprotokoll) der fuumlr offene undunsichere Computernetze (zum Beispiel das Internet) zur Authentifizierung entwickelt wurde

Load Balancing es kann vorkommen dass ein Rechner uumlberlastet ist waumlhrend ande-re warten oder nur schwach ausgelastet sind Das System kann einen oder mehrere Jobs(Berechnung) am uumlberlasteten Rechner Checkpointen und diese Jobs an anderen Rechnerweiter laufen lassen

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 81: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

LoadStore-Architektur ist eine Computerarchitektur deren Befehlssatz Daten-Speicherzugriffe ausschlieszliglich mit speziellen Lade- (Load) und Speicher- (Store) Befehlenerlaubt

Message Passing Interface (MPI) ist ein Standard der den Nachrichtenaustausch beiparallelen Berechnungen auf verteilten Computersystemen beschreibt

Massively Parallel Processing (MPP) bezeichnet in der Informatik die Verteilung einerAufgabe auf mehrere Hauptprozessoren die jeweils auch uumlber eigenen Arbeitsspeicherverfuumlgen koumlnnen

Symmetrisches Multiprozessorsystem (SMP) ist eine Multiprozessor-Architektur beider zwei oder mehr identische Prozessoren einen gemeinsamen Adressraum besitzen

Simple Network Management Protocol (SNMP) ist ein Netzwerkprotokoll um Netz-werkelemente zB Router Server Switches Drucker Computer usw von einer zentralenStation aus Uumlberwachen und steuern zu koumlnnen

Random Access Memory (RAM) ist ein Speicher der besonders bei Computern alsArbeitsspeicher Verwendung findet

Prozess ist in der Informatik ist ein ablaufendes Programm

Prozessor ist eine Maschine oder eine elektronische Schaltung welche gemaumlszlig uumlber-gebener Befehle andere Maschinen oder elektrische Schaltungen steuert Am populaumlrstensind Prozessoren als zentrale Recheneinheiten von Computern in denen sie Befehle vonSoftware ausfuumlhren

Von-Neumann-Architektur ist ein Referenzmodell fuumlr Computer wonach ein gemein-samer Speicher sowohl Computerprogrammbefehle als auch Daten haumllt

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis
Page 82: Bachelorarbeit im Studiengang Angewandte Informatik der ...edoc.sub.uni-hamburg.de/haw/volltexte/2009/848/pdf/Bachelorarbeit.pdf · Fakultät Technik und Informatik Faculty of Engineering

Versicherung uumlber Selbststaumlndigkeit

Hiermit versichere ich dass ich die vorliegende Arbeit im Sinne der Pruumlfungsordnung nachsect24(5) ohne fremde Hilfe selbststaumlndig verfasst und nur die angegebenen Hilfsmittel benutzthabe

Hamburg 4 Mai 2009Ort Datum Unterschrift

  • 1 Einfuumlhrung
    • 11 Motivation und Einordnung der Arbeit
    • 12 Themenbeschreibung und Themenabgrenzung
    • 13 Ziel der Arbeit
      • 2 Grundlagen
        • 21 Hard und Software
        • 22 Scheduling-Algorithmen
          • 221 Preemptives und nicht-preemptives Scheduling-Verfahren
          • 222 Kategorien von Scheduling-Algorithmen
          • 223 Scheduling in Stapelverarbeitungs-Systemen
          • 224 Scheduling in interaktiven Systemen
            • 23 Parallelrechner
              • 231 Klassifizierung nach Flynn
              • 232 Klassifikation von Parallelrechnern
              • 233 Multiprozessorsysteme
              • 234 Uniform Memory Acces (UMA)-busbasierte Symmetrische Multiprozessoren (SMP)-Architekturen
              • 235 Vergleich zwischen Shared-Memory-Multiprozessor und Message-Passing-Multicomputer
                • 24 Parallele Leistungsmaszlige
                • 25 Finite Element Methode (FEM)
                  • 251 CAD und FEM
                    • 26 LS-Dyna
                      • 261 Anwendungsgebiete von LS-Dyna
                          • 3 Auswahl eines Jobmanagement-Systems
                            • 31 Erwartungen an ein Jobmanagement-System
                            • 32 Jobmanagement-Systeme
                              • 321 Load Sharing Facility (LSF)
                              • 322 OpenPBS Portable Batch System
                                • 33 Bewertung von PBS Professional OpenPBS und LSF
                                • 34 Auswertung der Auswahl eines Jobmanagement-Systems
                                  • 4 Analyse des Ressourcen-Bedarfs von LS-Dyna Berechnungen
                                    • 41 Einfluszlig der CPU
                                      • 411 LS-Dyna-Inputfile
                                      • 412 Szenarien
                                      • 413 Bewertung der Szenarien
                                        • 42 Einfluszlig von Shared-Memory und Message-Passing-Multicomputer Systemen
                                          • 421 Isolierte Nutzung der Rechner
                                          • 422 Gemeinsame Nutzung der Rechner
                                              • 5 Zuweisung von Cluster-Ressourcen
                                                • 51 Aufbau des Systems
                                                • 52 Zuteilungssoftware
                                                  • 521 Ein und Ausgangsparameter
                                                  • 522 Vorhersagen von LS-Dyna
                                                  • 523 Ressourcenverteilung
                                                  • 524 Arbeitsweise des Algorithmus
                                                    • 53 Implementierung der Zuteilungssoftware
                                                    • 54 Bewertung der Zuteilungssoftware
                                                      • 6 Zusammenfassung
                                                        • 61 Forschungsbedarf
                                                        • 62 Fazit
                                                          • Tabellenverzeichnis
                                                          • Abbildungsverzeichnis
                                                          • Literaturverzeichnis