PARALLEL COMPUTATION
Parallel Computation atau komputasi
parallel merupakan teknik pengeksekusian program secara parallel atau bersamaan
baik dalam satu prosessor atau lebih pada sebuah komputer. Hal ini diperlukan
saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data
dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.
Parallelism Concept
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.
Distributed Processing
Mengerjakan semua proses pengolahan
data secara bersama antara komputer pusat dengan beberapa komputer yang lebih
kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut
memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara
terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian
total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan
mengambil alih tugasnya. Bila komputer yang digunakan secara bersamaan tersebut
dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan
komputer lebih sering istilah yang digunakan adalah sistem
terdistribusi (distributed computing).
Architectural Parallel Computer
1. SISD
Yang merupakan singkatan dari
Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur
Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja.
Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal.
Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan
beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah
UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
2. SIMD
Yang merupakan singkatan dari
Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan
instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai
contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100
angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan
algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya
processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20,
processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk
processor-processor yang lain. Beberapa contoh komputer yang menggunakan model
SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan
Cell Processor (GPU
3. MISD
Yang merupakan singkatan dari
Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan
setiap processor menggunakan instruksi yang berbeda namun mengolah data yang
sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa
menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang
berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan
kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang
digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat
ini belum ada komputer yang menggunakan model MISD.
4. MIMD
Yang merupakan singkatan dari
Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan
setiap processor memiliki instruksi yang berbeda dan mengolah data yang
berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan
komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah
IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.