Zum Inhalt springen

External Memory Algorithmus

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. Juli 2019 um 21:49 Uhr durch Raphinesse (Diskussion | Beiträge) (Erste Arbeitsversion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Ein External Memory Model ermöglicht das Analysieren von Algorithmen die Datenmengen verarbeiten, welche die Kapazität des Hauptspeichers des ausführenden Rechners übersteigen. Da die Zugriffszeit auf langsame Massenspeicher wie Festplatten oder Netzwerkspeicher die Zeit für Hauptspeicher- Cache- oder Registerzugriffe sowie Operationen der ALU um mehrere Größenordnungen dominiert, ist in diesem Fall für die Zeitkomplexität eines Algorithmus die Anzahl der I/O-Operationen auf diese langsamen Massenspeicher maßgeblich.

Notwendigkeit eines speziellen Modells

Klassischerweise wird die Laufzeit von Algorithmen in Berechnungsmodellen ohne Speicherhierarchie analysiert. In diesen Modellen verursacht ein Speicherzugriff konstante Kosten, genau wie die Ausführung arithmetischer Befehle. Desweiteren sind die Kosten eines Speicherzugriffs unabhängig von der Adresse auf die zugegriffen wird, sowie von vorangegangenen Zugriffen.

Diese Annahmen sind vereinfachend und entsprechen nicht der Realität. Einerseits unterscheiden sich die Zugriffszeiten zwischen zwei Ebenen der Speicherhierarchie für gewöhnlich um Größenordnungen. Andererseits führen Caches sowie die Funktionsweise von Festplatten dazu, dass der Zugriff auf mehrere aufeinander folgende Adressen üblicherweise schneller ist, als der Zugriff auf zufällige Adressen.

An der Grenze zwischen Haupt- und Massenspeicher ist dieser Effekt besonders stark (BELEG + Werte).

Das Parallel Disk Model (PDM)

Das häufig verwendete Parallel Disk Model wurde von 1994 von Vitter und Shriver eingeführt.[1] Es modelliert die wichtigsten Eigenschaften von magnetischen Festplatten und Systemen mit mehreren parallel angebundenen Festplatten. Wir betrachten hier die Version mit nur einem Prozessor. Für Systeme mit beliebiger Anzahl Prozessoren siehe [2].

Definition

Das Modell besteht aus einem internen Speicher welcher Datenelemente fasst sowie einem unbegrenzten externen Speicher welcher aus parallelen Festplatten besteht. Jede dieser Festplatten kann während einem gemeinsamen I/O-Schritt Datenelemente in den internen Speicher schreiben oder aus ihm lesen. Die Problemgröße wird mit Datenelementen beziffert. Desweiteren soll gelten sowie .

Spezialfall
online vs batched

Fundamentale Operationen

Laufzeitschranken
Techniken
Ausgewählte Algorithmen
  1. J. S. Vitter, E. A. M. Shriver: Algorithms for parallel memory, I: Two-level memories. In: Algorithmica. Band 12, Nr. 2-3, 1994-9, ISSN 0178-4617, S. 110–147, doi:10.1007/BF01185207 (springer.com [abgerufen am 26. Juli 2019]).
  2. Jeffrey Scott Vitter: Algorithms and Data Structures for External Memory. In: Foundations and Trends® in Theoretical Computer Science. Band 2, Nr. 4, 2006, ISSN 1551-305X, S. 305–474, doi:10.1561/0400000014 (nowpublishers.com [abgerufen am 26. Juli 2019]).