Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan 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.Penggunaan komputasi parallel prosessing merupakan pilihan yang cukup handal untuk saat ini untuk pengolahan data yang besar dan banyak, hal ini apabila dibandingkan dengan membeli suatu super komputer yang harganya sangat mahal maka penggunaan komputasi parallel prosessing merupakan pilihan yang sangat tepat untuk pengolahan data tersebut.

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi.  Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.

Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebutdilakukan oleh suatu software yang betugas untuk mengatur komputasi.

Komputasi paralel membutuhkan:

  1. algoritma
  2. bahasa pemrograman
  3. compiler

Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih darisatu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapatmelakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

Contoh struktur pengiriman permintaan dan jawaban dari parallel processing

Aristektur Komputer Parallel

Taksonomi Flynndan model pemrosesan parallel

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

Keempat kelompok komputer tersebut adalah :

1. Komputer SISD (Single Instruction stream-Single Data stream)

Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi jugadimungkinkan adanya

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, dan lain-lain), selama seluruh unit fungsional tersebut beradadalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD dapat dilihat padagambar .1 (a).

2. Komputer SIMD (Single Instruction stream-Multiple Data stream)

Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuahunit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksiyang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan datayang berbeda yang berasal dari aliran data yang berbeda pula. Skema arsitektur global komputer SIMD dapat dilihat pada gambar .1 (b).

 3. Komputer MISD (Multiple Instruction stream-Single Data stream)

Komputer jenis ini memiliki   n   unit  pemroses yang masing-masing menerima danmengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat padagambar .1 (c).

4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)

Pada sistem komputer MIMD murni terdapat interaksi di antara  n   pemroses. Hal ini disebabkanseluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.Komputer MIMD bersifat tightly coupled  jika tingkat interaksi antara pemroses tinggi dandisebut loosely coupled  jika tingkat interaksi antara pemroses rendah.

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer denganmemakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi biladibandingkan dengan pemakaian komputasi pada komputer tunggal.

Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

a)Komputasi Tunggal / serial

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

http://ml.scribd.com/doc/32982265/Parallel-Processing

Pemrosesan paralel menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.

PARALLEL PROCESSING Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi. Komputasi Parallel Salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Komputasi Paralel membutuhkan 1. Algoritma 2. Bahasa pemrograman 3. Compiler Pemrograman Parallel Teknik pemrograman komputer yang memungkinkan eksekusi perintah atau operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bahasa Pemrograman yang digunakan pada Pemrograman Parallel 1. MPI (Message Passing Interface) 2. PVM (Parallel Virtual Machine) MPI (Message Passing Interface) Sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. MPI (Message Passing Interface) Suatu standar protokol yang digunakan untuk pemrograman paralel dan terdistribusi. 1

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 1. Menyediakan fungsi-fungsi untuk menukar pesan. 2. Menulis kode paralel secara portable. 3. Mendapatkan performa yang tinggi dalam pemrograman paralel. 4. Menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel. Implementasi MPI MPICH (MPI/Chameleon) MPICH2 adalah implementasi Message Passing Interface (MPI). MPI merupakan standar spesifikasi library untuk program message-passing, yang diajukan sebagai standar oleh vendor, implementor, dan user. 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 tersebar, 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. Komponen PVM PVM daemon Daemon dari PVM, atau disebut PVM daemon 2

(pvmd). Daemon merupakan semacam program yang berjalan di belakang dan biasanya menangani program dari klien. Komponen ini berada pada setiap komputer yang terhubung dalam virtual machine. PVM Berguna untuk membentuk konfigurasi host dalam PVM dan mengkoordinir komunikasi antar host. Komponen PVM PVM libraries Komponen ini berisi rutin-rutin antarmuka pemakai PVM untuk melakukan pengiriman pesan, pembuatan proses, koordinasi proses dan modifikasi virtual machine. Pustaka PVM ini memungkinkan adanya interaksi antar task, yang bisa dilakukan dengan menggunakan fungsi packing dan unpacking pesan. Implementasi PVM Secara umum, langkah implementasi komputasi parallel sebagai berikut : 1. Jalankan PVM daemon pada setiap mesin dalam cluster 2. Jalankan program master pada master daemon 3. Master daemon akan menjalankan proses slave. Implementasi PVM Untuk mengimplementasikannya, dapat memakai tools : - PVM versi 3.4.5, virtual machine dan routine untuk komputasi parallel - rsh (remote shell), aplikasi untuk authentikasi dan komunikasi proses antar komputer. - xpvm versi 1.2, interface grafis untuk PVM dengan animasi eksekusi komputasi parallel yang dapat dilihat dilayar 3

Arsitektur Komputer Parallel Komputer SISD Semua instruksi dikerjakan terurut satu demi satu. Pada umumnya komputer terdiri atas satu buah pemroses (single processor). Contoh 1. UNIVAC1 4. IBM 360 2. CDC 7600 5. Cray 1 3. PDP 1 Komputer SIMD Terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh pengendali yang sama sebuah unit Contoh 1. ILLIAC IV 4. Cray Y-MP 2. MasPar 5. Thingking Machine CM-2 4

3. Cray X-MP, 6. Cell Processor (GPU) Komputer MISD Memiliki n unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama Komputer MIMD Murni terdapat interaksi di antara n pemroses, bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan loosely coupled jika tingkat interaksi antara pemroses rendah Contoh 1. IBM POWER5 4. HP/Compaq AlphaServer 2. Intel IA32 5. AMD Opteron 3. Cray XT3 6. IBM BG/L Perbedaan antara komputasi tunggal dengan komputasi paralel 5

6