Pages

Subscribe:

Jumat, 25 Februari 2011

Komputasi Terdistribusi


Latar Belakang Komputasi Terdistribusi
Perkembangan kecepatan prosesor berkembang sesuai dengan hukum Moore, meskipun demikian bandwidth jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada. Pesatnya perkembangan teknologi di negara-negara maju, membuat para peneliti semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki super komputer dengan kapasitas yang sangat tinggi, apa yang sudah ada ini masih dirasa kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yang dimiliki oleh seorang peneliti yang haus akan tenaga komputasi digunakan secara habis-habisan untuk memecahkan masalah, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tetapi tetap saja masalahnya belum juga dapat terpecahkan, maka komputasi terdistribusi adalah salah satu jawaban untuk memecahkan persoalan tersebut. Komputasi terdistribusi disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumber daya, dan akses terhadap sumber daya terseebut. Komputasi terdistribusi berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komputer personal.
Secara historis, komputasi terdistribusi telah difokuskan pada masalah penyebaran perhitungan antara beberapa sistem yang bersama-sama bekerja pada masalah. Abstraksi komputasi terdistribusi paling sering digunakan adalah RPC - Remote Procedure Call. RPC memungkinkan fungsi remote akan dipanggil seolah-olah itu adalah satu lokal. Sejarah komputasi terdistribusi RPC-style cukup rumit. Lebih atau kurang itu dimulai dengan Sun Microsystems 'Open Network Computing (ONC) sistem RPC pada tahun 1987, sebagai mekanisme komunikasi dasar untuk perusahaan Network File System (NFS). NFS sekarang didukung pada UNIX, Linux, dan banyak lainnya sistem operasi terdistribusi. NFS digunakan untuk mengakses direktori dan file yang berada pada komputer remote seolah-olah mereka direktori dan file yang terletak pada komputer lokal.

Definisi Komputasi Terdistribusi
Komputasi terdistribusi adalah suatu sistem pada jaringan komputer yang dihubungkan dengan cara tertentu sehingga tampak seperti satu komputer bagi pemakai individual. Komputasi terdistribusi menggunakan sumber daya komputer yang ada dan melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis yang bertujuan untuk memecahkan berbagai macam persoalan komputasi dalam skala besar. Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer saja, sehingga memaksimalkan penggunaan sumber daya komputasi. Hal ini berarti bahwa setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan (baik yang ada dalam server maupun yang ada dalam klien).
Ada 2 buah komponen penting dalam komputasi terdistribusi yaitu server atau komputer pusat yang secara konstan menyediakan dan menjalankan program komputer dan database yang dibutuhkan oleh komputer lain di dalam jaringan tersebut. Serta workstation atau client yang berisi program yang ditempatkan pada server jaringan.
Komputasi terdistribusi merupakan suatu bentuk dari komputasi paralel, tetapi komputasi paralel sangat umum digunakan untuk menggambarkan bagian-bagian program yang berjalan secara simultan pada banyak prosesor dalam komputer yang sama. Tujuan utama dari sistem komputasi terdistribusi adalah untuk menghubungkan para pengguna dan sumber daya dalam cara yang transparent, open dan scalable. Idealnya, ini akan membuat sistem lebih fault-tolerant daripada sistem komputer stand-alone.
Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya. Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi.

Cara Kerja Komputasi Terdistribusi
Cara kerja komputasi terdistribusi adalah beban kerja akan didistribusikan ke komputer-komputer yang terhubung untuk diselesaikan dimana semua itu dikendalikan oleh suatu sistem operasi. Pengguna hanya cukup melakukan pengaturan sistem operasi, kemudian sistem operasilah yang akan melakukan tugasnya mengorganisasi kemampuan dan tugas ke komputer-komputer itu.
Dalam komputasi terdistribusi, suatu program dipecah ke dalam bagian-bagian yang berjalan secara simultan (bersamaan) pada banyak komputer yang berkomunikasi di atas suatu jaringan. Komputasi terdistribusi merupakan suatu bentuk dari komputasi paralel, tetapi komputasi paralel sangat umum digunakan untuk menggambarkan bagian-bagian program yang berjalan secara simultan pada banyak prosesor dalam komputer yang sama. Kedua tipe pemrosesan ini memerlukan pembagian suatu program ke dalam bagian-bagian yang berjalan secara bersamaan, tetapi program-program terdistribusi sering harus berhadapan dengan lingkungan yang heterogen, link jaringan dengan latency bervariasi, dan kegagalan yang tidak dapat diprediksi, baik di dalam jaringan maupun komputer.
Pengaturan interaksi antar komputer yang mengeksekusi komputasi terdistribusi merupakan pekerjaan utama. Agar mampu memanfaatkan berbagai jenis komputer, maka protokol atau saluran komunikasi sebaiknya tidak mengandung atau menggunakan suatu informasi yang tidak dapat dipahami oleh mesin tertentu. Sistem harus dapat memastikan messages benar-benar tersampaikan dengan benar, juga saat messages invalid maka sistem harus melakukan langkah-langkah antisipasi. Jika ini tidak ditangani kemungkinan akan menyebabkan sistem down dan berbagai aktifitas berikutnya di dalam jaringan akan ditolak (reject).
Faktor penting lain adalah kemampuan untuk men-deploy software ke komputer lain secara portable sehingga memungkinkan eksekusi dan interaksi dengan jaringan yang telah ada. Ini mungkin tidak akan praktis ketika mengunakan hardware dan sumber daya berbeda, dimana kita harus memikirkan cara lain seperti cross-compiling atau melakukan porting software tersebut secara manual.

