- PENGERTIAN PARALLEL COMPUTING
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.
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. Tidak berarti
dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan
diolah secara parallel.
Di dalam komputasi parallel ada yang
dinamakan dengan pemrograman parallel. Pemrograman paralel adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara
bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor
tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. 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).
- PARALLELISM CONCEPT
Multiprogramming kemampuan eksekusi
terhadap beberapa proses perangkat lunak dalam sebuah system secara serentak,
jika dibandingkan dengan sebuah proses dalam satu waktu, dan timesharing
berarti menyediakan pembagian selang waktu yang tetap atau berubah-ubah untuk
banyak program.
Multiprocessing adalah dukungan
sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas
kepada prosesor-prosesor tersebut. Multiprocessing sering diimplementasikan
dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara
multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin
dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama
sekali.Berdasarkan tingkat paralelismenya prosesor paralel dapat dibagi menjadi
beberapa tingkat sebagai berikut :
- Komputer Array : Prosesor array : beberapa prosesor yang bekerja sama untuk mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single Instruction-stream Multiple Data) dan Prosesor vektor : beberapa prosesor yang disusun seperti pipeline.
- Multiprosesor, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi memori.
- Multikomputer, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing prosesor memiliki memori sendiri.
- DISTRIBUTED PROCESSING
- ARCHITECTURAL PARALLEL COMPUTER
1. SISD
(Single Instruction, Single Data)
SISD 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(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(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(
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.
Berikut ini adalah gambar perbedaa antara komputasi
tunggal dengan parallel komputasi :
a.
komputasi
tunggal/serial
b.
komputasi
parallel
SUMBER
- http://seto.citravision.com/berita-48-parallel-computation--architectural-parallel-computer.html
- http://be-buddy.blogspot.com/2012/09/definisi-multiprogramming.html
- http://nazaruddin.blog.unigha.ac.id/2013/08/24/pengertian-komputasi-paralel/