Nama : Rio Nicolas Van Demorez N
Kelas : 4IA25
NPM : 56412431
Pengertian Komputasi
Paralel
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.
Terdapat
dua hukum yang berlaku dalam sebuah parallel processing. yaitu:
Hukum Amdahl
Amdahl berpendapat, “Peningkatan kecepatan secara paralel
akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan
mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah
masalah.”
Hukum Gustafson
Pendapat
yang dikemukakan Gustafson hampir sama dengan Amdahl, tetapi dalam pemikiran
Gustafson, sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih
mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor
eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang
digunakan.
Tujuan
Komputasi Paralel
Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer
dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke
dalam beberapa masalah kecil, membuat kinerja menjadi cepat.
Formula
komputasi paralel yang diajukan pada hukum Amdahl :
Dimana a adalah banyaknya paralel yang terjadi. Secara teori, artinya proses penyelesaian masalah menjadi lebih cepat dengan menggunakan komputasi paralel.
1. Parallelism Concept
Paralelisme (parallelism) lahir dari pendekatan yang biasa dipergunakan
oleh para perancang sistem untuk menerapkan konsep pemrosesan konkuren. Teknik
ini meningkatkan kecepatan proses dengan cara memperbanyak jumlah modul
perangkat keras yang dapat beroperasi secara simultan disertai dengan membentuk
beberapa proses yang bekerja secara simultan pada modul-modul perangkat keras
tersebut. Secara formal, pemrosesan paralel adalah sebuah bentuk efisien
pemrosesan informasi yang menekankan pada eksploitasi dari konkurensi
kejadian-kejadian dalam proses komputasi.
Pemrosesan paralel dapat terjadi pada beberapa tingkatan (level)
proses. Tingkatan tertinggi pemrosesan paralel terjadi pada proses di antara
banyak job (pekerjaan) atau pada program yang menggunakan multiprogramming,
time sharing, dan multiprocessing. Multiprogramming kemampuan eksekusi terhadap
beberapa proses perangkat lunak dalam sebuah system secara serentak, jika
dibandingkan dengan sebuah proses dalam satu waktu, dan timesharing berarti
menyediakan pembagian selang waktu yang tetap atau berubah-ubah untuk banyak
program.
Multiprocessing adalah dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali. Pemrosesan paralel dapat juga terjadi pada proses di antara prosedurprosedur atau perintah perintah (segmen program) pada sebuah program.
Multiprocessing adalah dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali. Pemrosesan paralel dapat juga terjadi pada proses di antara prosedurprosedur atau perintah perintah (segmen program) pada sebuah program.
Untuk
meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara :
1.1. Peningkatan kecepatan perangkat keras.
Komponen utama perangkat keras komputer
adalah processor. Meskipun kecepatan processor dapat ditingkatkan terus, namun
karena keterbatasan materi pembuatnya, tentu ada suatu batas kecepatan yang tak
mungkin lagi dapat dilewati. Karena itu timbul ide pembuatan komputer
multiprocessor. Dengan adanya banyak processor dalam satu komputer, pekerjaan
bisa dibagi-bagi kepada masing-masing processor. Dengan demikian lebih banyak
proses dapat dikerjakan dalam satu saat. Peningkatan kecepatan setiap proses bisa
dicapai melalui peningkatan kecepatan perangkat lunak. Kecepatan perangkat
lunak sangat ditentukan oleh algoritmanya.
1.2. Peningkatan kecepatan perangkat lunak.
Program komputer untuk komputer sekuensial
harus menyediakan sederetan operasi untuk dikerjakan oleh prosesor tunggal.
Program komputer untuk komputer paralel harus menyediakan sederetan operasi
untuk beberapa prosesor untuk dikerjakan secara paralel, termasuk operasi untuk
mengatur dan mengitegrasikan prosesor-prosesor yang terpisah tersebut mengerjakan
suatu komputasi yang koheren. Kebutuhan akan pembuatan dan pengaturan berbagai
aktivitas komputasi paralel menambah dimensi baru proses dari pemrograman
komputer. Algoritma untuk problem yang spesifik harus diformulasikan sedemikian
rupa, agar menghasilkan aliran operasi paralel yang kemudian akan dieksekusi di
prosesor yang berbeda. Karena itu, meskipun arsitektur multiprosesor dan
multikomputer mempunyai pontensi yang tinggi untuk meningkatkan kemampuan
komputasi, potensi ini akan tercapai melalui pengertian yang baik mengenai
bahasa pemrograman paralel dan perancangan algoritma paralel.
2.
Distributed
Processing
Aktivitas
memproses informasi dalam suatu organisasi yang dijalankan oleh jaringan
komputer yang tersambung oleh saluran telekomunikasi yang terpusat pada
fasilitas induk komputer biasa disebut dengan distributed processing.
Dalam
penerapannya, proses ini menggunakan pemrosesan paralel pada beberapa mesin.
Misalnya proses transaksi yang terjadi pada beberapa mesin ATM sebuah bank.
Ketika ribuan nasabah menggunakan mesin ATM pada saat yang bersamaan, bayangkan
berapa banyak proses yang harus dikerjakan jika hanya terdapat 1 komputer
server. Oleh karena itu dengan menggunakan Distributed Processing, beban
pemrosesan yang besar dapat di kerjakan oleh beberapa komputer yang terhubung
oleh jaringan dalam waktu yang bersamaan secara simultan. Beban pemrosesan yang
besar itu dipecah menjadi beberapa beban kecil guna mempercepat proses.
3.
Architectural
Parallel Computer
Dibawah ini akan dijelaskan beberapa macam
arsitektur paralel komputer menurut Klasifikasi Flynn’s :
1. SISD
Single Instruction – Single Data.
Komputer jenis ini hanya memiliki satu prosesor ( single processor ). Dimana
semua instruksi di eksekusi secara serial ( terurut satu demi satu ) dan
memungkinkan adanya overlapping di setiap bagian instruksi dalam pelaksanaan
eksekusi. Komputer ini adalah tipe komputer konvensional. Beberapa contoh
komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1
dan PDP.
2. SIMD
Single Instruction – Multiple Data.
Komputer jenis ini hanya dapat mengeksekusi satu instruksi dan memiliki lebih
dari satu prosesor. Satu eksekusi dilakukan secara paralel pada data yang
berbeda pada level lock-step. Komputer vektor adalah salah satu komputer
paralel yang menggunakan arsitektur ini. Beberapa contoh komputer yang
menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP,
Thingking Machine CM-2 dan Cell Processor ( GPU ).
3. MISD
Multiple Instructions – Single Data.
Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk
prototipe untuk penelitian. 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.
4. MIMD
Multiple Instructions – Multiple
Data. Komputer jenis ini dapat mengeksekusi lebih dari satu instruksi secara
paralel dengan lebih dari satu prosesor. 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.
Sumber :
http://nazaruddin.blog.unigha.ac.id/2013/08/24/pengertian-komputasi-paralel/
http://flashintata.blogspot.co.id/2013/05/parallel-computation.html
http://bungatiarakaristi.blogspot.co.id/2013/06/bab-4-softskill-parallel-computation.html
0 komentar:
Posting Komentar