Apa itu komputasi paralel

Pengantar Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Gagasan komputasi paralel

Dasar alat pemrosesan data modern

  • Memori
  • Daya komputasi

Gagasan

  • Pecah tugas jadi subtugas
  • Sebarkan subtugas ke beberapa komputer
  • Bekerja bersama untuk menyelesaikan tugas

Diagram tugas dipecah jadi subtugas

Pengantar Data Engineering

Toko penjahit

Diagram menggambarkan toko penjahit

Menjalankan toko penjahit

Target: 100 kemeja

  • Penjahit terbaik selesai / 20 menit
  • Penjahit lain / 1 jam

 

Banyak penjahit bersama > penjahit terbaik

Pengantar Data Engineering

Manfaat komputasi paralel

  • Daya komputasi
  • Memori: partisi dataset

 

Cip memori RAM: Gambar cip memori RAM

Pengantar Data Engineering

Risiko komputasi paralel

Overhead karena komunikasi

 

  • Tugas harus besar
  • Butuh beberapa unit pemrosesan

 

Perlambatan paralel: Plot menunjukkan perlambatan paralel

Pengantar Data Engineering

Contoh

 

Diagram yang mengilustrasikan contoh olimpiade

Pengantar 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)
Pengantar Data Engineering

dask

 

import dask.dataframe as dd

# Membagi dataframe menjadi 4 partisi athlete_events_dask = dd.from_pandas(athlete_events, npartitions = 4)
# Jalankan komputasi paralel pada tiap partisi result_df = athlete_events_dask.groupby('Year').Age.mean().compute()
Pengantar Data Engineering

Ayo berlatih!

Pengantar Data Engineering

Preparing Video For Download...