Parallel
Computing
Pembahasan
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).
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.
Performa dalam
pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up)
yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda
memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman,
berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan
kecepatan sebanyak 2 kali.
Ada 4 model komputasi yang
digunakan, yaitu:
1.
SISD (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 (Single Instruction, Multiple
Data) 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) 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) 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.
Keuntungan
:
·
Waktu eksekusi lebih cepat dan efisien
·
Throughput jadi lebih tinggi (throughput
adalah banyaknya keluaran yang dihasilkan per unit waktu)
·
Dapat memecahkan masalah yang lebih
besar
Kekurangan
:
·
Membutuhkan daya yang besar untuk
perangkat yang dibutuhkan
Tidak ada komentar:
Posting Komentar