Was ist Parallelverarbeitung?

Einführung in das Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Die Idee hinter der Parallelverarbeitung

Grundlage moderner Datenverarbeitungstools

  • Speicherplatz
  • Rechenleistung

Grundidee

  • Teilen Aufgaben in Teilaufgaben auf
  • Verteilen die Teilaufgaben auf mehrere Computer
  • Computer arbeiten zusammen, um die Aufgabe zu erledigen

Diagramm zur Aufteilung einer Aufgabe in Teilaufgaben

Einführung in das Data Engineering

Die Schneiderei

Abbildung, das die Schneiderei zeigt

Betrieb einer Schneiderei

Ziel: 100 Hemden

  • Der beste Schneider schneidert ein Hemd in 20 Minuten
  • Andere Schneider brauchen 1 Stunde für ein Hemd

 

Mehrere Schneider, die zusammenarbeiten > bester Schneider

Einführung in das Data Engineering

Vorteile der Parallelverarbeitung

  • Rechenleistung
  • Speicher: Datensatz aufteilen

 

RAM-Speicherchip: Abbildung eines RAM-Speicherchips

Einführung in das Data Engineering

Risiken der Parallelverarbeitung

Kommunikationsaufwand

 

  • Die Aufgabe muss groß sein.
  • Mehrere Prozessoren sind notwendig

 

Parallele Verlangsamung: Diagramm, das die parallele Verlangsamung zeigt

Einführung in das Data Engineering

Ein Beispiel

 

Diagramm, das die olympischen Disziplinen zeigt (Beispiel)

Einführung in das Data Engineering

multiprocessing.Pool

from multiprocessing import Pool

def take_mean_age(year_and_group): year, group = year_and_group return pd.DataFrame({"Age": group["Age"].mean()}, index=[year])
with Pool(4) as p: results = p.map(take_mean_age, athlete_events.groupby("Year"))
result_df = pd.concat(results)
Einführung in das Data Engineering

dask

 

import dask.dataframe as dd

# Partition dataframe into 4 athlete_events_dask = dd.from_pandas(athlete_events, npartitions = 4)
# Run parallel computations on each partition result_df = athlete_events_dask.groupby('Year').Age.mean().compute()
Einführung in das Data Engineering

Lass uns üben!

Einführung in das Data Engineering

Preparing Video For Download...