Rabu, 22 Mei 2013

Parallel Computation

Semakin canggih komputer, semakin besar pula kapasitas proses yang ditawarkan. Paralel processing menawarkan pemrosesan data dengan menggunakan sistem parallel sehingga memungkinkan processing data yang besar dengan menggunakan beberapa komputer yang memiliki kapasitas yang lebih kecil namun dirancang secara parallel.

A. Parallelism Concept

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 paralel !

Salah satu middleware orisinal yang dikembangkan di Indonesia adalah openPC[1] yang digawangi oleh GFTK LIPI dan telah diimplementasikan dengan di LIPI Public Cluster.

Sebenarnya prinsip paralelisme juga sudah diterapkan dalam komputer serial misal dengan pipelining dan superscalar-nya namun demikian tidak memberikan solusi terbaik dalam hal meningkatkan performansi dikarenakan terbatasnya kemampuan untuk menambah kecepatan prosesor dan fenomena memory bottleneck.


B. Distributed Processing

Pemrosesan Paralel adalah komputasi dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer yang ada untuk mencapai tujuan yang sama. Pemrosesan paralel dapat mempersingkat waktu ekseskusi suatu program dengan cara membagi suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada masing-masing prosesor secara bersamaan.

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.

Performa dalam pemrosesan paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan teknik 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.

Adapun proses kerja , pemrosesan paralel membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan dibangun akan tidak akan menggunakan komputer yang didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.


C. Architectural Parallel Computer

Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :

A. SISD (Single Instruction Single Data Stream)
Arus Instruksi Tunggal dan Data Tunggal
B. SIMD (Single Instruction Multiple Data Stream)
Arus Instruksi Tunggal dan Multiple Data
C. MISD (Multiple Instruction Single Data Stream)
Arus Multiple Instruksi dan Data Tunggal
D. MIMD (Multiple Instruction Multiple Data Stream)
Arus Multiple Instruksi dan Multiple Data



1. Organisasi Prosesor SISD
• Prosesor tunggal
• Aliran instruksi tunggal
• Data disimpan dalam memori tunggal
• Uni-processor




2. Single Instruction, Multiple Data Stream – SIMD
• Single machine instruction
• Mengontrol eksekusi secara simultan
• sejumlah elemen-elemen pengolahan
• Berdasarkan Lock-step
• Setiap pengolahan elemen memiliki hubungan dengan memori data
• Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang berbeda
• Prosesor Vector and array




3. Multiple Instruction, Single Data Stream – MISD
• Rangkaian dari data
• Dikirimkan ke kumpulan prosesor
• Setiap prosesor mengeksekusi urutan instruksi yang berbeda
• Belum pernah diimplementasikan (komesial)




4. Multiple Instruction, Multiple Data Stream- MIMD
• Kumpulan/sejumlah prosesor
• Mengeksekusi secara simultan urutan instruksi yang berbeda
• Kumpulan data yang berbeda
• SMP, Cluster and sistem NUMA




Sumber :

https://id.wikipedia.org/wiki/Komputasi_paralel
http://dpamudji.wordpress.com/2011/04/01/komputasi-paralel/
http://www.gudangmateri.com/2009/12/pemrosesan-paralel.html
http://organisasiarsitekturkomputernaro.blogspot.com/2011/12/parallel-processing.html
http://seto.citravision.com/berita-48-parallel-computation--architectural-parallel-computer.html

Tidak ada komentar:

Posting Komentar