KOMPUTASI
DENGAN PARALLEL PROCESSING
Komputasi
secara umum Ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada
penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan
komputer 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.
Sedangkan
pada komputasi modern 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 menggunakan pena 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.
TOKOH YANG MEMBAWA PENGARUH BESAR
DALAM PERKEMBANGAN KOMPUTASI MODERN
DALAM PERKEMBANGAN KOMPUTASI MODERN
John von
Neumann
John von
Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer
modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan
berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika
nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga
merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los
Alamos pada Perang Dunia II lalu.
Paralel Processing adalah kemampuan menjalankan tugas
atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau
bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana
sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses
penyelesaian masalah.
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.
Gambar diatas merupakan contoh dari sebuah komputasi
paralel, dimana pada gambar diatas terdapat sebuah masalah, dari masalah
tersebut dibagi lagi menjadi beberapa bagian agar sebuah masalah dapat dengan
cepat diatasi.
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.
Salah satu jenis penggunaan komputasi paralel adalah:
PVM(Parallel Virtual Machine) Merupakan sebuah
perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada jaringan.
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.
Perkembangan
di Indonesia
Di Indonesia,
usaha untuk membangun infrastruktur mesin paralel sudah dimulai sejak era
90-an, meski belum pada tahap serius dan permanen. Namun untuk pemrograman
paralel sudah sejak awal menjadi satu mata-kuliah wajib di banyak perguruan
tinggi terkait. Baru pada tahun 2005 dimulai pembuatan infrastruktur mesin paralel
permanen, misalnya yang dikembangkan oleh Grup Fisika Teoritik dan Komputasi di P2 Fisika LIPI. Didorong oleh
perkembangan pemrograman paralel yang lambat, terutama
terkait dengan sumber daya manusia (SDM) yang
menguasainya, mesin paralel LIPI ini kemudian dibuka untuk publik secara cuma-cuma
dalam bentuk LIPI Public Cluster (LPC).
Saat ini LPC telah dikembangkan lebih jauh menjadi gerbang komputasi GRID di Indonesia dengan
kerjasama global menjadi IndoGRID.
Pada tahun berikutnya, dengan dukungan dana dari proyek Inherent Dikti, Fasilkom UI juga membangun mesin paralel. Sementara itu pada tahun 2009, ITB membuat kluster hibrid CPU dan GPU yang pertama di Indonesia dengan kemampuan hingga 60 inti CPU dan 1920 inti GPU.
Pada tahun berikutnya, dengan dukungan dana dari proyek Inherent Dikti, Fasilkom UI juga membangun mesin paralel. Sementara itu pada tahun 2009, ITB membuat kluster hibrid CPU dan GPU yang pertama di Indonesia dengan kemampuan hingga 60 inti CPU dan 1920 inti GPU.
Hubungan
antara komputasi modern dengan paralel processing
Komputasi Paralel merupakan teknik untuk
melakukan komputasi secara
bersamaan dengan memanfaatkan beberapa komputer yang
independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan
data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena tuntutan
komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya kalkulasi
numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi),
kimia (kimai komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
nantinya dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak
pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi
antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang
asli dikembangkan di Indonesia adalah
OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public
Center.
Komputasi
paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer
dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara
bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau
komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von
Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi
tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan
beberapa processor), maka kita harus mengetahui 4 model komputasi yang
digunakan, yaitu:
- SIMD
- SIMD
- MISD
- MIMD
SISD
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya yang menggunakan arsitektur Von Neumann, karena pada model ini hanya menggunakan 1 processor saja. Oleh karena itu model ini 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.
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya yang menggunakan arsitektur Von Neumann, karena pada model ini hanya menggunakan 1 processor saja. Oleh karena itu model ini 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.
SIMD
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak processor dengan instruksi yang sama, namun dengan 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).
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak processor dengan instruksi yang sama, namun dengan 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).
MISD
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus yang sama pada contoh model SIMD namun cara untuk menyelesaikannya 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.
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus yang sama pada contoh model SIMD namun cara untuk menyelesaikannya 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.
MIMD
Pada Multiple Instruction, Multiple Data biasanya 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.
Pada Multiple Instruction, Multiple Data biasanya 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.
Kesimpulan:
Artikel diatas sudah menjelaskan secara singkat
tentang pengertian dari parallel processing. Pemrosesan paralel (parallel
processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan. Didalam artikel diatas juga diberikan gambaran sedikit
tentang perkembangan palalel processing di Indonesia. Tapi dalam artikel
diatas, kurang diberitahu kelebihan dan kelemahan dari hubungan antara parallel
processing dengan komputasi modern.
#Sumber Referensi
http://masteryuda.blogspot.co.id/2015/06/hubungan-antara-komputasi-modern-dengan.html
http://cluster.teori.fisika.lipi.go.id/utama.cgi?menu=hinfo
http://srifitri07.blogspot.co.id/2014/06/hubungan-komputasi-modern-dengan.html
#Sumber Referensi
http://masteryuda.blogspot.co.id/2015/06/hubungan-antara-komputasi-modern-dengan.html
http://cluster.teori.fisika.lipi.go.id/utama.cgi?menu=hinfo
http://srifitri07.blogspot.co.id/2014/06/hubungan-komputasi-modern-dengan.html
Tidak ada komentar:
Posting Komentar