Vad är parallell beräkning

Introduktion till datatekniker

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Idén bakom parallell beräkning

Grunden för moderna databearbetningsverktyg

  • Minne
  • Processorkraft

Idé

  • Dela upp uppgiften i deluppgifter
  • Fördela deluppgifterna över flera datorer
  • Samarbeta för att slutföra uppgiften

Diagram över uppgift som delas upp i deluppgifter

Introduktion till datatekniker

Skräddarverkstaden

Diagram som representerar skräddarverkstaden

Att driva en skräddarverkstad

Mål: 100 skjortor

  • Bästa skräddaren – en skjorta på 20 minuter
  • Övriga skräddare – en skjorta på 1 timme

 

Flera skräddare tillsammans > bästa skräddaren

Introduktion till datatekniker

Fördelar med parallell beräkning

  • Processorkraft
  • Minne: partitionera datamängden

 

RAM-minneschip: Bild på RAM-minneschip

Introduktion till datatekniker

Risker med parallell beräkning

Overhead på grund av kommunikation

 

  • Uppgiften måste vara tillräckligt stor
  • Kräver flera processenheter

 

Parallell nedgång: Graf som visar parallell nedgång

Introduktion till datatekniker

Ett exempel

 

Diagram som illustrerar OS-exemplet

Introduktion till datatekniker

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)
Introduktion till datatekniker

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()
Introduktion till datatekniker

Nu kör vi en övning!

Introduktion till datatekniker

Preparing Video For Download...