Parallel Computing



Assalamualaikum Wr Wb
Halo teman-teman aku mau nugas lagi hehe, tugas kali ini membahas “Parallel Computing”. Semoga bermanfaat yah hehe.

Parallel Computing
Parallel computing adalah penggunaan lebih dari satu komputer untuk melakukan komputasi secara bersamaan. Ini umumnya diperlukansaat 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 dibidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralelyang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secaraparalel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukungyang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antarnode dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untukmerealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankandiatasnya otomatis akan diolah secara parallel.
Di dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel.Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusiperintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputeryang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yangterhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistemterdistribusi (distributed computing).
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi.Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakinbanyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapatmerebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang andabutuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan(serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan(speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila andamemotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua andabisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapaprogram sekaligus. Parallel processing disebut juga parallel computing. Pada system komputasiparallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbedauntuk mengakses data di unit memori, yaitu shared memory address dan message passing.Berdasarkan cara mengorganisasikan memori ini computer parallel dibedakan menjadi sharedmemory parallel machine dan distributed memory parallel machine.
Arsitektur Parallel Computing
SISD (Single Instruction stream-Single Data stream)
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yangmenggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal.Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapaprocessor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM360, CDC 7600, Cray 1 dan PDP 1.
SIMD (Single Instruction stream-Multiple Data stream)
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyakprocessor 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, dankita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintahyang 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 menggunakanmodel SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2dan Cell Processor (GPU).
MISD (Multiple Instruction stream-Single Data stream)
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyakprocessor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah datayang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakankasus 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 dariurutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiapprocessor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD (Multiple Instruction stream-Multiple Data stream)
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyakprocessor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yangberbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBMPOWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Keuntungan Parallel Computing
Keuntungan utama parallel computing adalah program dapat melakukan eksekusi secara lebih cepat. Jika hardware komputer yang mengeksekusi sebuah program yang menggunakan parallel computing memiliki arsitekturnya, seperti pada processor (CPU / Central Processing Unit), parallel computing dapat menjadi sebuah teknik yang efisien. Sebagai sebuah analogi, jika satu orang membawa satu boks dan orang tersebut adalah processor, program yang mengeksekusi secara berurutan hanya dapat membawa satu boks dalam satu waktu. Ketika mengeksekusi dalam paralel, program yang sama dapat terbagi ke dalam dua task berbeda, dan jika terdapat dua processor yang tersedia, maka dapat membawa dua boks dalam waktu yang sama. Dengan melakukan hal ini, orang tersebut dapat membawa boks dan menyelesaikan tugasnya secara lebih cepat.

Komentar

Postingan populer dari blog ini

FLOWCHART

#PetGame - Sejarah Perkembangan Game