Komputasi
Paralel (Paralel Computation)
Pengertian
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.
Mesin
Paralel
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.
Salah
satu middleware orisinal yang dikembangkan di Indonesia adalah openPC yang
digawangi oleh GFTK LIPI dan telah diimplementasikan dengan di LIPI
Public Cluster.
Pemrograman
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 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.
Perbandingan antara Komputasi Serial dan Komputasi Paralel
Pada
sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu
shared memory address dan message passing. Berdasarkan cara mengorganisasikan
memori ini komputer paralel dibedakan menjadi shared memory parallel machine
dan distributed memory parallel machine.
Prosesor
dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara
statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed
memory system (sistem memori terdistribusi). Sambungan langsung peer to peer
digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya
menggunakan switch untuk menghubungkan antar prosesor dan memori.
Komunikasi
data pada sistem paralel memori terdistribusi, memerlukan alatbantu komunikasi.
Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat ini
adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel
Virtual Machine)yang keduanya bekerja diatas TCP/IP communication layer. Kedua
standar ini memerlukan fungsi remote access agar dapat menjalankan program pada
masing-masing unit prosesor.
Salah
satu protocol yang dipergunakan pada komputasi parallel adalah Network File
System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui
jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem
operasi, dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan
menggunakan RPC. NFS memperbolehkan user yang telah diijinkan untuk mengakses
file-file yang berada di remote host seperti mengakses file yang berada di
lokal. Protokol yang digunakan protokol mount menentukan host remote dan jenis
file sistem yang akan diakses dan menempatkan di suatu direktori, protokol NFS
melakukan I/O pada remote file system. Protokol mount dan protokol NFS bekerja
dengan menggunakan RPC dan mengiri dengan protokol TCP dan UDP. Kegunaan dari
NFS pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap
node slave dapat mengakses program yang sama pada node master.
Software
yang diperlukan untuk Parallel komputasi adalah PGI CDK, dimana aplikasi ini
telah dilengkapi dengan Cluster Development Kit dimana software ini telah
memiliki feature yang lengkap bila ingin melakukan komputasi dengan parallel
prosessing karena software ini telah mensupport MPI untuk melakukan perhitungan
komputasi.
Perkembangan
di Indonesia
Di Indonesia,
usaha untuk membangun infrastruktur mesin paralel sudah dimulai sejak era
90-an, meski belum pada tahap serius dan permanen. Namun untuk pemrograman
paralel sudah sejak awal menjadi satu mata-kuliah wajib di banyak perguruan
tinggi terkait. Baru pada tahun 2005 dimulai pembuatan infrastruktur
mesin paralel permanen, misalnya yang dikembangkan oleh Grup Fisika
Teoritik dan Komputasi di P2 Fisika LIPI. Didorong oleh
perkembangan pemrograman paralel yang lambat, terutama terkait dengan sumber
daya manusia (SDM) yang menguasainya, mesin paralel LIPI ini
kemudian dibuka untuk publik secara cuma-cuma dalam bentuk LIPI Public Cluster (LPC).
Saat ini LPC telah dikembangkan lebih jauh menjadi gerbang komputasi GRID di Indonesia dengan
kerjasama global menjadi IndoGRID. Pada tahun berikutnya, dengan dukungan dana dari proyek Inherent Dikti, Fasilkom UI juga
membangun mesin paralel. Sementara itu pada tahun 2009, ITB membuat kluster
hibrid CPU dan GPU yang pertama di Indonesia dengan kemampuan hingga 60 inti
CPU dan 1920 inti GPU.
Istilah dalam Pemrograman Paralel
- Embarasingly Parallel adalah pemrograman paralel yang digunakan pada
masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama
lain.
- Taksonomi
dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data
yang digunakan untuk :
- SISD
Single Instruction Single Datapath, ini prosesor tunggal, yang bukan paralel.
- SIMD Single Instruction Multiple Datapath, alur instruksi yang sama
dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau
tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya
inputnya, jadi inputnya lain-lain tetapi program yang digunakan sama.
- MIMD
Multiple Instruction Multiple Datapath, alur instruksinya banyak, alur datanya
juga banyak, tetapi masing-masing bisa berinteraksi.
- MISD
Multiple Instruction Single Datapath, alur instruksinya banyak tetapi
beroperasi pada data yang sama.
Sumber :
https://id.wikipedia.org/wiki/Komputasi_paralel
http://akhmadilman46.blogspot.co.id/2013/05/komputasi-paralel.html