Parallel computation adalah penggunakan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing
membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan.
Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi
oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program
dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat
program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil
kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking,
yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus,
parallel processing dapat disebut juga dengan istilah parallel computing.
A. Parallelism Concept
Konsep program parallel :
- Memerintahkan set instruksi (pandangan programmer)
- File executable (pandangan sistem operasi)
Komputasi paralel didefinisikan sebagai penggunaan
sekumpulan sumberdaya komputer secara simultan untuk menyelesaikan permasalahan
komputasi. Secara prinsip komputer paralel membagi permasalahan sehingga
menjadi lebih kecil untuk dikerjakan oleh setiap prosesor / CPU dalam waktu
yang bersamaan/simultan / concurrent dan prinsip ini disebut paralelisme.
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. Tingkat paralelisme dalam
komputasi khususnya pada prosesor di antaranya :
- Paralelisme bit-level. Contoh : prosesor 32 bit dan prosesor 64 bit.
- Paralelisme instruction set-level. Contoh : CISC dan RISC.
- Paralelisme thread-level. Contoh : Intel hyperthreading.
Paralelisme lain yang juga berkembang dalam komputasi
paralel adalah paralelisme data dan paralelisme fungsi. Perkembangan teknologi
prosesor : prosesor singlecore superscalar, chip multiprocessor, prosesor
multicore, hingga prosesor cell memberikan kontribusi terhadap peningkatan
performansi komputer parallel.
B. Distributed Processing
Pemrosesan paralel adalah pendekatan komputasi untuk
meningkatkan tingkat di mana satu set data diolah dengan pengolahan bagian yang
berbeda dari data pada waktu yang sama secara simultan atau bersamaan pada
sebuah komputer dan berfungsi memecah beban besar menjadi beberapa beban kecil
untuk mempercepat proses penyelesaian masalah.
Didistribusikan pengolahan paralel 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 beberapa data set yang diberikan kepada
mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data
dapat diproses dalam jumlah yang sangat singkat.
Tipe lain dari komputasi paralel yang kadang-kadang disebut
"didistribusikan" adalah gagasan dari sebuah komputer paralel
cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi
koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa
pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang
dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung
terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan
perhitungan yang diberikan kepada mereka.
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.
C. Architectural Parallel Computer
Terdapat 4 macam arsitektur dari komputer paralel, yaitu:
- SISD (Single Instruction, Single Data) adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.
- SIMD(Single Instruction, Multiple Data) menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
- MISD(Multiple Instruction, Single Data) menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian 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 di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
- MIMD( Multiple Instruction, Multiple Data) menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Sumber :
- http://syaefulhamzah.blogspot.co.id/2013/06/v-behaviorurldefaultvmlo.html
- http://seto.citravision.com/berita-46-parallel-computation--parallelism-concept.html
- http://seto.citravision.com/berita-47-parallel-computation--distributed-processing.html
- http://winjor12.blogspot.co.id/2013/07/parallel-computation.html
Tidak ada komentar:
Posting Komentar