Projektseminar Parallele Programmierung



Ähnliche Dokumente
Projektseminar Parallele Programmierung

Projektseminar Parallele Programmierung

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Nutzung von GiS BasePac 8 im Netzwerk

Installationsvoraussetzungen

ASD ZSS. RZ-Süd (LfStaD) Internet

[Leitfaden] [Sicher kommunizieren mit der Stadt Konstanz (VPS)] Einleitung. [Stadt Konstanz] [Herausgeber: Hauptamt] [Stand: 2010]

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Multimedia und Datenkommunikation

Systemvoraussetzungen:

Stepperfocuser 2.0 mit Bootloader

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

Internet online Update (Mozilla Firefox)

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Fragen und Antworten. Kabel Internet

Anleitung zur Nutzung des SharePort Utility

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

Erläuterung des technischen Hintergrundes des neues RIWA GIS-Zentrums

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Grundlagen der Rechnernetze. Internetworking

Das Stationsportal der DB Station&Service AG - Das Rollenkonzept. DB Station&Service AG Vertrieb Stationsportal Berlin, Juli 2015

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Installationsanleitung DIALOGMANAGER

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Bedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology

Übung - Datenmigration in Windows Vista

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Technische Erläuterungen

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

Drucken aus der Anwendung

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

QTrade GmbH Landshuter Allee München Seite 1

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Programmierung von Multicore-Rechnern

Hyperlink-Erstellung in InDesign für

SmartDispatch DMR-Dispatcher. Bestellablauf. SmartDispatch-Bestellablauf V1.0

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Skype for Business. Online zusammenarbeiten. Reinhold Gaugler. 1. Ausgabe, Juli 2015 ISBN: SKYPE2015AN

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

WINLINK 2000 SPAM-KONTROLLE UND NACHRICHTEN PRIORITÄTEN Aktualisiert 27. März 2012

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Auskunft über die Kassendaten

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

ERGOcom 3. Möglichkeiten zur Anbindung an den PC

EINRICHTUNG DER FANUC-MERCATOR- SCHNITTSTELLE

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Lehrer: Einschreibemethoden

Monitore. Klicken bearbeiten

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

NODELOCKED LIZENZ generieren (ab ST4)

MSXFORUM - Exchange Server 2003 > Archivierung mit Exchange eigenen Mitteln

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Whitepaper. Produkt: combit Relationship Manager. combit Relationship Manager und Terminalserver. combit GmbH Untere Laube Konstanz

Internet online Update (Internet Explorer)

EFI LECTOR. Systemanforderungen Einzelplatz. Einzelplatz: Betriebssysteme: Datenbanksystem:

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Übergang vom Diplom zum Bachelor

Formular»Fragenkatalog BIM-Server«

Speichernetze (Storage Area Networks, SANs)

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

Installation von MailON2!

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Anleitung zur Updateinstallation von ElsaWin 5.20

Lubuntu als Ersatz für Windows

Persona-SVS e-sync GUI/Client Installation

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand:

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

Umleiten von Eigenen Dateien per GPO

Testplattform des Bereichs Multimedia und Fernlehre. Benutzerhandbuch für Teilnehmer

Benutzeranleitung Web Login (Internetzugang an Öffentlichen Datendosen und in Studentenwohnheimen )

Enigmail Konfiguration

> Soft.ZIV. Maple Mathematisches Software System

I Serverkalender in Thunderbird einrichten

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

teamsync Kurzanleitung

Cisco AnyConnect VPN Client - Anleitung für Windows7

J.5 Die Java Virtual Machine

Unified Communication Client Installation Guide

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Online-Abzüge 4.0. Ausgabe 1

Übung: Verwendung von Java-Threads

SMS/ MMS Multimedia Center

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Transkript:

HTW Dresden WS 2014/2015

Organisatorisches Praktikum, 4 SWS Do. 15:00-18:20 Uhr, Z136c, 2 Doppelstunden o.g. Termin ist als Treffpunkt zu verstehen Labore Z 136c / Z 355 sind Montag und Donnerstag 15:00-18:20 reserviert, gemeinsam mit anderen Projektseminaren selbständige Arbeiten können gern auch zu anderen Zeiten erfolgen

Aufgabenstellungen und Leistungsnachweis Aufgabenstellung: Individuelle Aufgabenstellungen für Einzelne oder für Gruppen Eintragung für ein Thema in Einschreibliste zu meiner Information Leistungsnachweis: Vorführung des Programms innerhalb des Projektseminars Kurzvortrag (ca. 20 min) der Gruppe mit Präsentation Schriftliche Praktikumsdokumentation der Gruppe Auf das Praktikum wird eine individuelle Note vergeben.

Genutzte Rechnerinfrastruktur PC, 4-Core CPU, NVidia Quadro 600 Grafikkarte, OpenSuse-LINUX, OpenMP, CUDA (inkl. OpenCL) o.g. PC-System ist im Labor Z136c installiert und ist aus dem HTW-Netz erreichbar Linux-PCs im Rechnerlabor Z136c als virtueller Parallelrechner mit MPI, IP-Sockets, HTTP LINUX, ssh-login, ssh -X Programmierung in C, C++, JavaScript und verwandten Sprachen

Multi- und Manycore Prozessoren Vorhersagen: Ende 2008: 8 cores 2011: 32 cores 2014: >128 cores Bildquelle: Intel roadmap Begriffe: Multicore: 20 Manycore:> 20 cores Andere Quellen: many = hundreds of cores Paralleles Programmieren auch für gewöhnliche Rechner

