Komputasi paralel: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Borgx (bicara | kontrib)
k Suntingan Ardi2007 (Pembicaraan) dikembalikan ke versi terakhir oleh Borgx
Borgx (bicara | kontrib)
kTidak ada ringkasan suntingan
Baris 1:
'''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.
{{gabungdari|Komputasi 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 komputer-komputer terpisah yang terhubung dalam suatu [[jaringan komputer]] lebih sering istilah yang digunakan adalah [[Komputasi Terdistribusi |sistem terdistribusi]] (''distributed computing'').
 
==Mesin Motivasi paralel==
 
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 paralel !
 
==GRID<ref>[http://www.grid.org GRID : informasi online mengenai grid]</ref>==
 
GRID merupakan pengembangan teknologi mesin paralel dengan memanfaatkan [[jaringan]] [[pita lebar]] di era dijital. Dengan adanya jaringan pita lebar, paralelisasi tidak hanya dilakukan antar [[komputer]] dalam satu jaringan, tetapi juga antar mesin paralel yang terpisah secara geografis.
 
==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 komputer-komputer terpisah yang terhubung dalam suatu [[jaringan komputer]] lebih sering istilah yang digunakan adalah [[Komputasi Terdistribusi |sistem terdistribusi]] (''distributed computing'').
 
=== Motivasi ===
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
 
Baris 18 ⟶ 29:
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.
 
=== Hukum Amdahl ===
 
Telah dijelaskan bahwa dari <math> T_1 </math> (waktu yg dibutuhkan menjalankan pekerjaan dalam satu komputer) tadi, ada sebagian yg tidak bisa diparalelkan. Untuk menyatakan ini kita gunakan notasi <math> \alpha </math> dimana <math> 0 \le \alpha \le 1</math> menunjukkan berapa bagian dari <math> T_1 </math> yang '''tidak bisa ''' dijadikan paralel (atau bagian serial dari program ini).
 
Baris 44 ⟶ 56:
Dalam [[sistem terdistribusi]] dimana anda berusaha menggunakan lebih banyak prosesor untuk menyelesaikan masalah, akan ada imbal balik. Menggunakan komputer tambahan dari lokasi yang berbeda memberikan anda sumber komputasi baru, tapi juga melibatkan biaya komunikasi tambahan, saat anda harus memberikan pekerjaan tersebut pada komputer yg terpisah.
 
===Bahasa populer dalam Pemrograman Paralel===
 
* [http://www-unix.mcs.anl.gov/mpi/ MPI] Message Passing Interface, bahasa pemrograman dengan basis pertukaran pesan.
* [http://www.csm.ornl.gov/pvm/pvm_home.html PVM] Parallel Virtual machine.
 
===Istilah-istilah dalam pemrograman paralel===
 
* ''Embarasingly Parallel'' adalah pemrograman paralel yang digunakan pada masalah-masalah 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.
* Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:
Baris 56 ⟶ 70:
** MISD Multiple Instruction Single Datapath, alur instruksinya banyak tapi beroperasi pada data yang sama.
 
==Infrastruktur di Indonesia==
 
==Infrastruktur Perkembangan di [[Indonesia]]==
Di [[Indonesia]], infrastruktur [[mesin paralel]] permanen belum banyak, kecuali mesin paralel yang dipakai di industri finansial dsb yang merupakan satu paket produk jadi. Ini karena rendahnya kebutuhan akan [[komputasi paralel]] yang belum besar. Saat ini (akhir 2007), kebutuhan maksimum yang diketahui untuk [[komputasi paralel]] di bidang [[sains]] adalah 5 GFlops <ref>[[Workshop on Computational Science]] 2K7, UNPAD, Bandung.</ref>.
 
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]])<ref> ''[http://www.cluster.lipi.go.id LIPI Public Cluster]''</ref>. 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<ref>[http://www.grid.ui.ac.id InGRID]</ref>.
Kebutuhan yang rendah ini lebih disebabkan karena masih terbatasnya sumber daya manusia (SDM) yang menguasai [[pemrograman paralel]] dan kemudian mampu mengaplikasikannya di bidangnya. Namun sejak [[2005]] telah dibuka sarana [[mesin paralel]] publik yang bisa diakses cuma-cuma di [[LIPI Public Cluster]] (LPC)<ref> ''[http://www.cluster.lipi.go.id LIPI Public Cluster]''</ref> yang dikelola oleh [[Grup Fisika Teoritik dan Komputasi]] di [[P2 Fisika]] [[LIPI]]. Setelahnya juga telah dibangun fasilitas serupa meski tidak terbuka penuh layaknya LPC di [[Fasilkom]] [[UI]] <ref>[http://www.grid.ui.ac.id InGRID]</ref> pada tahun 2006 akhir.
 
==Referensi==
Baris 66 ⟶ 81:
<references />
 
[[Kategori:Artikel yang perlu diperbaiki bertopik teknologi informasi]]
[[Kategori:Paradigma pemrograman]]
[[Kategori:Artikel yang perlu diperbaiki bertopik teknologi informasi]]