1.
Parallel Concept
Komputasi paralel merupakan salah
satu teknik komputasi, dimana proses komputasinya dilakukan oleh beberapa resources (komputer) yang
independen, secara bersamaan. Komputasi
paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah
besar (di industri keuangan, bioinformatika, dll) atau dalam memenuhi proses
komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat
ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di
bidang fisika (fisika komputasi), kimia (kimia komputasi), dll. Dalam
menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin
paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secara paralel.
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 paralel. 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 yang 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.
2.
Distributed Processing
Kemampuan 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
maka prosesor yang lain akan mengambil alih tugasnya.
3.
Architectural Parallel
Computer
Embarasingly Parallel adalah
pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan
tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa
dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi,
lebih banyak peningkatan kecepatan yang bisa dicapai. Michael J. Flynn menciptakan satu diantara sistem klasifikasi
untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn.
Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi
yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.
Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan
alur data yang digunakan:
1.
SISD
(Single Instruction stream, Single Data stream)
Komputer
tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit memori
Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalam tahapan
eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.
2.
SIMD
(Single Instruction stream, Multiple Data stream)
Komputer
yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common
control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi
beroperasi pada data yang berbeda.
3.
MISD
(Multiple Instruction stream, Single Data stream)
Sampai saat
ini struktur ini masih merupakan struktur teoritis dan belum ada komputer
dengan model ini.
4.
MIMD
(Multiple Instruction stream, Multiple Data stream)
Organisasi
komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu
yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam
kategori ini.
0 komentar:
Posting Komentar