Karakteristik Komputasi Terdistribusi
Ciri khas dari komputasi terdistribusi adalah heterogenitas dalam berbagai hal seperti perangkat keras, sistem operasi, dan bahasa pemrograman karena tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability).
Ciri lain dari komputasi terdistribusi adalah dimana pemakai tidak perlu menyadari komputer mana yang bekerja untuk melaksanakan tugas komputasi. Ibaratnya, pemakai ingin ini dan mendapat hasil komputasi yang diingkan tanpa memandang oleh siapa pekerjaan itu dikerjakan. Semua alokasi sumber daya dan penanganan kerja dikendalikan oleh sistem operasi. Dicirikan pula menggunakan banyak komputer yang saling terhubung dalam suatu jaringan komputer, untuk melakukan komunikasi proses antar komputer yang bekerja.

Kegunaan Komputasi Terdistribusi
Kegunaan komputasi terdistribusi antara lain adalah untuk membantu manusia dalam melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, memperlancar pelayanan situs web yang sering dikunjungi, pengetesan algoritma misal dalam benchmarking masalah-masalah yang berkaitan dengan algoritma genetika, pendukung server basis data yang besar dan banyak client pengaksesnya, dan lain sebagainya. Seperti diketahui bahwa kebutuhan manusia akan komputasi yang cepat dan akurat yang tidak dapat ditangani oleh sebuah mesin komputer misal perhitungan dalam peramalan posisi benda langit di lembaga penelitian luar angkasa. Selain itu digunakan pula untuk menangani beban permintaan yang besar semisal search engine agar mampu menangani ribuan request serentak tanpa mengalami gangguan penundaan pelayanan, contohnya Google yang memiliki komputer cluster terbesar didunia.

Dampak Komputasi Terdistribusi
Komputasi terdistribusi memiliki dampak baik dan buruk bagi kehidupan umat manusia antara lain manusia lebih mudah dan lebih cepat untuk mendapatkan informasi yang mereka inginkan, membantu manusia untuk melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, membantu perusahaan-perusahaan besar dalam masalah basis data perusahaan, dan lain sebagainya. Selain itu sistem komputasi terdistribusi juga memiliki dampak yang kurang baik karena membuat manusia semakin tergantung kepada komputer atau mesin, komputasi terdistribusi juga sering disalahgunakan untuk hal-hal yang kurang baik atau untuk kejahatan, dan penggunaan komputasi terdistribusi oleh personal kadang kala menjadi suatu pemborosan karena mereka tidak memiliki masalah sebesar perusahan atau institusi.

Kelebihan dan Kekurangan Komputasi Terdistribusi
Jika tidak direncanakan dengan tepat, suatu distributed system dapat menurunkan reliabilitas total dari komputasi jika ketidak-tersediaan dari suatu node dapat menyebabkan gangguan bagi node-node lain. Troubleshooting dan diagnosing terhadap masalah dalam distributed system dapat menjadi lebih sulit, karena perlu analisis yang berkaitan dengan node jauh atau menginspeksi komunikasi antar node di dalam sistem.
Banyak tipe komputasi tidak cocok bagi lingkungan terdistribusi, biasanya yang berhubungan dengan jumlah komunikasi jaringan atau sinkronisasi yang dibutuhkan antar node. Jika bandwidth, latency, atau persyaratan komunikasi begitu signifikan, maka tidak ada keuntungan dari distributed computing dan kinerja dapat lebih burukk daripada lingkungan non-distributed.
·         Kelebihan komputasi terdistribusi :
1.      Pembagian sumber daya antar komputer dibuat lebih mudah
2.      Menyediakan kinerja yang baik dengan mendistribusikan beban kerja ke komputer-komputer dan mengerjakan bagian dari pekerjaan itu secara bersamaan pada beberapa processor
3.      Menjadikan sistem keseluruhan lebih handal, karena kegagalan yang terjadi pada salah satu komponen dapat ditangani oleh komponen yang setingkat lainnya
·         Kekurangan komputasi terdistribusi :
1.      Penggunaan energi yang digunakan untuk menghidupkan komputer-komputer yang digunakan sebagai “cluster”
2.      Peralatan pendukung lainnya misalkan piranti jaringan yang digunakan untuk menghubungkan antar komputer
3.      Delay komunikasi yang terjadi tidak dapat diprediksi karena melibatkan banyak komponen serta tidak adanya referensi clock yang universal yang dapat dijadikan system clock

Kesimpulan
Dalam komputasi terdistribusi, suatu program dipecah ke dalam bagian-bagian yang berjalan secara simultan (bersamaan) pada banyak komputer yang berkomunikasi di atas suatu jaringan. Komputasi terdistribusi merupakan suatu bentuk dari komputasi paralel, tetapi komputasi paralel sangat umum digunakan untuk menggambarkan bagian-bagian program yang berjalan secara simultan pada banyak prosesor dalam komputer yang sama. Kedua tipe pemrosesan iniy memerlukan pembagian suatu program ke dalam bagian-bagian yang berjalan secara bersamaan, tetapi program-program terdistribusi sering harus berhadapan dengan lingkungan yang heterogen, link jaringan dengan latency bervariasi, dan kegagalan yang tidak dapat diprediksi, baik di dalam jaringan maupun komputer. Tujuan utama dari sistem komputasi terdistribusi adalah untuk menghubungkan para pengguna dan sumber daya dalam cara yang transparent, open dan scalable. Idealnya, ini akan membuat sistem lebih fault-tolerant daripada sistem komputer stand-alone.

Daftar Pustaka