Parallel Computation


PENGANTAR

Sebelumnya saya telah membahas tentang Quantum Computation, pada kesempatan kali ini saya akan membahas tentang Parallel Computation. Parellel Computation sendiri adalah suatu teknik atau suatu cara pemrosesan untuk melakukan aktifitas didalam komputer yang dilakukan secara bersamaan.


PENGERTIAN PARALLEL COMPUTATION

Parallel Computation merupakan teknik atau cara melakukan aktifitas dalam eksekusi perintah komputer yang dilakukan secara bersamaan yang dilakukan oleh satu atau banyak prosesor juga yang terjadi di dalam 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 PARALLEL COMPUTATION

Parallel Computation mempunyai konsep yaitu 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.

TUJUAN PARALLEL PROCESSING

Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Tetapi semua juga mempunyai batasan yang dimiliki oleh komputer.

DISTRIBUTED PROCESSING

Kemampuan mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya.



ARCHITECTURAL PARALLEL COMPUTER

Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut. Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:

1.    SISD (Single Instruction stream, Single Data stream)
Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satuunit memori Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalamtahapan eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.

2.    SIMD (Single Instruction stream, Multiple Data stream)
Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.

3.    MISD (Multiple Instruction stream, Single Data stream)
Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.

4.    MIMD (Multiple Instruction stream, Multiple Data stream)
Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam  kategori ini.

Pengantar Thread Programming

Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya. 

PENGANTAR MASSAGE PASSING & OPEN MP 

Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses. MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah :
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak 
begitu cocok dengan model data paralel.

PENGANTAR PEMROGRAMAN CUDA GPU 

Sebelum kita membahas tentang CUDA, kita akan membahas GPU terlebih dahulu. GPU dalah sebuah processor khusus untuk memepercepat dan mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card komputer ataupun laptop CUDA(Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak.


HUBUNGAN ANTARA KOMPUTASI MODERN DENGAN 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 yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas 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.

PERKEMBANGAN KOMPUTASI PARALEL PADA MASA KINI

Komputasi paralel pada masa kini dapat diimplementasikan pada komputer-komputer rumah (Home User). Karena saat ini komputer-komputer sudah memiliki lebih dari 1 core, sehingga dapat diimplementasikan dengan mudah. Akan tetapi penggunaan CPU pada komputasi paralel dirasa kurang memiliki performance yang optimal, sehingga para developer dari NVIDIA mengembangkan hardware yang diberi nama GPU (Graphical Processing Unit) pada tahun 1999, GPU memiliki performance yang jauh lebih baik daripada CPU karena memiliki Core (Inti) yang lebih banyak daripada CPU, 1 inti dapat memiliki banyak thread (Benang), sehingga program dapat berjalan dengan optimal.

NVIDIA juga mengembangkan sebuah software yang dapat digunakan bersamaan dengan GPU NVIDIA, software tersebut diberi nama CUDA (Compute Unified Device Architecture). CUDA digunakan untuk mengendalikan GPU sehingga dapat berjalan dengan optimal dan dikendalikan dengan mudah.

NVIDIA memiliki 3 arsitektur GPU yang dapat digunakan untuk komputasi paralel, arsitektur tersebut adalah :
- NVIDIA Tesla Architecture
- NVIDIA Fermi Architecture
- NVIDIA Kepler Architecture

Arsitektur yang pertama kali diproduksi secara massal oleh NVIDIA adalah Tesla. Lalu selanjutnya dioptimalkan dengan Fermi, dan yang saat ini paling banyak digunakan adalah Kepler. Pemrograman dengan CUDA ditulis dengan bahasa C sehingga dapat diimplementasikan dengan mudah.


Sekian pembahasan tentang PARALLEL COMPUTATION semoga bermanfaat untuk kita semua. Terima Kasih.





Sumber Referensi :
- http://syahrin-alf.blogspot.co.id/2016/05/apa-itu-parallel-computation.html
- https://celoteh-galang.blogspot.co.id/2016/06/apa-itu-parallel-computation.html
- http://bagusonthespot.blogspot.co.id/2012/04/parallel-processing.html
- http://jonathan-boanerges.blogspot.co.id/2013/06/parallel-programming-parallel-computing.html

Previous
Next Post »

1 komentar:

Write komentar
asım
AUTHOR
22 Februari 2019 pukul 07.07 delete

905511256475 tlf oyun yaptirmak istiyorum

Reply
avatar