Pemrosesan paralel (parallel processing) adalah
penggunaaan 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 dengan memanfaatkan beberapa
komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan
sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena
tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi
paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak
komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel
untuk menyelesaikan satu masalah. Untuk itu diperlukan 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.
Pemrograman paralel adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara
bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak
(prosesor ganda dengan mesin paralel) CPU. 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. Komputasi paralel membutuhkan:
1. algoritma
2. bahasa pemrograman
3. compiler
Sebagaian besar komputer
hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga
ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan
parallel processing dengan menghubungkannya dengan komputer lain pada jaringan.
Namun, parallel processing ini memerlukan software canggih yang disebut
distributed processing software. Parallel processing berbeda dengan
multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel
processing disebut juga parallel computing. Yang terdiri dari empat kelompok
komputer. Keempat kelompok komputer tersebut adalah :
Komputer SISD (Single Instruction stream-Single Data
stream)
Komputer SSID
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)
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)
Komputer SIMD
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)
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 MISD
(http://thedestination-vaibhav.blogspot.co.id/2010/05/parallel-processing-sisdsimdmimdmisd.html)
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 pemrosesan. 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.