Masterarbeit Abschlussvortrag Martin Görick, Betreuer: Barry Linnert Erstgutachter: Prof. Dr. Lutz Prechelt Zweitgutachter: Prof. Dr.-Ing. Jochen Schiller Freie Universität Berlin 26.01.2017
Master thesis Entwicklung eines Verwaltungssystem für Cluster, auf welchem virtuelle Maschinen und High-Performance- Computing-Anwendungen gemeinsam ausgeführt werden. FU Berlin, Masterarbeit Abschlussvortrag, 2
Inhalt Definitionen, Motivation und Ziele Anforderungen, Umsetzung, Probleme, Fazit und Ausblick FU Berlin, Masterarbeit Abschlussvortrag, 3
virtuelle Maschine (VM) Eine virtuelle Maschine ist ein effizientes, isoliertes Duplikat einer realen Maschine. [9] FU Berlin, Masterarbeit Abschlussvortrag, 4
Hypervisor Typen Abbildung: Typen von Hypervisoren [1] FU Berlin, Masterarbeit Abschlussvortrag, 5
High-Performance-Computing (HPC) Durchführen von komplexen Berechnungen nicht effizient ausführbar auf typischen Desktop Computern Abbildung: [5] FU Berlin, Masterarbeit Abschlussvortrag, 6
Cluster Die grundlegende Form ist ein System aus zwei oder mehr Computern oder Systemen (Knoten genannt), welche eine Anwendung ausführen oder andere Aufgaben. Dabei ist das System transparent, also für einen Außenstehenden sieht es aus, als wenn er nur mit einer Ressource arbeitet. Die Schlüsselmerkmale sind dabei Zuverlässigkeit, Verteilung der Auslastung und die Performance. [7] FU Berlin, Masterarbeit Abschlussvortrag, 7
Cluster Typen High-Availability- oder Failover-Cluster Load-Balance-Cluster Cluster für VM-Nutzung Hypervisor HPC-Cluster extra Kommunikationsnetzwerk Abbildung: ZIB Cluster [6] FU Berlin, Masterarbeit Abschlussvortrag, 8
Motivation VirtualServer - Fachbereich Mathematik & Informatik und Physik [4] 9 Virtualisierungsserver Druckserver, Terminalserver, DNS-Server uvm. Test- und Entwicklungsysteme HPC-Cluster allegro [3] 69 Knoten FU Berlin, Masterarbeit Abschlussvortrag, 9
HPC in VMs Overhead durch Virtualisierungsschicht Test von VMWare 5% bis 10% Overhead [2] GPU-Computing Sicherheitsrisiko - mehrere VMs eine GPU [8] FU Berlin, Masterarbeit Abschlussvortrag, 10
verwendete Software OpenStack Slurm VMs in Projekte unterteilt Knoten in Zonen unterteilt Starten und Verteilen der HPC-Jobs Unterteilung der Knoten im Cluster in Partitionen Verwaltung der Jobs in Warteschlangen pro Partition FU Berlin, Masterarbeit Abschlussvortrag, 11
Ziele Prototyp entwickeln VM-Verwaltung ansprechen HPC-Verwaltung ansprechen Machbarkeit der Kombination mittels Tests zeigen oder widerlegen FU Berlin, Masterarbeit Abschlussvortrag, 12
Inhalt Definitionen, Motivation und Ziele Anforderungen, Umsetzung, Probleme, Fazit und Ausblick FU Berlin, Masterarbeit Abschlussvortrag, 13
Voraussetzungen HPC-Anwendungen priorisiert exklusiver Bereich nur für virtuelle Maschinen FU Berlin, Masterarbeit Abschlussvortrag, 14
Anforderungen an den Prototypen Cluster verwalten Information der virtuellen Maschinen ermitteln HPC-Jobinformationen ermitteln HCP-Jobinformationen analysieren virtuellen Maschinen verschieben Knoten für HPC-Jobs vorbereiten Knoten wieder für VMs zur Verfügung stellen FU Berlin, Masterarbeit Abschlussvortrag, 15
Cluster verwalten Knoten für HPC-Nutzung Knoten für VM-Nutzung exklusive Knoten für VMs Knoten aus HPC-Verwaltung entfernen FU Berlin, Masterarbeit Abschlussvortrag, 16
Informationen der VMs ermitteln Knoten / Hypervisor aktueller Zustand FU Berlin, Masterarbeit Abschlussvortrag, 17
HPC-Jobinformationen ermitteln verwendete Knoten Zeitpunkt des Startes voraussichtlicher Endzeitpunkt FU Berlin, Masterarbeit Abschlussvortrag, 18
Analysieren der HPC-Jobinformationen I Abbildung: Beispiel eines Aufbaus der Events zu Knotenstruktur FU Berlin, Masterarbeit Abschlussvortrag, 19
Analysieren der HPC-Jobinformationen II Abbildung: Aufbau der freien Zeiten zur Knotenstruktur FU Berlin, Masterarbeit Abschlussvortrag, 20
Analysieren der HPC-Jobinformationen - Timer HPC Check Timer Free VM Node Timer Free HPC Node Timer FU Berlin, Masterarbeit Abschlussvortrag, 21
Verschieben von virtuellen Maschinen Abbildung: klassische Migration Abbildung: Live-Migration FU Berlin, Masterarbeit Abschlussvortrag, 22
Vorbereiten der Knoten für HPC-Jobs Knoten aus VM-Verwaltung entfernen Knoten von laufenden VMs befreien FU Berlin, Masterarbeit Abschlussvortrag, 23
Knoten wieder für VMs zur Verfügung stellen Knoten der VM-Verwaltung hinzufügen (VM wieder verteilen) FU Berlin, Masterarbeit Abschlussvortrag, 24
HIVICMA Abbildung: Aufbau des Prototyps FU Berlin, Masterarbeit Abschlussvortrag, 25
Testsystem Abbildung: Aufbau des Testclusters FU Berlin, Masterarbeit Abschlussvortrag, 26
Tests HPC-Modul Tests VM-Modul Tests Kombinationstests Timer erstellen Umsetzung der Timer FU Berlin, Masterarbeit Abschlussvortrag, 27
Beispiel Testsablauf Abbildung: Beispielaufbau der Tests FU Berlin, Masterarbeit Abschlussvortrag, 28
Auftretende Probleme HPC-Jobinformtionen Knoten beim Starten angeben mit Parameter nodelist Startpunkt angeben mit Parameter begin=yyyy-mm-dd[thh:mm[:ss]] Endzeitpunkt mit Angabe der maximalen Dauer eines Jobs optionale Lösung: Arbeiten mit Reservations von Slurm Administrationsrechte zum Manipulieren der Knoten von Slurm FU Berlin, Masterarbeit Abschlussvortrag, 29
Fazit Anforderungen erfüllt Testsystem sehr klein Einschränkung beim Starten eines Jobs bei Slurm kein Beachten der Hardwareanforderungen für HPC-Anwendungen weitgehend autonom von Benutzern Knoten für exklusive VM-Nutzung Zeiten für Timer FU Berlin, Masterarbeit Abschlussvortrag, 30
Ausblick größeres Cluster reale HPC-Anwendungen mehrere VMs andere Speicherstrukturen notwendig? dynamisches Anpassen der Zeiten der Timer FU Berlin, Masterarbeit Abschlussvortrag, 31
Letzte Seite Fragen? FU Berlin, Masterarbeit Abschlussvortrag, 32
Quellenangabe I [1] Much ado about type-2. https://microkerneldude.wordpress.com/ 2010/10/14/much-ado-about-type-2/, October 2010 (besucht Dezember 2016). [2] Virtualizing hpc and technical computing with vmware vsphere. Technical report, Physics Labortory, John Hopkins University, 2016. [3] Fachbereich Mathematik und Informatik der Freie Universität Berlin, allegro. http://www.allegro.imp.fu-berlin.de/, (besucht Dezember 2016). [4] Virtuelle Server Service des Fachbereich Mathematik und Informatik der Freie Universität Berlin. http://www.mi.fu-berlin.de/w/it/itservicesvirtualserver, (besucht Dezember 2016). [5] Zedat High-Performance Computing. https://www.zedat.fu-berlin.de/hpc/home, (besucht Dezember 2016). FU Berlin, Masterarbeit Abschlussvortrag, 33
Quellenangabe II [6] Norddeutsche Verbund für Hoch- und Höchstleistungsrechnen (HLRN). https://www.hlrn.de/home/view/system3/crayhardware, (besucht Januar 2017). [7] Pravin Ganore. Cluster Computing: Definition and Architecture of a Cluster. https://www.esds.co.in/blog/cluster-computing-definition-andarchitecture-of-a-cluster/, März 2014 (besucht Dezember 2016). [8] Clémentine Maurice, Christoph Neumann, Olivier Heen, and Aurélien Francillon. Confidentiality issues on a GPU in a virtualized environment. In FC 2014, 18th International Conference on Financial Cryptography and Data Security, 3-7 March 2014, Barbados, Barbados, BARBADOS, 03 2014. FU Berlin, Masterarbeit Abschlussvortrag, 34
Quellenangabe III [9] Gerald J. Popek and Robert P. Goldberg. Formal requirements for virtualizable third generation architectures. Commun. ACM, 17(7):412 421, 1974. FU Berlin, Masterarbeit Abschlussvortrag, 35