Pengertian Paralel Computation
Parallel computation
adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan
eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun
banyak prosesor di dalam sebuah CPU. Parallel computation sendiri
berguna untuk meningkatkan performa komputer karena semakin banyak
proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.
Cheap Offers: http://bit.ly/gadgets_cheap
Parallel computation
adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan
eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun
banyak prosesor di dalam sebuah CPU. Parallel computation sendiri
berguna untuk meningkatkan performa komputer karena semakin banyak
proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.
Cheap Offers: http://bit.ly/gadgets_cheap
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.
Pengertian Paralel Programming
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi
secara bersamaan baik dalam komputer dengan satu (prosesor tunggal)
ataupunbanyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama
dari pemrograman paraleladalah untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secarabersamaan (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 darisatu. 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.
Contoh struktur dari parallel processing sbb :
Bahasa Pemprograman Pada Paralel Computation
Parallel Virtual Machine (PVM)
PVM adalah suatu perangkat lunak yang mampu mensimulasikan pemrosesan paralel
pada jaringan komputer. Saat ini ada dua bahasa pemrograman yang didukung oleh
PVM, yaitu FORTRAN dan C. Versi PVM yang paling umum digunakan berbasis UNIX,
meskipun ada juga PVM berbasis Windows. Cara kerja PVM adalah dengan membuat
(spawning) proses-proses anak yang akan dikirim ke processor-processor yang
tersebar di jaringan komputer. Dengan PVM bisa ditentukan berapa jumlah
processor yang akan dilibatkan dalam proses komputasi.
Network File System (NFS)
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 berdiri sendiri baik dari segi mesin, jenis
sistem operasi maupun jenis protokol transport yang digunakan. NFS
memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada
di remote host seperti mengakses file yang berada di lokal. Kegunaan dari NFS
pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap
node slave dapat mengakses program yang sama pada node master
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)[3].
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[4].
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.
Komponen dan Arsitekur paralelcomputation
Komputasi Paralel merupakan teknik untuk
melakukan komputasi secara
bersamaan dengan memanfaatkan beberapa komputer yang
independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan
data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena
tuntutan komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya
kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi),
kimia (kimai komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
nantinya dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak
pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi
antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang
asli dikembangkan di Indonesia adalah
OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public
Center.
Komputasi
paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer
dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara
bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau
komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von
Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi
tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan
beberapa processor), maka kita harus mengetahui 4 model komputasi yang
digunakan, yaitu:
SISD
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya
yang menggunakan arsitektur Von Neumann, karena pada model ini hanya
menggunakan 1 processor saja. Oleh karena itu model ini dikatakan sebagai model
untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi
paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang
menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini
menggunakan banyak processor dengan instruksi yang sama, namun dengan data yang
berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang
terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor
kita menggunakan algoritma atau perintah yang sama, namun data yang diproses
berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama
hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40,
begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang
menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP,
Thingking Machine CM-2 dan Cell Processor (GPU).
MISD
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak
processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini
merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus
yang sama pada contoh model SIMD namun cara untuk menyelesaikannya yang
berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan
kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang
digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat
ini belum ada komputer yang menggunakan model MISD.
MIMD
Pada Multiple Instruction, Multiple Data biasanya menggunakan banyak processor
dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang
berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan
komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah
IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.
Sumber :
https://celoteh-galang.blogspot.co.id/2016/06/apa-itu-parallel-computation.html
http://gina-itsme.blogspot.co.id/2013/06/parallel-processing-dan-hubungan-dengan.html
http://djuneardy.blogspot.co.id/2015/05/konsep-arsitektur-paralel-pemrosesan.html
http://smilenickynick.blogspot.co.id/2014/06/komputer-paralel-arsitektur-dan.html
https://dikky12.wordpress.com/2011/04/01/parallel-processing/
Parallel computation
adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan
eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun
banyak prosesor di dalam sebuah CPU. Parallel computation sendiri
berguna untuk meningkatkan performa komputer karena semakin banyak
proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.
Cheap Offers:
http://bit.ly/gadgets_cheap
Parallel computation
adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan
eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun
banyak prosesor di dalam sebuah CPU. Parallel computation sendiri
berguna untuk meningkatkan performa komputer karena semakin banyak
proses yang bisa dikerjakan secara bersamaan maka akan makin cepat.
Cheap Offers:
http://bit.ly/gadgets_cheap