Entri Populer

Rabu, 24 Mei 2017

Paralel Computation



Apa itu Parallel Computation dan bagaimana konsepnya ?

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.

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.

Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu.

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.


Apa itu 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.

Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Pada system 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 computer parallel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.

Paradigma Komputasi Paralel          


Taksonomi Komputasi Parallel oleh T.G Lewis membagi 2 klasifikasi yaitu synchronous dan asynchrounous. M.J Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program parallel, yang dikenal dengan Taksonomi Flynn.Beliau membagi komputer dalam 4 model, yaitu :


SISD (Single Instruction stream, Single Data stream) adalah satu CPU mengeksekusi instruksi satu persatu dan satu CPU memanggil atau menyimpan data satu persatu. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.


SIMD (Single Instruction stream, Multiple Data stream) adalah satu contol unit mengeksekusi aliran tunggal instruksi dan terdapat lebih dari satu processing unit. 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 (Multiple Instruction stream, Single Data stream) adalah terdapat beberapa processing unit yang mengeksekusi instruksi berbeda dengan data yang sama dan data mengalir ke processing unit serial. Sampai saat ini belum ada komputer yang menggunakan model MISD.


MIMD (Multiple Instruction stream, Multiple Data stream) adalah multiprocessor dan terdapat lebih dari satu instruksi yang dapat dieksekusi terhadap data masing-masing. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.


Keuntungan dan Kekurangan Komputasi Parallel

Keuntungan :
  • Waktu eksekusi lebih cepat dan efisien  
  • Throughput jadi lebih tinggi (throughput adalah banyaknya keluaran yang dihasilkan per unit waktu) 
  • Dapat memecahkan masalah yang lebih besar
Kekurangan :
  • Membutuhkan daya yang besar untuk perangkat yang dibutuhkan

Implementasi Komputasi Parallel

Penerapan Komputasi Paralel Bisa di terapkan pada Bidang Ilmu Pengetahuan & Teknik komputasi paralel telah dianggap sebagai “high end computing”, dan telah digunakan untuk memodelkan masalah sulit dalam banyak bidang ilmu pengetahuan dan teknik , sebagai contoh di terapakan pada :
  • lmu Fisika
  • Bioteknologi
  • Bioscience
  • Pembuatan Pesawat Luar Angkasa pada Bidang Teknik
  • Pembuatan Circuit Untuk Elektronik

0 komentar:

Posting Komentar