Parallel Processing
Yaitu penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simulta. Tujuan utama dari Parallel Processing adalah untuk meningkatkan performa komputasi.
Komputasi Parallel yaitu salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Mesin parallel, 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 parallel. Selanjutnya pemakai harus membuat pemrograman parallel untuk merealisasikan komputasi.
Pemrograman parallel, adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi parallel), baik dalam komputer dengan satu (processor tunggal) ataupun banyak (processor ganda dengan mesin parallel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).
Komputasi paralel membutuhkan :
- algoritma
- bahasa pemrograman
- Compiler
Berikut adalah bahasa pemrograman yang digunakan pada pemrograman Parallel:
- MPI ( Message Passing interface ).
Sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara parallel.
Suatu standard protocol yang digunakan untuk pemrograman paralel dan terdistribusi. Proses pertukaran pesan atau data antar proses adalah dengan mengirimkan pesan melalui media komunikasi. Model ini juga dapat diimplementasikan pada bermacam - macam platform, seperti shared-memory.
Kegunaan MPI Yaitu:
- Menyediakan fungsi-fungsi untuk menukar pesan.
- Menulis kode parallel secara portable.
- Pendapatkan performa yang tinggi dalam pemrograman parallel.
- Menghadapi permasalahan yang melibatkan hubungan dari irreguler atau dinamis yang tidak begitu cocok dengan model data parallel.
2. PVM (Private Virtual Machine )
Perangkat lunak yang memungkinkan sekumpulan komputer yang heterogen terlihat seperti satu sistem komputer paralel dan dapat digunakan sebagai sebuah sumber daya komputasi yang koheren.
Istilah virtual machine mengacu pada konfigurasi komputer dengan memori terbesar, sedangkan istilah host ditujukan untuk komputer yang merupakan anggota dari virtual machine. Host dapat terdiri dari komputer yang berbeda-beda dan terpisah lokasinya secara fisik.
M. J. Flynn membedakan computer parallel kedalam 4 kelas berdasarkan konsep aliran data (data stream) dan aliran instruksi (instruction stream), yaitu :
1. Komputer SISD (Single Instruction stream-Single Data stream)
Adalah Sesuai dengan arti dari SISD sendiri, komputer yang memakai model ini adalah komputer dengan prosesor tunggal dan menjalankan satu instruksi yang dieksekusi secara serial. Yang sering menggunakan model ini adalah komputer konvensional. Contoh komputer yang menggunakan model SISD ini adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1. Gambarnya bisa di lihat di bawah ini.
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Adalah data yang akan dimanipulasi berbeda.Komputer dengan model ini memiliki lebih dari satu prosessor, tetapi hanya mengeksekusi satu instruksi yang sama pada data yang berbeda. Komputer vector adalah salah satu contoh komputer yang menggunakan model ini. Contoh lainnya adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Adalah datanya masih dalam bentuk teori. Teorinya komputer ini memiliki satu prosesor 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.
4. MIMD (Multiple Instruction stream-Multiple Data stream)
Adalah datanya yang paling banyak di gunakan. Komputer ini memiliki lebih dari satu prosesor 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 model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. T.G. Lewis membedakan komputer paralel ke dalam dua kelas, berdasarkan adaatau tidak adanya common global cloc. Ada dua macam bentuk koordinasi pada komputer parallel :
- Synchronous(saling terhubung proses pengolahannya)
Bentuk synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang lainnya.
- Asynchronous(tidak saling terhubung pegolahannya)
Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.
0 komentar:
Posting Komentar