Parallel Computing
Parallel computing adalah penggunakan 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 dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan. 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.
Secara tradisional, perangkat lunak telah ditulis untuk komputasi serial:
• Masalah dipecah menjadi serangkaian instruksi terpisah
• Instruksi dijalankan secara berurutan satu demi satu
• Dieksekusi pada satu prosesor
• Hanya satu instruksi yang dapat dijalankan setiap saat
Dalam arti yang paling sederhana, komputasi paralel adalah penggunaan beberapa sumber daya komputasi secara bersamaan untuk memecahkan masalah komputasi:
• Masalah dipecah menjadi beberapa bagian yang dapat diselesaikan secara bersamaan
• Setiap bagian selanjutnya dipecah menjadi serangkaian instruksi
• Instruksi dari setiap bagian dijalankan secara bersamaan pada prosesor yang berbeda
• Mekanisme kontrol / koordinasi keseluruhan digunakan
• Masalah komputasi harus mampu:
- Dipecah menjadi beberapa bagian pekerjaan yang dapat diselesaikan secara bersamaan;
- Jalankan beberapa instruksi program kapan saja;
- Dipecahkan dalam waktu yang lebih singkat dengan beberapa sumber daya komputasi dibandingkan dengan satu sumber daya komputasi.
• Sumber daya komputasi biasanya:
- Satu komputer dengan banyak prosesor / inti
- Sejumlah sembarang komputer yang terhubung oleh jaringan
• Hampir semua komputer yang berdiri sendiri saat ini paralel dari perspektif perangkat keras:
- Beberapa unit fungsional (cache L1, cache L2, cabang, prefetch, decode, floating-point, pemrosesan grafis (GPU), integer, dll.)
- Beberapa unit / inti eksekusi
- Beberapa utas perangkat keras
Konsep dan Terminologi
Kosep paralel adalah suatu konsep yang melalui peroses secara paralel yang terjadi dalam sebuah komputer melaui kejadian intruksi – intruksi secara bersamaan pada waktunya. Pada perkembangan – perkembangan yang terjadi pada zaman ini dalam arsitektur komputer teknologi prosesor berkembang sangat pesat, komputer mengalami banyak perubahan, dahulu komputer sekuensial mengalam keterbatasan dalam hal kecepatan pada kecepatan pemrosesannya yang terjadi pada prosesor. Disinilah konsep paralel terlahir akan mengurus masalah tersebut dengan mempergunakan cara dengan membutuhkan kecepetan pemrosesan yang sangat tinggi untuk suatu aplikasi berjalan.
Menurut klasifikasi Michael J. Flynn sistem untuk komputer dan program paralel yang dikenal dengan taksonomi Flyn, didasarkan akan pengelompokkan komputer dan program dari banyaknya inttruksi yang di eksekusi dan banyaknya data yang akan digunakan oleh intruksi tersebut. Berikut adalah arsitektur paralel menurut Michael J. Flynn :
1.) SISD (Single Intruction –
Single Data)
Aristektur yang mempunyai satu prosesor yang mampu mengeksekusi instruksi tunggal, yang beroperasi pada aliran data tunggal. Dalam SISD, intruksi pada mesin ini diproses secara berurutan, maka komputer yang mempunyai model itu disebut komputer sekuensial. Sebagian komputer konvensional dibuat dengan menggunakan model SISD. Semua in intrusi dan data yang akan diproses dan disimpan di memori primer. Kecepatan pada pemrosesan model SISD dibatasi oleh kecepatan komputer yang dapat mentrasfer informasi secara internal. Arsitektur SISD kebanyakan terdapat pada IBM PC, Machintosh, dan workstation.
2.) SIMD (Single Instruction
– Multiple Data)
Arsitektur yang mempunyai komponen hardware yang lebih dari satu prosesor, melakukan operasi yang sama pada beberapa operan data secara bersamaan. Biasanya mesin SIMD menerima sebagai input dua vektor yang melakukan operasi sama pada kedua set operand dan mengeluarkan vektor dengan hasilnya. Sistem SIMD terdapat pada kompuuter ILLIAC IV , dan Thinking Machines CM-2 .
3.) MISD (Multiple
Instruction – Single Data)
Aristektur ini memiliki satu prosesor dan menjalankan intruksi yang berbeda pada satu aliran data. Jenis paralel ini tidak begitu umum tetapi dapat ditemukan dalam arsitektur pipeline seperti systolic array.
4.) MIMD (Multiple
Instruction – Multiple Data)
Arsitektur ini memiliki banyak prosesor dengan local memory, dan dapat mengurangi waktu komputasi dengan menditrubisikan tugas di antara prosesor. Namun, sistem ini membutuhkan algoritma khusus untuk komputasi paralel untuk menyelesaikan masalah dengan kinerja tinggi menggunakan komputer semacam ini. Beberapa komputer yang menggunakan arsitektur MIMD yaitu IBM POWER5, AMD Opetron dan Intel IA32.
Parallel Computer Memory Architectures
Shared Memory
Distributed Memory
Hybrid Distributed-Shared Memory
Sumber :
0 comments:
Post a Comment