Jumat, 09 Juni 2017

Parallel Computation



Pengertian Parallel Computation


Parallel Computation merupakan salah satu teknologi paling menarik yang penting sejak ditemukannya komputer elektronik pada tahun 1940-an. Terobosan dalam pemrosesan paralel 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 Parallel Computation itu. Inti dari Parallel Computation yaitu hardware, software, dan aplikasinya.

Parallel Computation adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan ataupun simultan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika dan lain-lain) atau karena tuntutan komputasi yang banyak. Parallel Computation adalah komputer tunggal dengan beberapa internal prosesor atau beberapa komputer yang dihubungkan oleh suatu interconnection network (IN). Parallel Computation membuat program maupun proses berjalan lebih cepat karena semakin banyak CPU yang digunakan. Pada dasarnya Parallel Computation menggunakan media jaringan, tapi yang menjadi ciri khususnya adalah bagaimana menyelesaikan masalah. 


Parallel Computationdapat dikelompokkan berdasarkan pengorganisasian memorinya ke dalam dua arsitektur dasar


  • Sistem memori bersama (shared memory) : 
    Komunikasi antar proses dengan melakukan pengeksekusian rangkaian instruksi yang berbeda pada kumpulan data yang berbeda pula dengan memori yang dapat digunakan bersama secara bersama.
  • Sistem memori tersebar (distributed memory) :
    Komunikasi antar proses menggunakan mekanisme pertukaran pesan (message passing). Program paralel dengan pertukaran pesan dapat ditulis menggunakan suatu bahasa pemrograman tingkat tinggi (misalnya: fortran, C/C++), dan menyetarakan (atau pemanggilan) suatu pustaka pertukaran pesan MPI (Message Passing Interface) atau PVM (Parallel Virtual Machine)

Kelebihan dan Kekurangan Parallel Computation


Kelebihan:
  • Waktu eksekusi lebih cepat dan efisien
  • Througjput 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


Architectural Parallel Computation


Klasifikasi arsitektural didasarkan pada penggandaan alur instruksi dan alur data, yang diperkenalkan oleh Michael J. Flynn. Terdapat 4 katagori dalam klasifikasi ini, yaitu:

  • Single Instruction Stream - Single Data Stream (SISD):
    Instruksi dilaksanakan secara berturut tetapi boleh overlap dalam tahap eksekusi (pipeline).
  • Single Instruction Stream - Multiple Data Stream (SIMD):
    Beberapa Processor Unit (Processing Element) disupervisi oleh Control Unit yang sama. Semua Processing Element menerima instruksi yang sama dari control unit, tetapi mengeksekusi data yang berbeda dari alur data yang berbeda pula. Subsistem memori berisi modul-modul memori. Processor vektor dan processor array termasuk dalam kategori ini.
  • Multiple Instruction Stream - Single Data Stream (MISD):
    Sejumlah PU, masing-masing menerima instruksi yang berbeda dan mengoperasikan data yangsama. Output salah satu prosesor menjadi input bagi prosesor berikutnya. Struktur komputer ini tidak praktis, sehingga tidak ada komputer yang menggunakannya.
  • Multiple Instruction Stream - Multiple Data Stream (MIMD):
    Sejumlah prosesor secara simultan mengeksekusi rangkaian instruksi yang berbeda pada kumpulan data yang berbeda pula. MIMD dapat berupa multiprosesor dengan memori yang dapat digunakan bersama (shared memory) atau multikomputer dengan memori yang terdistribusi.


Penggambaran Katagori Klasifikasi Architectural Parallel Computation


Single Instruction Stream - Single Data Stream (SISD)



Single Instruction Stream - Multiple Data Stream (SIMD)

Multiple Instruction Stream - Multiple Data Stream (MIMD)


Multiple Instruction Stream - Multiple Data Stream (MIMD)


Implementasi Parallel Computation



Pada dunia bisnis perfilm-an, implementasi parallel computation yaitu berupa proses rendering 3D pada sebuah film. Proses rendering film menggunakan unit komputasi parallel distributed memory multicomuter. Dikarenakan komputer digunakan untuk membuat rendering film, yaitu kluster komputer. Kluster komputer adalah proses menghubungkan beberapa komputer agar dapat bekerja secara bersama-sama dengan sebuah jaringan sebagai media penghubungnya. Sehingga pemrosesan dapat dilakukan lebih cepat karena mempunyai mesin-mesin yang masing-masing miltiprocessor.
Namun proses render membutuhkan daya komputasi yang sangat besar karena banyaknya titik koordinat yang harus dikomputasikan, terutama jika data 3D yang diolah cukup rumit. Model 3D rendering yang dihasilkan berupa data geometri, titik pandang, tekstur dan cahaya yang diperlikan untuk membuat gambar yang utuh. Dan salah satu cara untuk memecahkan masalahnya yaitu dengan menggunakan algoritma divide and conquer yang diterapkan ke dalam metode komputasi parallel. Karena komputasi parallel terbukti lebih efektif untuk melakukan ojek 3D dibanding hanya dengan menggunakan sebuah unit komputasi.

Tujuan Parallel Computation


Tujuan dari parallel computation adalah untuk  meningkatkan sistem komputasi dengan cara menyelesaikan beberapa pekerjaan atau masalah secara bersama-sama pada waktu yang sama dengan memanfaatkan beberapa komputer independen secara bersamaan ataupun simultan. 







Sumber: