Home

Paralelisasi

Paralelisasi adalah proses mengorganisasi perhitungan atau tugas agar dieksekusi secara bersamaan untuk meningkatkan kinerja sistem. Dalam konteks komputasi, paralelisasi melibatkan pemecahan masalah menjadi bagian-bagian yang dapat diproses secara paralel, baik pada multi-core, beberapa prosesor, maupun di klaster komputer.

Jenis paralelisasi yang umum mencakup paralelisasi data, paralelisasi tugas, dan paralelisasi pipa. Paralelisasi data membagi data

Metode umum meliputi model memori berbagi (shared-memory) seperti OpenMP dan Pthreads, serta memori terdistribusi seperti MPI.

Pertimbangan utama meliputi overhead sinkronisasi dan komunikasi, efek hukum Amdahl, keseimbangan beban kerja, serta potensi race

Aplikasi paralelisasi meliputi simulasi ilmiah, pemodelan numerik, pengolahan citra dan video, pelatihan model pembelajaran mesin, serta

input
di
antara
unit
eksekusi
yang
melakukan
operasi
yang
sama
secara
bersamaan.
Paralelisasi
tugas
membagi
tugas
berbeda
ke
beberapa
unit,
sedangkan
paralelisasi
pipa
melibatkan
beberapa
tahap
proses
yang
dapat
dieksekusi
secara
paralel
setelah
tahap
sebelumnya
selesai.
Granularitas
masalah
juga
mempengaruhi
strategi
yang
dipilih.
Pemrograman
GPU
menggunakan
CUDA
atau
OpenCL
juga
populer
untuk
pekerjaan
paralel.
Untuk
analitik
data
besar,
kerangka
kerja
seperti
Hadoop
MapReduce
atau
Apache
Spark
dipakai.
Paralelisasi
bisa
dilakukan
secara
otomatis
oleh
kompilator
jika
tidak
ada
ketergantungan
data,
atau
secara
manual
oleh
pengembang.
condition
dan
bug
yang
lebih
sulit
dilacak.
Debugging
paralel
sering
menuntut
alat
khusus
dan
desain
yang
hati-hati
untuk
menjaga
determinisme
dan
konsistensi
memori.
analitik
data
skala
besar.
Meskipun
banyak
sistem
dapat
diparalelkan,
tidak
semua
algoritme
cocok
untuk
paralelisasi;
dependensi
data
dapat
membatasi
tingkat
paralelisme
yang
efektif.