PARALLEL PROCESSING
Pengertian Pemrosesan paralel (parallel processing)
adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program
secara simultan. Idealnya, parallel processing membuat program berjalan
lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali
sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa
berkaitan di antaranya.
Komputasi paralel adalah salah satu teknik melakukan
komputasi secara bersamaan denganmemanfaatkan beberapa komputer secara
bersamaan. Biasanyadiperlukan saat kapasitas yangdiperlukan sangat besar, baik
karena harus mengolah data dalam jumlah besar ataupun karenatuntutan proses
komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel
inidiperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer
yang dihubungkandengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk itudiperlukan aneka perangkat lunak pendukung
yang biasa disebut sebagai
middleware yang berperan untuk mengatur distribusi pekerjaan
antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi.
Program komputer paralel lebih susah untuk dibangun
dibandingkan dengan program komputer serial, hal ini disebabkan keserempakan
menimbulkan masalah yang potensial di dalam membagi pekerjaan menjadi
subpekerjaan dan menggabungkan kembali subpekerjaan tersebut menjadi hasil oleh
perangkat lunak, diantaranya kondisi berebut (race condition).
Komunikasi dan sinkronisasi diantara unit
pemroses(processing unit) menjadi satu diantara tantangan terbesar untuk
menghasilkan program paralel dengan performa yang baik.
Architectural Parallel Computer
Taksonomi Flynn dan Model Pemrosesan Parallel. Keempat
kelompok komputer tersebut adalah :
1. 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.
2. 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.
3. 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.
4. 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.
Paralel prosessing komputasi adalah proses atau
pekerjaan komputasi di komputer dengan memakai suatu bahasa pemrograman yang
dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel
diperlukan untuk meningkatkan kecepatan komputasi bila dibandingkan dengan
pemakaian komputasi pada komputer tunggal.