6. Massiv parallele Algorithmen
Unser Rechnermodell besteht aus
Definition 6.1(Runde in einem
MPC-Algorithmus).
In jeder Runde führt jede Maschine eine lokale Berechnung ihrer Menge
von Items durch; deren
Ergebnis ist wiederum eine Menge von Items, die sie dann an eine oder mehrere Maschinen
schicken wird. Dabei muss jedoch gelten, dass keine Maschine mehr als
-
In Runde
hält Maschine eine Menge an Items. Es gilt . -
Sie führt nun eine lokale Berechnung durch und erhält dadurch eine neue Menge:
; ein Element in ist von der Form , wobei der Index der Maschine ist, an den dies geschickt werden soll. Sei also die Menge der Items, die Maschine am Ende von Runde an Maschine schicken will. -
Maschine
schickt an Maschine . -
Maschine
empfängt die Items von mehreren Maschinen und setzt Wobei wir sicherstellen müssen, dass gilt.
Die Funktion
Dies ist eine Runde eines MPC-Protokolls. Insbesondere tun wir so,
als könnte die lokale Berechnung
Typische Parameter für und
Interessant wird das MPC-Modell, wenn
Laufzeit
Im Zusammenhang von MPC-Algorithmen interessieren wir uns vorerst hauptsächlich für die Anzahl der
Runden. Unser Ziel ist es, Algorithmen von konstanter Rundenkomplexität zu
entwerfen - die Anzahl der Runden soll also nicht von der Inputgröße
Literatur
- Mohsen Ghaffari: Parallel Algorithms, Kapitel 6 im Skript zur Vorlesung APC (Algorithms, Probability, and Computing) an der ETH Zürich
- Mohsen Ghaffari: Massively Parallel Algorithms, das Skript zur gleichnamigen Vorlesung an der ETH Zürich