> Heterogenität in verteilten Rechensystemen Seminar im SS 2012 Prof. Sergei Gorlatch, Philipp Kegel, Dominique Meiländer 27. Januar 2012 Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster
Inhalte 2 1 Einführung 2 Themen 3 Anforderungen und Ziele 4 Fristen und Termine
Verteiltes Rechnersystem 3 Definition Ein verteiltes System ist eine Menge voneinander unabhängiger Computer, die dem Benutzer wie ein einzelnes, kohärentes System erscheinen. Wichtige Eigenschaften Unterschiede zwischen den Computern, Kommunikation und interne Organisation bleiben dem Nutzer verborgen (Transparenz) Benutzer und Applikationen können verteilte Systeme auf konsistente und einheitliche Weise nutzen Einfache Erweiterbarkeit oder Skalierbarkeit Verfügbarkeit; auch wenn Teile ausfallen
Heterogenität 4 Heterogene Systeme Heterogenität beschreibt die Eigenschaft eines Systems aus einer Vielzahl unterschiedlicher Teile zu bestehen. Heterogene verteilte Rechnersysteme (auch heterogene Multicomputer) bestehen aus unterschiedlichen unabhängigen Computern, die wiederum über unterschiedliche Netzwerke miteinander verbunden sind. Herausforderungen Keine globale Systemsicht, d. h. nicht überall gleiche Leistung und Dienste verfügbar Komplizierte Software erforderlich, um Applikationen für heterogene Multicomputer zu erstellen Beachte: Auch Anwendungen können heterogen sein (unterschiedliche Laufzeiten, sich stetig ändernde Anforderungen, etc.)
Ablauf 5 Aufgaben 1 Schriftliche Ausarbeitung 2 Vortrag Vorgehen: Einarbeitung in die Funktionsweise von Software für heterogene verteilte Rechensysteme Vorstellung besonderer Merkmale sowie Vor- und Nachteile der jeweiligen Software Praktische Arbeit falls möglich Implementierung eines selbst gewähltes Beispielprogramms zur Evaluation der untersuchten Software, z. B. parallele Berechnung einer Mandelbrotmenge, parallele Sortieralgorithmen, etc. Installation und Analyse eines bestehendes Beispielprogramms
Themen 6 Parallel Virtual Machine (PVM) Software zur Verbindung verschiedener Unix- und Windows-Rechner über ein Netzwerk Alle Rechner zusammen werden wie ein einzelner großer Parallelrechner verwendet Zahlreiche Implementierungen, De-facto-Standard Parallel Global Address Space (PGAS) Low-level Programmiermodell für verteilte Systeme Alle Speicher der einzelnen Computer werden über gemeinsamen Adressraum zusammengefasst Grundlage zahlreicher Programmiersprachen, z. B. Unified Parallel C
Themen 7 Intel Array Building Blocks (ArBB) C++-Bibliothek zur Programmierung von Multicore-CPU, GPU, und Intel MIC Einheitliches vektor-basiertes Programmiermodell für datenparallele, mathematische Berechnungen Hervorgegangen aus Intel Ct und Rapidmind; Teil der Parallel Building Blocks Heterogene Performance von Ressourcen in Cloud-Systemen Mehrere Cloud-Ressourcen (virtuelle Maschinen) teilen sich dieselbe physikalische Hardware gegenseitige Beeinflussung in der Performance Analyse und Vorhersage der Performance Praktische Experimente zur Veranschaulichung der heterogenen Performance
Themen Traffic-Management in heterogenen Netzwerken mit OpenFlow Heterogene Netzwerkressourcen zur Steuerung des Datenverkehrs (Switch, Router, Access Point) mit unterschiedlicher Leistung in modernen Netzwerken Dynamische Steuerung des Netzwerkverkehrs durch OpenFlow zur Entlastung von überlasteten Ressourcen und Optimierung der Übertragungsgeschwindigkeit Anwendungsbereich: Mobile Devices Praktische Experimente in simuliertem OpenFlow-Netzwerk Management heterogener Anwendungen mit Entropy Entropy Ressourcen-Management-System optimiert Nutzung eines verteilten Rechensystems für heterogene Anwendungen unterschiedliche Laufzeiten, sich stetig ändernde Anforderungen, etc. Konsolidierung laufender Anwendungen zwecks optimierten Ressourcennutzung Dynamische Migration laufender Anwendungen zwecks Vermeidung von Überlast-Szenarien 8
Ziele 9 Das Seminar verfolgt zwei Ziele: 1 Erlernung der Techniken zur selbständigen Verarbeitung und Präsentation (schriftlich und mündlich) von nicht-trivialem Stoff (dient der/dem Vortragenden) 2 Vermittlung des Stoffes für die Seminarteilnehmer Am Ende des Seminars soll jeder Teilnehmer...... einen Überblick über moderne Architekturen und Programmiermodelle für heterogene verteilte Rechensysteme haben... detaillierte Kenntnisse zu einem Architekturkonzept/Programmiermodell besitzen... eine gute Note für ein gutes Ergebnis erhalten ;-)
Anforderungen: Schriftliche Ausarbeitung 10 Sprache (Ausarbeitung, Folien und Vortrag) ist Deutsch oder Englisch. Umfang: 12 15 Seiten (zzgl. Anhang) Abgabe in gedruckter (doppelseitiger Druck, gebunden) und elektronischer (PS- oder PDF-Datei) Form beliebiges Textverarbeitungsprogramm verwendbar Empfehlung: L A TEX mit passender IDE, z.b. Kile oder TeXnicCenter ZAK-Leitfaden auf Website verlinkt
Anforderungen: Vortrag 11 Vortragsdauer: max. 30 Minuten (inklusive Fragen) Mit Zwischenfragen rechnen (wir werden kritische Zuhörer sein) Vortrag üblicherweise mit Notebook und Beamer. Andere Präsentationsform nach Rücksprache möglich. Umfang: ca. 15 Folien Faustregel: 2 3 Minuten je Folie Abgabe der Vortragsfolien in elektronischer Form (PS- oder PDF-Datei) Leitfaden auf Website verlinkt (Ian Parberry)
Hilfsmittel 12 Fürs Programmieren Der eigene Rechner mit Multicore-CPU und GPU IDE: Eclipse oder Visual Studio (je nach Programmiersprache) Linux (empfohlen) oder Windows Für Messungen Parallelrechner der Arbeitsgruppe PVS Netzwerklabor der Arbeitsgruppe PVS Parallelrechner des ZIV (PALMA) andere Parallelrechner des FB 10, z.b. die SCHAF-Rechner Details teilt der Betreuer mit
Fristen und Termine 13 29.01.2012: Anmeldeschluss 30.01.2012: Platzvergabe 25.03.2012: Kommentierte Gliederung & Quellenübersicht 29.04.2012: 1. Abgabe der Ausarbeitung 28.05.2012: Finale Abgabe der überarbeiteten Ausarbeitung 1. Abgabe der Vortragsfolien 17.06.2012: Finale Abgabe der überarbeiteten Vortragsfolien 22.06.2012: Abschluss des Seminars: Vortrag (vorläufig)
Teilnahmebedingungen 14 Studiengänge: Informatik (Master, Diplom), Geoinformatik (Master, Diplom), Mathematik (Nebenfach Informatik, Diplom) Themenvergabe an Studierende anderer Studiengänge nach Rücksprache möglich Voraussetzungen: Vordiplom (!) oder Zulassung zum Masterstudium Vorkenntnisse zum Thema Parallele und verteilte Systeme sind von Vorteil, aber nicht zwingend erforderlich Informatikstudenten und Teilnehmer unserer Vorlesungen werden bevorzugt angenommen
Anmeldung 15 E-Mail mit folgenden Angaben an d.meil@uni-muenster.de: Name, Matrikelnummer Studiengang, Fachsemester Vorkenntnisse Vorlesungen der AG PVS (PS, VS, BS, MNJ, MGPP) (Projekt-) Seminare der AG PVS Themenwunsch An-/Abmeldung bis einschließlich 29.01.2011 möglich Anmeldung verpflichtet zur Teilnahme Aufnahme in Warteliste weiterhin möglich Benachrichtigung per E-Mail bis 30.01.2012
Hinweise 16 Möglichst sofort mit der Einarbeitung beginnen 1 Literatur lesen 2 Inhalte der Seminararbeit festlegen (Gliederung) Eigenständig weitere Quellen suchen und auswählen Kontakt mit Autoren Referenzierte Quellen, verwandte Literatur Internet: Websites, Newsgroups,... Datenbanken und Suchmaschinen zur Literatursuche sind auf der Website verlinkt Praktische Arbeiten durchführen Programme selbst ausprobieren Kontakt zum Betreuer halten Probleme nicht bis kurz vor der Abgabe bzw. dem Vortrag aufschieben Die Qualität der Betreuung hängt auch vom Studenten ab! Fristen und Termine einhalten!
Themenübersicht 17 1 Parallel Virtual Machine (PVM) 2 Parallel Global Adress Space (PGAS) 3 Intel Array Build Blocks (ArBB) 4 Heterogene Performance von Ressourcen in Cloud-Systemen 5 Traffic-Management in heterogenen Netzwerken mit OpenFlow 6 Management heterogener Anwendungen mit Entropy Weitere Informationen unter http://pvs.uni-muenster.de/pvs/lehre/ss12/seminar/ Anmeldung nicht vergessen!