Anda di halaman 1dari 6

Nama : Dita Fajar Nuraini

Kelas : Komputasi Paralel (B)


NBI : 1461700102

KONSEP PARALEL PROGRAMMING


PENGERTIAN

Komputasi Paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat
kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di
industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak.
Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di
bidang fisika (fisika komputasi), kimia (kimia komputasi) dll. Komputasi paralel membutuhkan:

  Algoritma
  Bahasa Pemrograman
 Compiler

TUJUAN

Tujuan utama dari Pemrograman Paralel adalah untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin
banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat
merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda
butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan
(serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan
berdua.

ARSITEKTUR KOMPUTER PARALEL


Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga
dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada
umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor).
Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit
pemroses, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit
pengendali.

Komputer SIMD (Single Instruction stream-Multiple Data stream)

Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh
sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan
instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan
data yang berbeda yang berasal dari aliran data yang berbeda pula.

Komputer MISD (Multiple Instruction stream-Single Data stream)


Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima dan
mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit
pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan
bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam
bentuk prototipe untuk penelitian.

Komputer MIMD (Multiple Instruction stream-Multiple Data stream)

Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. Hal ini
disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua
pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan
disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

Hukum Amdahl dan hukum Gustafson


Secara optimal, speedup dari paralelisasi akan linier — menggandakan jumlah elemen
pemrosesan akan membagi dua runtime, dan menggandakannya untuk kedua kalinya harus kembali
membagi separuh runtime. Namun, sangat sedikit algoritma paralel yang mencapai kecepatan
optimal. Kebanyakan dari mereka memiliki speedup dekat-linier untuk sejumlah kecil elemen
pemrosesan, yang mendatar menjadi nilai konstan untuk sejumlah besar elemen pemrosesan.

Potensi percepatan suatu algoritma pada platform komputasi paralel diberikan oleh hukum
Amdahl

Dimana :

  Slatency adalah potensi percepatan dalam latensi pelaksanaan seluruh tugas


 s adalah percepatan dalam latensi pelaksanaan bagian tugas yang dapat diparalelkan;

 p adalah persentase waktu pelaksanaan seluruh tugas mengenai bagian tugas yang dapat
diparalelkan sebelum paralelisasi.

Ketergantungan

Memahami ketergantungan data merupakan hal mendasar dalam mengimplementasikan


algoritma paralel. Tidak ada program yang dapat berjalan lebih cepat daripada rantai kalkulasi
dependen terpanjang (dikenal sebagai jalur kritis), karena kalkulasi yang bergantung pada kalkulasi
sebelumnya dalam rantai harus dieksekusi secara berurutan. Namun, sebagian besar algoritma tidak
hanya terdiri dari rantai panjang perhitungan dependen; biasanya ada peluang untuk melakukan
perhitungan independen secara paralel.

Biarkan Pi dan Pj menjadi dua segmen program. Kondisi Bernstein menggambarkan kapan
keduanya independen dan dapat dieksekusi secara paralel. Untuk Pi, biarkan Ii menjadi semua
variabel input dan Oi variabel output, dan juga untuk Pj. Pi dan Pj bersifat independen jika
memuaskan
Pertimbangkan fungsi-fungsi berikut, yang menunjukkan beberapa jenis dependensi :

1: function Dep(a, b)
2: c := a * b
3: d := 3 * c
4: end function

Anda mungkin juga menyukai