Friday, April 29, 2016
Parallel Computation
Nama : Dessy Maria Simbolon
NPM : 51412900
Mata Kuliah : Penghantar Komputasi Modern
Parallel
Computation
Komputasi
paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya
diperlukan saat 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 di bidang fisika
(fisika komputasi), kimia (kimia komputasi) dll.
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. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang
dijalankan diatasnya otomatis akan diolah secara parallel.
Di
dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi
perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer
dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin
paralel) 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).
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. Analogi yang paling
gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat
anda akan memasak, waktu yang anda butuhkan 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 anda
memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman,
berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan
kecepatan sebanyak 2 kali.
Parallel
processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa
program sekaligus. Parallel processing disebut juga parallel computing. Pada
system komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit
memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu
shared memory address dan message passing. Berdasarkan cara mengorganisasikan
memori ini computer parallel dibedakan menjadi shared memory parallel machine
dan distributed memory parallel machine.
Komputer dikatakan
sebagai mesin komputasi paralel jika memenuhi beberapa syarat berikut ini:
·
Data yang diproses dipecah menjadi
bagian-bagian terpisah yang bekerja secara independen dan terus-menerus.
·
Proses pengeksekusian instruksi ganda.
Sehingga dalam sekali waktu, bisa dihasilkan 2 atau lebih suatu output data.
Untuk lebih detilnya bisa dibaca pada sub bab taksonomi Flynn. Yang dalam hal
ini sangat berbeda dengan paradigma perkembangan pengolahan data yang berkisar
pelebaran jalur data, bukan penjamakan instruksi
·
Dapat menyelesaikan tugas lebih cepat
daripada dengan perangkat serial.
A. Konsep Paralel
Konsep paralel adalah
sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas
secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan
satu ataupun banyak tugas dalam satu waktu.
B. Pemrosesan Terdistribusi
Pemrosesan
terdistribusi merupakan proses pendistribusian pengolahan paralel dalam
pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan
dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan
suatu masalah dengan proses yang cepat.
C. Arsitektur Komputer Paralel
Menurut seorang
Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4
baguan, yaitu :
1. SISD ( Single Instruction Single Data
Stream )
Jenis Komputer yang
hanya memiliki satu prosesor dan satu instruksi yang dieksekusi secara serial.
2. SIMD ( Single Instruction Multiple Data Stream )
Jenis komputer yang
memiliki lebih dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu
instruksi secara paralel pada data yang berbeda pada level lock-step.
3. MISD ( Multiple Instruction Single Data
Stream )
Jenis komputer yang
memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel
tetapi di dalam praktiknya tidak ada komputer yang dibangun dengan arsitektur
ini karena sistemnya tidak mudah dipahami, sampai saat ini pun belum ada
komputer yang menggunakan arsitektur jenis ini
4. MIMD ( Multiple Instruction Multiple Data
Stream )
Jenis komputer yang
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, karena
model dan konsepnya yang tidak terlalu rumit untuk dipahami.
5. Pengantar Thread Programming
Sebuah thread di dalam
pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah
program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread
ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program
secara bergantian dan user akan masuk kembali menggunakan user yang berbeda.
Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya
menjadi memori, disaat proses lain tidak membaginya.
6. Pengantar Message Passing, Open MP
Message Passing
merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel,
OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan
komunikasi interproses
7. Pengantar Pemrograman CUDA GPU
Sebelum saya membahas
tentang CUDA, saya akan membahas GPU terlebih dahulu. GPU dalah sebuah
processor khusus untuk memepercepat dan mengubah memori untuk mempercepat
pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card
komputer ataupun laptop.
8. CUDA(Compute Unified Device Architecture)
adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic
Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis
namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan
banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun
komputasi yang banyak.
Sumber :
http://3nurdianto.blogspot.co.id/2015/06/artikel-pengantar-quantum-computation.html
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment