Seit jeher ist die Wissenschaft bemüht, komplexe, oft mathematische Probleme, denen Hypothesen und theoretische Beweise zu Grunde liegen, rechnerisch zu überprüfen, oder aus vorhandenen Datenbeständen neue Erkenntnisse abzuleiten. Die Erfindung von Computern brachte einen gewaltigen Sprung in der Entwicklung, derartige Berechnungen, die zuvor manuell ausgeführt wurden, durchführen zu können. Damit stieg allerdings auch die Kreativität und die Neugier in der Erforschung noch schwierigerer, aufwändigerer Probleme mit erhöhten Datenmengen und dahinter stehenden, komplexeren Algorithmen, die damit rasch an die Grenzen klassischer Computer mit sequentiellem Ausführungsverhalten stießen.
Es wurden verschiedene Konzepte zur parallelen Bearbeitung entwickelt, die auch schnell ihre Anwendung fanden, und es enstand der Überbegriff „Parallel Computing“ für die gleichzeitige Bearbeitung von Daten und/oder Aufgaben. Die Parallelität wird sowohl im Bereich der Hardware als auch der Software gleichermaßen verwirklicht, wobei es hierfür jeweils unterschiedliche Ansätze und Kombinationsmöglichkeiten gibt, worüber der Leser
einen gesamtheitlichen Überblick erhält.
Die häufigsten Begriffe in diesem Zusammenhang sind Cluster und Supercomputer, aber auch Grids, ein Verbund heterogener, vernetzter Systeme, denen die Wissenschaft seit einigen Jahren erhöhte Aufmerksamkeit schenkt. Es wird ein Überblick über diese Architekturen vor einem theoretischen Hintergrund gegeben.
Aus dem Bereich der Software werden Methoden zur parallelen Programmierung in Form einiger weit verbreiteter Modelle, wie MPI und Pthreads dargestellt sowie verschiedene einfache Anwendungsbeispiele gebracht.
Inhaltsverzeichnis
- 1. Einleitung
- 1.1. Motivation
- 1.2. Erkenntnisgegenstand
- 1.3. Problemstellung
- 1.4. Geschichte und Ziele von Parallel Computing
- 2. Klassifizierung
- 2.1. Flynnsche Klassifikation
- 2.1.1. SISD Single Instruction, Single Data
- 2.1.2. MISD Multiple Instruction, Single Data
- 2.1.3. SIMD Single Instruction, Multiple Data
- 2.1.4. MIMD – Multiple Instruction, Multiple Data
- 2.1.5. Weitere Klassen
- 2.2. Speicherverwaltung
- 2.2.1. Shared Memory
- 2.2.2. Distributed Memory
- 2.2.3. Hybrid Distributed-Shared Memory
- 3. Cluster und Grids
- 3.1. Cluster
- 3.1.1. Architektur und interne Strukturen
- 3.1.2. Kategorisierung nach Anwendungszweck
- 3.1.3. Clustersoftware
- 3.2. Grids
- 3.2.1. Architektur und Arbeitsweise
- 3.2.2. Kategorisierung
Zielsetzung und Themenschwerpunkte
Diese Diplomarbeit befasst sich mit Parallel Computing, seinen Systemarchitekturen und Programmiermethoden. Ziel ist es, einen umfassenden Überblick über die Konzepte und Techniken des Parallel Computing zu geben. Die Arbeit analysiert verschiedene Ansätze zur parallelen Datenverarbeitung und untersucht die Vor- und Nachteile verschiedener Architekturmodelle.
- Klassifizierung von Parallel-Computing-Systemen
- Architekturen von Clustern und Grids
- Methoden der parallelen Programmierung (MPI und Pthreads)
- Anwendungsbeispiele für Parallel Computing
- Theoretische Grundlagen des Parallel Computing
Zusammenfassung der Kapitel
1. Einleitung: Dieses Kapitel führt in das Thema Parallel Computing ein, beschreibt die Motivation für die Arbeit und skizziert die Problemstellung. Es beleuchtet die historische Entwicklung und die Ziele des Parallel Computing als Reaktion auf die Grenzen klassischer sequenzieller Rechenmodelle. Die Einleitung legt den Grundstein für die anschließende detaillierte Auseinandersetzung mit den verschiedenen Aspekten des Parallel Computing.
2. Klassifizierung: Dieses Kapitel bietet eine systematische Klassifizierung von Parallel-Computing-Systemen. Es erläutert die Flynnsche Klassifikation (SISD, MISD, SIMD, MIMD) und geht detailliert auf die verschiedenen Kategorien ein, um die verschiedenen Ansätze zur parallelen Datenverarbeitung zu differenzieren. Ein weiterer Schwerpunkt liegt auf der Speicherverwaltung (Shared Memory, Distributed Memory, Hybrid Distributed-Shared Memory) und deren Auswirkungen auf die Architektur und die Programmierung paralleler Systeme. Die Kapitel zeigt die Komplexität der Klassifizierung und legt die Grundlage für das Verständnis der unterschiedlichen Architekturen.
3. Cluster und Grids: Dieses Kapitel konzentriert sich auf zwei wichtige Architekturen im Parallel Computing: Cluster und Grids. Es beschreibt die Architektur und die internen Strukturen von Clustern, ihre Kategorisierung nach Anwendungszweck und die verwendete Clustersoftware. Der zweite Teil des Kapitels behandelt Grids, ihre Architektur, Arbeitsweise und Kategorisierung. Die detaillierte Beschreibung dieser Architekturen verdeutlicht ihre jeweiligen Stärken und Schwächen sowie ihre Eignung für unterschiedliche Anwendungsszenarien.
Schlüsselwörter
Parallel Computing, Systemarchitekturen, Programmiermethoden, Cluster, Grids, Flynnsche Klassifikation, Shared Memory, Distributed Memory, MPI, Pthreads, parallele Programmierung, Hochleistungsrechnen.
Häufig gestellte Fragen (FAQ) zur Diplomarbeit: Parallel Computing
Was ist der Inhalt dieser Diplomarbeit?
Die Diplomarbeit bietet einen umfassenden Überblick über Parallel Computing, einschließlich Systemarchitekturen und Programmiermethoden. Sie analysiert verschiedene Ansätze zur parallelen Datenverarbeitung und untersucht die Vor- und Nachteile verschiedener Architekturmodelle. Die Arbeit umfasst eine Einleitung, eine Klassifizierung von Parallel-Computing-Systemen, eine detaillierte Betrachtung von Clustern und Grids, sowie eine Zusammenfassung der behandelten Kapitel und Schlüsselbegriffe.
Welche Themen werden in der Diplomarbeit behandelt?
Die Arbeit deckt folgende Schwerpunktthemen ab: Klassifizierung von Parallel-Computing-Systemen (inkl. Flynnsche Klassifikation: SISD, MISD, SIMD, MIMD), Architekturen von Clustern und Grids (inkl. Shared Memory, Distributed Memory, Hybrid Distributed-Shared Memory), Methoden der parallelen Programmierung (MPI und Pthreads), Anwendungsbeispiele für Parallel Computing und die theoretischen Grundlagen des Parallel Computing.
Wie ist die Diplomarbeit strukturiert?
Die Arbeit gliedert sich in drei Hauptkapitel: Kapitel 1 (Einleitung) führt in das Thema ein und erläutert die Motivation und Problemstellung. Kapitel 2 (Klassifizierung) bietet eine systematische Klassifizierung von Parallel-Computing-Systemen, einschließlich der Flynnschen Klassifikation und verschiedener Speicherverwaltungsmethoden. Kapitel 3 (Cluster und Grids) konzentriert sich auf die Architektur und Funktionsweise von Clustern und Grids. Zusätzlich enthält die Arbeit ein Inhaltsverzeichnis, eine Zusammenfassung der Kapitel und eine Liste der Schlüsselwörter.
Welche Arten von Parallel-Computing-Systemen werden klassifiziert?
Die Diplomarbeit verwendet die Flynnsche Klassifikation, um Parallel-Computing-Systeme zu kategorisieren. Dies beinhaltet SISD (Single Instruction, Single Data), MISD (Multiple Instruction, Single Data), SIMD (Single Instruction, Multiple Data) und MIMD (Multiple Instruction, Multiple Data). Zusätzlich werden verschiedene Speicherverwaltungsmodelle wie Shared Memory, Distributed Memory und Hybrid Distributed-Shared Memory diskutiert.
Was sind Cluster und Grids im Kontext von Parallel Computing?
Die Arbeit beschreibt Cluster und Grids als wichtige Architekturen im Parallel Computing. Für Cluster werden Architektur, interne Strukturen, Kategorisierung nach Anwendungszweck und verwendete Clustersoftware behandelt. Für Grids werden Architektur, Arbeitsweise und Kategorisierung erläutert. Die Beschreibung verdeutlicht die Stärken und Schwächen beider Architekturen und ihre Eignung für verschiedene Anwendungsszenarien.
Welche Programmiermethoden werden in der Arbeit behandelt?
Die Diplomarbeit erwähnt MPI (Message Passing Interface) und Pthreads (POSIX Threads) als wichtige Methoden der parallelen Programmierung.
Welche Schlüsselwörter beschreiben den Inhalt der Arbeit am besten?
Schlüsselwörter sind: Parallel Computing, Systemarchitekturen, Programmiermethoden, Cluster, Grids, Flynnsche Klassifikation, Shared Memory, Distributed Memory, MPI, Pthreads, parallele Programmierung, Hochleistungsrechnen.
Wofür ist diese Zusammenfassung gedacht?
Diese Zusammenfassung dient als schneller Überblick über den Inhalt der Diplomarbeit und soll die wichtigsten Aspekte und Themen hervorheben. Sie ist für akademische Zwecke gedacht und soll das Verständnis des Inhalts erleichtern.
- Citation du texte
- Sigrid Körbler (Auteur), 2007, Parallel Computing - Systemarchitekturen und Methoden der Programmierung, Munich, GRIN Verlag, https://www.grin.com/document/112252