Multi- und Manycore Prozessoren Struktur: P 0 P 1 P 2 P 3 P (p 1) Cache Cache Cache Cache Cache Communication Network MEM MEM MEM MEM MEM Koordination und Kooperation über gemeinsame Variable Auf MPS kann eine einzelne Instanz eines Betriebssystems ausgeführt werden. D.h. das System kann wie ein einzelner Rechner benutzt werden. Architekturmodell zum Teil für GPUs zutreffend, ohne Betriebssystem, ohne Cache

Nutzung des gemeinsamem Speichers Optionen aus Sicht des Programmierers: Multiprocessing: Mehrere Prozesse (durch fork()) und Kommunikation via Shmem-Segmente. Multithreading: Mehrere Threads innerhalb eines Prozesskontexts, direkte Abstraktion des Systems mit gemeinsamem Speicher. Expliziter Nachrichtenaustausch: mehrere Prozesse mit Kommunikation über Pipes oder Sockets, Kommunikationsbibliotheken MPI, PVM OpenMP: Compiler-Direktiven zur Steuerung mehrfädiger Ausführung (Multithreading) bei gemeinsamen Speicher OpenCL und CUDA: Datenparallele Ausführung s.g. Kernel-Funktionen

MPS mit verteiltem Speicher (1) Struktur: MEM MEM MEM MEM MEM Cache Cache Cache Cache Cache P 0 P 1 P 2 P 3 P (p 1) Communication Network Koordination und Kooperation nur durch Nachrichten-Austausch Adressräume getrennt, d.h. eine gleiche Adresse verweist bei unterschiedlichen Knoten auf unterschiedliche Speicherinhalte Keine Speicher- und Cache-Konsistenz Problematik

MPS mit verteiltem Speicher Jeder Knoten führt eine eigene Instanz des Betriebssystems aus, ggf. reduziert auf Mikrokern Abstraktion durch verschiedene UNIX-Prozesse (im Gegensatz zu Threads bei gemeinsamem Speicher) Zum Nachrichtenaustausch stehen auf Betriebssystem-Ebene Socket-Verbindungen zur Verfügung (TCP/IP) Oft besteht Möglichkeit, spezielle Netze (Infiniband, Myrinet) direkt zu nutzen: Infiniband-Verbs, Myrinet-GM Bibliotheken zur Erzeugung und Verwaltung verteilter Prozesse und zur Kommunikation Parallel Virtual Machine (PVM) Message Passing Interface (MPI, Standard)

Programmierung bei verteiltem Speicher Expliziter Nachrichtenaustausch (Message Passing): Gewöhnliche sequentelle Programmiersprachen (Fortran, C, C++, Java) und Funktionserweiterungen zur Prozesserzeugung und Nachrichtenaustausch Programmierbibliotheken: PVM, MPI, MPI-2 gewöhnliche IP-Sockets, oder Austausch über HTTP Message Passing ist auch auf Systemen mit gemeinsamem Speicher möglich

Literaturempfehlungen Allgemein zu Parallelrechnern und deren Programmierung T. Ungerer: Parallelrechner und parallele Programmierung Spektrum Akademischer Verlag, Heidelberg, Berlin, 1997 ISBN 3-8274-0231-X T. Rauber, G. Rünger: Parallele und verteilte Programmierung Springer Verlag, 2000 (Springer Lehrbuch) ISBN: 3-540-66009-7

Aufgaben Thema 1: Atomic Multicast in einer Multi-C/S-Umgebung mehrere Server die Nachrichten von Clients empfangen (RecvFromAny) mehrere Clients ein Client sendet eine Nachricht immer per Multicast an eine Teilmenge der Server

Aufgaben Thema 1: Atomic Multicast in einer... (Fortsetzung) Gefordert: Nachrichtenvermittlung an alle adressierten Server, oder an keinen (vgl. Transaktion, Atomicy) Reihenfolge der Nachrichten von unterschiedlichen Clients muss für jeden Server gleich sein (vgl. Transaktion, Consistency) o.g. Eigenschaften auch beim Ausfall von Clients und Servern ein Prokoll dafür existiert Ziele: Zusicherung o.g. Eigenschaften, hoher Durchsatz, Skalierbarkeit Programmiermodell: Verteilter Speicher mit Nachrichtenaustausch, d.h. mehrere PC s+netzwerk Programmiersprache in: JavaScript (NodeJS), oder C/C++

Aufgaben Thema 2: Parallel Data Deduplication Gegeben: Große Datei mit häufigen Block-Doppelungen Teilaufgaben: Finden gleichartiger Blöcke (z.b. über Vergleich der Hash-Werte) Reduktion mittels Referenzen Reproduktion der Originaldaten Ziele: höhere Geschwindigkeit, größere Datenmenge Programmierung in C/C++, Gemeinsamer Speicher (Threads, OpenMP oder CUDA) Variante für verteilten Speicher möglich (z.b. mit MPI)

Wie gehts weiter? Einschreibung für ein Thema: Thema 1 - Atomic Multicast in einer Multi-C/S-Umgebung Thema 2 - Parallel Data Deduplication Thema 3 - Variation von Thema 1 oder Thema 2 Treffen nächste Woche zum geplanten Termin Login-Zuteilung, Einweisung in Rechner Kick-Off Besprechungen mit einzelnen Gruppen Materialausgabe