Rabu, 16 Juni 2010

ParalelPrograming

Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat,
komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan
pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (paralelism) untuk
menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat
tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan
aerodinamika dan lain-lain.
Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel,
perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis
algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma
untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu
masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

Pengolahan Paralel adalah suatu cara pengolahan informasi yang menekankan
manipulasi data yang dimiliki oleh 1 atau lebih proses secara bersamaan dalam
menyelesaikan suatu masalah. Pemrosesan paralel memerlukan hubungan antar elemenelemen pemroses.

Komputasi Pengolahan Paralel adalah proses atau pekerjaan komputasi di
komputer dengan memakai suatu bahasa pemrograman yang dijalankan secara paralel pada
saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan
kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer
tunggal. Penggunaan komputasi paralel 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 paralel prosessing merupakan pilihan yang sangat tepat untuk pengolahan data
tersebut. Paralel komputasi adalah 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 tersebut dilakukan oleh suatu
software yang betugas untuk mengatur komputasi.

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 ataupun karena tuntutan proses komputasi yang banyak.
Contoh 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. 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. Secara singkat computer paralel adalah computer dengan banyak
prosesor yang meiliki kemampuan untuk melakukan pengolahan paralel.
Software - software ( perangkat lunak ) yang biasa digunakan dalam Pengolahan
Paralel adalah :


MPI Message Passing Interface adalah bahasa pemrograman dengan basis pertukaran pesan.
PVM Paralel Virtual Machine adalah salah satu perangkat lunak yang mampu
mensimulasikan pemrosesan paralel pada jaringan computer.
Embarasingly Paralel adalah pemrograman paralel yang digunakan pada masalahmasalah
yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain.
Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal,
karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.
Menurut M.J. Flynn model Komputasi paralel berdasarkan alur instruksi dan alur
data yang digunakan dibedakan menjadi 4 :
1) SISD Single Instruction stream Single Data stream, ini prosesor tunggal, yang
bukan paralel.
2) SIMD Single Instruction stream Multiple Data stream, alur instruksi yang sama
dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau
tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya
inputnya, jadi inputnya lain-lain tapi program yang digunakan sama.
3) MIMD Multiple Instruction stream Multiple Data stream, alur instruksinya banyak,
alur datanya juga banyak, tapi masing-masing bisa berinteraksi.
4) MISD Multiple Instruction stream Single Data stream, alur instruksinya banyak
tapi beroperasi pada data yang sama.

Taksonomi paradigma komputasi paralel :
Komputer Paralel
Sinkron
Vektor / Array
SIMD
Systolic
Asinkron
MIMD
Reduksi

Menurut T.G. LEWIS ada dua metode umum untuk mengkoordinasikan komputer paralel:
1. Sinkron:
membuat koordinasi sinkron atau lockstep pada hardware dengan memaksa semua operasi dikerjakan pada saat yang sama dan dengan cara yang menghapus ketergantungan satu task dari yang lainnya.

2. Asinkron:
Tidak ada koordinasi lockstep, bergantung pada mekanisme koordinasi yang disebut locks untuk mengkoordinasikan prosesor.
Menurut Michael J. Quinn, paralelisme terbagi menjadi 2 jenis :
1. Data Paralelisme : Penerapan operasi yang sama secara simultan terhadap elemen dari kumpulan data.
2. Control Paralelisme : Penerapan operasi operasi berbeda terhadap elemen data yang berbeda dalam waktu yang bersamaan. Contoh
control paralelisme adalah Pipeline.
Pipeline
Dalam teknik pipeline, problem dibagi menjadi deretan yang harus
dilaksanakan satu setelah lainnya. Setiap tugas nantinya akan dieksekusi oleh
proses atau prosesor yang berbeda
PC Jaringan atau lebih dikenal secara luas dengan istilah PC Cluster,
merupakan solusi ekonomis untuk mendapatkan sistem komputer berkemampuan
kinerja tinggi. Cluster Komputer atau Paralel Komputer adalah proses
menggabungkan beberapa PC ( disebut node ) menjadi seolah 􀂱 olah satu computer
dengan kemampuan yang lebih besar. Aplikasi system ini sudah sangat meluas
pemakaiannya, bahkan sudah mulai menggeser pemakaian Komputer super. Hal ini
dikarenakan system ini fleksibel terhadap perubahan teknologi computer yang sangat
cepat. Juga bisa dilakukan optimalisasi perangkat keras sesuai dengan karakteristik
penggunaan. Misalnya untuk aplikasi yang mementingkan kecepatan proses
penghitungan cukup dengan prosesor dan memori saja tanpa media penyimpanan di
setiap PC.
Usaha lebih jauh dilakukan untuk mengembangkan potensi computer paralel
ini. Alternatif baru tersebut adalah melakukan koneksi untuk memparalelkan
computer pribadi melalui jaringan internet.

