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.
Tidak ada komentar:
Posting Komentar