Pengertian
Komputasi
Komputasi sebetulnya bisa diartikan
sebagai cara untuk menemukan pemecahan masalah dari data input dengan
menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika.
Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan
menggunakanpena dan kertas,
atau kapur dan
batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu
tabel. Namun sekarang, kebanyakan komputasi telah
dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah
bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta
penggunaankomputer untuk
menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam
penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai
bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai
bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan
prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu
komputer (computer science), yang mengkaji komputasi, komputer
dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan
sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam,
pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui
penerapan model-model matematika dalam program komputer berdasarkan landasan
teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam
ilmu tersebut.
Komputasi
paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. ... Kasus kedua
umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di
bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
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.
Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi
tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan
beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian
mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
1.
SISD (Single Instruction, Single Data) adalah satu-satunya yang
menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya
digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai
model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan
komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer
yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP
1.
2.
SIMD(Single Instruction, Multiple Data) menggunakan banyak
processor 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, dan kita menggunakan 5 processor. Pada setiap processor
kita menggunakan algoritma atau perintah yang 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
menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP,
Thingking Machine CM-2 dan Cell Processor (GPU).
3.
MISD(Multiple Instruction, Single Data) menggunakan banyak
processor dengan setiap processor menggunakan instruksi yang berbeda namun
mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk
contoh, kita bisa menggunakan kasus 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 dari urutan 1-100, namun algoritma
yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai
saat ini belum ada komputer yang menggunakan model MISD.
4.
MIMD( Multiple Instruction, Multiple Data) menggunakan banyak
processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah
data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga
memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model
MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray
XT3 dan IBM BG/L.
Berikut ini adalah
gambar perbedaa antara komputasi tunggal dengan parallel komputasi :
a)
a. komputasi tunggal/serial
b) b. komputasi
parallel
Hubungan antara Komputasi Modern dengan parallel processing
Saat ini penggunaan komputer
untuk menyelesaikan masalah sudah merasuk ke segala bidang. Hal ini karena
komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara
manual. Seiring dengan hal tersebut, semakin dituntut proses komputasi yang
semakin cepat. Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh
dua cara :
1. peningkatan kecepatan
perangkat keras,
2. peningkatan kecepatan
perangkat lunak.
Komponen utama perangkat keras
komputer adalah processor. Saat ini, peningkatan kecepatan processor
benar-benar luar biasa. Sebenarnya ada banyak cara komputasi yang bisa kita
gunakan dalam parallel processing, salah satunya komputasi parallel.
Pemrosesan paralel (parallel
processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan. Idealnya, parallel processing membuat program berjalan
lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,
seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang
berbea-beda tanpa berkaitan di antaranya.
Komputasi paralel adalah salah
satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer secara bersamaan.
Intinya Adalah :
“Komputasi paralel merupakan
salah satu teknik melakukankomputasi 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)
dl”
Adapun
yang membantu pemrosesan komputasi parallel untuk bekerja lebih cepat adalah
sebagai berikut :
Parallel
Virtual Machine (PVM)
PVM
adalah suatu perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada
jaringan komputer. Saat ini ada dua bahasa pemrograman yang didukung oleh PVM,
yaitu FORTRAN dan C. Versi PVM yang paling umum digunakan berbasis UNIX,
meskipun ada juga PVM berbasis Windows. Cara kerja PVM adalah dengan membuat
(spawning) proses-proses anak yang akan dikirim ke processor-processor yang
tersebar di jaringan komputer. Dengan PVM bisa ditentukan berapa jumlah
processor yang akan dilibatkan dalam proses komputasi.
Network
File System (NFS)
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 berdiri sendiri baik dari segi mesin, jenis
sistem operasi maupun jenis protokol transport yang digunakan. NFS
memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada
di remote host seperti mengakses file yang berada di lokal. Kegunaan dari NFS
pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap
node slave dapat mengakses program yang sama pada node master
Pemrograman
Paralel
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 computer 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.
Peningkatan
Kecepatan
Peningkatan
kecepatan dapat diformulasikan dalam persamaan berikut ini
Dimana T1 adalah
waktu yang dibutuhkan untuk menyelesaikan pekerjaan (program komputer) bila
dijalankan dalam satu komputer. Dan Tj adalah waktu yang dibutuhkan
jika pekerjaan dikerjakan bersamaan oleh beberapa komputer.
Ada
limitasi dalam usaha membuat suatu program komputer berjalan lebih
efisien melalui peningkatan kecepatan, hukum yang menetapkan batasan ini
dikenal sebagai Hukum Amdahl. Ide dari hukum amdahl ini adalah bahwa anda
hanya akan bisa meningkatkan efisiensi program komputer anda, sebatas
pada bagian tertentu dari program tersebut yang dapat di parallelkan. Sementara
bagian yang memang harus dilaksanakan secara berurutan, akan menjadi penentu
performa akhir.
Kembali
ke analogi memasak tadi, bila anda harus menggunakan sarung tangan sebelum
menyalakan kompor ataupun memotong bawang, maka waktu yang anda butuhkan untuk
memakai sarung tangan ini adalah waktu serial, yang tidak dapat dihindari.
Sementara waktu untuk memasak dan memotong bawang tadi adalah bagian yang bisa
diparalelkan.
Komentar :
Jika kita lihat dari hubungan yang
ada antara komputasi modern dengan paralel procesing diatas dapat dikatakan
bahwa hubungan keduanya sangatlah erat dan dapat dapat dikatakan saling
berketergantungan. Karena performa dari komputasi modern bergantung dengan
prosesor yang menjadi pusat pemrosesan data, yaitu CPU. Bila pemrosesan
dilakukan dengan pemrosesan paralel yang tepat, maka performa dari komputasi
modern akan berjalan dengan baik dan maksimal. Bila arsitektur paralel
processing yang digunakan kurang tepat, maka pemrosesan data juga tidak akan berjalan
maksimal dan baik. Dengan meminimalisir arsitektur, path, dan biaya maka
pemrosesan yang dilakukan akan dapat dilakukan semaksimal mungkin.
Sumber:
ajuarna.staff.gunadarma.ac.id/Downloads/files/…/ArtikelEpilog.pd
https://id.scribd.com/doc/40938360/Makalah-Arkom-Paralel-Processing?irgwc=1&content=10079&campaign=Skimbit%2C%20Ltd.&ad_group=&keyword=ft750noi&source=impactradius&medium=affiliate