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 satuunit memori
Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalamtahapan
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.
Thanks ilmunya
BalasHapus