Jumat, 02 Juni 2017

Parallel Computation (Pemrosesan Paralel)







PENGERTIAN KOMPUTASI PARALEL (Menurut Wikipedia)

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.
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.
Di dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel. 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).
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.
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.
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

KONSEP 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. 


Parallel distributed computing dapat dibentuk dari :

-          Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
-          PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
-          MPI (Message-Passing Interface) programming GUI untuk parallel computers.


ARSITEKTUR KOMPUTER PARALEL

Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 bagian, yaitu:
1.      SISD ( Single Instruction Single Data Stream ) : Jenis Komputer yang hanya memiliki satu prosesor dan satu instruksi yang dieksekusi secara serial. 
2.      SIMD ( Single Instruction  Multiple Data Stream ) : Jenis komputer yang memiliki lebih dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. 
3.      MISD ( Multiple Instruction Single Data Stream ) : Jenis komputer yang memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi di dalam praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami, sampai saat ini pun belum ada komputer yang menggunakan arsitektur jenis ini
4.      MIMD ( Multiple Instruction Multiple Data Stream ) : Jenis komputer yang memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena model dan konsepnya yang tidak terlalu rumit untuk dipahami.


TUJUAN PARALEL PROCESSING

1.)    Bentuk efisien pemrosesan informasi yang menekankan eksploitas peristiwa bersamaan dalam proses komputasi.
2.)    Mempercepat kemampuan computer pada saat melakukan proses.
3.)    Meningkatkan performa, contohnya lebih cepat pada melakukan eksekusi
4.)    Memaksimalkan keluaran.


HUBUNGAN ANTARA KOMPUTASI MODERN DAN PARALLEL PROCESSING

Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat. Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yangada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja.Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagitugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya.Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.


KRITERIA YANG MENENTUKAN BAIK BURUKNYA TOPOLOGI YANG DIPAKAI DALAM PARALLEL PROCESSING

1.   Diameter : Semakin kecil diameter yang digunakan akan semakin baik.
2.   Bisection Width : Semakin besar bisection width semakin baik.
3.   Derajat : Derajat yang tetap adalah yang terbaik.
4.   Panjang maximum garis : Panjang garis tetap adalah terbaik.


DEAD-LOCK TERJADI JIKA DITEMUI KONDISI SEBAGAI BERIKUT :

1.    Mutual Exclusion : Larangan bagi lebih dari satu prosesor menggunakan resource yang sama pada waktu yang sama.      
2.  Incremental Request Resource : Permintaan untuk menggunakan suatu resource pada proses meningkat.
3.       No Preemption : Proses yang sedang berjalan tidak bisa dihentikan (diputus).
4.       Circular wait : Terjadi saling menunggu antara proses.


KINERJA KOMPUTASI DENGAN PARALLEL PROCESSING

Komputasi Paralel merupakan salah satu teknologi paling menarik sejak ditemukannya komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak Era Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat dimengerti betapa pentingnya komputasi parallel itu.
Inti dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi rata-rata dari elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah. Dengan kata lain komputasi parallel adalah komputer dengan banyak processor dapat melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang dimiliki.
Paradigma pemrosesan parallel bergantung pada model SIMD (single instruction multiple data), dan paradigma functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution Multiple Data). Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel : asynchronous dan synchronous. Bentuk synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang lainnya. Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.


     KELEBIHAN DAN KEKURANGAN :

Kelebihan:
  •         Waktu eksekusi lebih cepat.
  •          Throughput jadi lebih tinggi.

Kerugian:
  •          Perangkat keras lainnya yang dibutuhkan.
  •          Kebutuhan daya juga lebih.
  •          Tidak baik untuk daya rendah dan perangkat mobile.
  •          Parallel processing adalah salah satu teknik komputasi modern.
  •          Karena membutuhkan banyak prosesor maka biaya mahal.


REFERENSI 



Tidak ada komentar:

Posting Komentar