Cluster merupakan sebuah terminologi umum yang berarti: kumpulan
komputer-komputer independen dalam sebuah unifikasi sistem lewat software
dan jaringan. Pada dasarnya, dua atau lebih komputer yang digunakan untuk
memecahkan sebuah masalah bersama-sama, dapat dikategorikan sebagai
cluster.
Cluster biasanya digunakan untuk tujuan HA (High Availability)
atau HPC (High Performance Computing). Tipe yang pertama lebih ditujukan
kepada reliabilitas tinggi atau kestabilan dari sebuah sistem. Sedangakan tipe
yang kedua menjanjikan tenaga komputasi yang jauh lebih besar dibandingkan
tenaga komputer uniprosesor.
Cluster terbagi kedalam 2 (dua) kelas, yaitu:
Class I Cluster yang dibangun menggunakan hardware/software umum yang
ada dipasaran, dengan teknologi standar seperti IDE, SCSI, dan
Ethernet.
Class II Cluster berbiaya tinggi, yang dibangun menggunakan hardware khusus
berkecepatan tinggi, untuk mencapai tingkat performa terbaik.
Komunikasi data pada sistem paralel memori terdistribusi,
memerlukan alat bantu komunikasi. Alat bantu yang sering digunakan oleh
sistem seperti PC Jaringan pada saat ini adalah standar MPI (Message
Passing Interface) atau standar PVM (Paralel Virtual Machine) seperti yang telah
disebutkan di atas. Keduanya bekerja diatas TCP/IP communication layer. Kedua
standar ini memerlukan fungsi remote access agar dapat menjalankan program
pada masing-masing unit prosesor.
Salah satu protocol yang dipergunakan pada komputasi parallel adalah
Network File System (NFS), NFS adalah protokol yang dapat membagi sumber
daya melalui jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis
sistem operasi, dan jenis protokol transport yang digunakan.
Network File System
Ada beberapa topologi jaringan yang dapat kita aplikasikan untuk
membuat PC cluster berbasis interkoneksi statis. Ada juga istilah yang sering
digunakan sebagai parameter jaringan interkoneksi statis. Yaitu :
(a) (b) (c) (d)
(a) completely connected (b) 3D hypercube (c) 4D hypercube (d) torus
MODEL PEMROGRAMAN PARALEL
Sistem komputer paralel dengan banyak prosesor yang bekerja secara
simultan memerlukan kemampuan untuk membagi data dan berkomunikasi antar
prosesor. Berdasarkan kedua kebutuhan tersebut terdapat dua arsitektur computer
parallel yaitu memori bersama dan message passing. Model message passing
merupakan model pemrograman paralel yang paling banyak digunakan.
Program message passing membentuk banyak task dimana setiap task
memiliki data lokal. Setiap task diidentifikasikan dengan sebuah nama yang unit dan
task-task tersebut berinteraksi dengan mengirim dan menerima message dari
task tertenu. Model message passing menangani pembentukan task secara dinamis,
eksekusi berbagai task pada setiap prosesor atau eksekusi program yang berbeda
oleh task yang berbeda.

KINERJA PROGRAM PARALEL
Speedup dapat didefinisikan sebagai berikut :
dimana :
S(n) = speedup,
T(1) = waktu eksekusi operasi pada sistem satu prosesor,
T(n) = waktu eksekusi pada sistem n prosesor.
Dari definisi speedup tersebut, lahir nilai efisiensi, E(n), untuk sistem dengan
n prosesor. Efisiensi didefinisikan sebagai berikut :
S(n) = T(1)
T(n)
E(n) = S(n) – T(1)
n nT(n)

1 komentar:

Anonim mengatakan...

unlock iphone 4
iphone 4 unlock
how to unlock iphone 4

http://www.theawesomearchfiend.com/apps/profile/75293757/ http://www.natalie-williams.com/apps/profile/75293757/

unlock iphone 4 iphone 4 unlock

unlock iphone 4 [url=http://unlockiphone421.com]unlock iphone 4[/url] iphone 4 unlock unlock iphone 4