Tuesday, June 6, 2017

Parallel Processing - Komputasi Parallel

 



Pengertian

 

Pemrosesan Paralel adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi pada prakteknya, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan diantaranya.
Komputasi parallel adalah salah satu teknik untuk 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 (industri keuangan, bio informatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi) dan kimia (kimia komputasi). (Wikipedia : https://id.wikipedia.org/wiki/Komputasi_paralel)

Parallel computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan komputasi secara bersamaan baik dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel Computation, berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjaka secara bersamaan maka akan semakin cepat.

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Komputasi paralel diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. 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. 

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

Pemorgraman Paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin parallel) CPU. Tujuan utama dari pemrograman parallel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

Dilihat dari beberapa pengertian mengenai Parallel Compuation atau Komputasi Paralel diatas, maka dapat diambil kesimpulan jika Komputasi Paralel merupakan sebuah teknik pemrograman untuk melakukan komputasi secara simultan atau bersamaan dengan memanfaatkan komputer independen baik dalam satu ataupun banyak prosesor di dalam sebuah CPU. Paralel komputasi diperlukan saat kapasitas yang diperlukan sangat besar dan membutuhkan waktu yang sangat singkat untuk melakukan proses tersebut.

Komputasi Parallel membutuhkan :

1. Algoritma
2. Bahasa Pemrograman
3. Compiler

Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan ada juga komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, prallel processing ini memerlukan software canggih yang disebut Distributed Processing Software.

Perlu di tekankan jika Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekuasi beberapa program sekaligus. Parallel processing disebut juga parallel computing

Contoh struktur dari parallel processing sebagai berikut :




Distributed Processing?


Pada paragrap diatas dijelaskan jika komputer dengan satu CPU dapat melakukan komputasi parallel dengan menggunakan sebuah software yang bernama Distributed Processing. Lalu apa itu distributed processing?

Distributed Processing atau Pemrosesan terditribusi merupakan proses pendistribusian pengolahan parallel dalam pemrosesan parallel menggunakan beberapa mesin. Bisa dikatakan kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

Menurut Gustafson, proses terdistribusi adalah sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan tiap-tiap mesin yang digunakan.

Di distribusikan pengolahan paralel dengan menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Contoh dari proses terdistribusi ini adalah ketika terdapat macam masalah diberikan pada satu master, maka dengan menggunakan komputer paralel, masalah tersebut akan terpecah menjadi beberapa bagian secara terdistribusi.





Architectural Parallel Computer

 

 


Menurut seorang Designer Processor, Taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 bagian, yaitu :

  • SISD (Single Instruction, Single Data) merupakan satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 prosesor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa prosesor. Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor), namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dll). Selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali.

  • SIMD (Single Instruction, Multiple Data) Komputer dengan model ini memiliki lebih dari satu processor, tetapi hanya mengekseusi satu instruksi yang sama pada data yang berbeda. Komputer vector adalah salah satu contoh komputer yang menggunakan model ini. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data uang berbeda. Sebagai contoh ketika ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka dengan menggunakan 5 buah processor. Pada setiap processor menggunakan algpritma atau perintah yang sama namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan/urutan pertama hingga urutan ke 20, processor ke 2 mengolah data dari urutan 21 sampai urutan 40, dst. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

  • MISD (Multiple Instruction, Single Data) Teorinya komputer ini memiliki satu processor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD ini. Contoh, ambil kasus seperti pada model SIMD namun cara penyelesaiannya 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 disetiap processor.

  • MIMD (Multiple Instruction, Multiple Data) Komputer ini memiliki lebih dari satu processor 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. Beberapa komputer yang menggunakan MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L




Sumber :
1. https://dikky12.wordpress.com/2011/04/01/parallel-processing/
2. http://herlinahan.blogspot.co.id/2015/03/paradigma-parallel-computing-oleh.html
3. http://syahrin-alf.blogspot.co.id/2016/05/apa-itu-parallel-computation.html
4. https://id.wikipedia.org/wiki/Komputasi_paralel




Share: