Komputasi paralel adalah salah satu teknik melakukan komputasi
secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanyadiperlukan saat kapasitas yang diperlukan sangat besar, baik karena
harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi
yang banyak. 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.
Pemrosesan paralel (parallel processing) adalah penggunakan
lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya,
parallel processing membuat program berjalan lebih cepat karena semakin banyak
CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program
sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di
antaranya.
Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer
dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin
paralel) CPU. 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.
Komputasi paralel membutuhkan:
- - Algoritma
- - Bahasa pemrograman
- - Compiler
Sebagai besar komputer hanya
mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada
komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel
processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun,
parallel processing ini memerlukan software canggih yang disebut distributed
processing software.
Parallel processing berbeda
dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus.
Parallel processing disebut juga parallel computing.
Aristektur Komputer Parallel
Taksonomi Flynn dan model
pemrosesan parallel
Keempat kelompok komputer
tersebut adalah :
1. Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua
instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam
eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD
berupa komputer yang terdiri atas satu buah pemroses (single processor). Namun
komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul
memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut
berada dalam kendali sebuah unit pengendali.
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih
dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang
sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama
yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data
yang berbeda yang berasal dari aliran data yang berbeda pula.
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini
memiliki n unit pemroses yang masing-masing menerima dan
mengoperasikan instruksi yang berbeda terhadap aliran data yang sama,
dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda.
Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada
perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk
penelitian.
4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni
terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh
aliran dari dan ke memori berasal dari space data yang sama bagi
semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat
interaksi antara pemroses tinggi dan disebut loosely coupled jika
tingkat interaksi antara pemroses rendah.
Paralel prosessing
komputasi adalah proses atau pekerjaan komputasi di komputer dengan
memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat
bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan
kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer
tunggal.
Message Passing Interface (MPI).
MPI adalah sebuah standard
pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang
dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi
dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian
masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke
komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak
pertimbangan – pertimbangan diantaranya adalah latensi dari jaringan dan lama
sebuah tugas dieksekusi oleh prosesor.
MPI ini merupakan standard yang
dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah
komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja
pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada
mekanisme suatu proses yang bisa mengakses secara langsung memori yang lain.
Pembagian data antar proses dilakukan dengan message passing, yaitu dengan
mengirim dan menerima pesan antar proses.
MPI menyediakan fungsi-fungsi
untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah
1. menulis kode paralel secara
portable,
2. mendapatkan performa yang
tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang
melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan
model data paralel.
PVM (Parallel Virtual Machine)
Adalah paket software yang
mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat
berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable
untuk banyak arsitektur seperti PC, workstation, multiprocessor dan
superkomputer.
Kesimpulan
Parallel processing (pemrosesan
paralel) adalah teknik pemroresan dengan menjalankan beberapa proses dalam
waktu yang bersamaan sehingga mempersingkat waktu pengerjaan. Kekurangan dari
teknik pemrosesan secara paralel adalah dibutuhkannya lebih dari satu cpu yang
akan membutuhkan biaya yang besar.
Sumber :
Tidak ada komentar:
Posting Komentar