Jumat, 25 Februari 2011

Komputasi Terdistribusi

Dalam ilmu komputer, komputasi terdistribusi mempelajari penggunaan terkoordinasi dari komputer yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan perangkat lunak yang berbeda dengan sistem terpusat.

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. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya.

Salah satu masalah yang dihadapi dalam usaha menyatukan sumber daya yang terpisah ini antara lain adalah skalabilitas, dapat atau tidaknya sistem tersebut dikembangkan lebih jauh untuk mencakup sumber daya komputasi yang lebih banyak.

Banyak arsitektur perangkat lunak dan keras yang bervariasi yang digunakan untuk komputasi terdistribusi. Pada tingkat yang lebih rendah, penghubungan beberapa CPU dengan menggunakan jaringan sangat dibutuhkan. Pada tingkat yang lebih tinggi menghubungkan proses yang berjalan dalam CPU tersebut dengan sistem komunikasi juga dibutuhkan.

Arsitektur umum yang memungkinkan sistem terdistribusi antara lain:

Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server.

Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna.

Sebuah contoh dari aplikasi client/server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services), sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Klien-server merupakan penyelesaian masalah pada software yang menggunakan database sehingga setiap komputer tidak perlu diinstall database, dengan metode klien-server database dapat diinstal pada suatu komputer sebagai server dan aplikasinya diinstal pada client.

P2P merupakan singkatan dari Peer-to-Peer (bahasa Inggris) atau teknologi dari “ujung” ke “ujung” pertama kali di luncurkan dan dipopulerkan oleh aplikasi-aplikasi “berbagi-berkas” (file sharing) seperti Napster dan KaZaA. Pada konteks ini teknologi P2P memungkinkan para pengguna untuk berbagi, mencari dan mengunduh berkas.

Sistem P2P yang sebenarnya adalah suatu sistem yang tidak hanya menghubungkan “ujung” satu dengan lainnya, namun ujung-ujung ini saling berhubungan secara dinamis dan berpartisipasi dalam mengarahkan lalu lintas komunikasi informasi-, pemrosesan-, dan penugasan pembagian bandwidth yang intensif, dimana bila sistem ini tidak ada, tugas-tugas ini biasanya diemban oleh server pusat.

Aplikasi P2P yang sebenarnya memerlukan satuan tim-tim kecil dengan ide cemerlang untuk mengembangkan perangkat lunak dan bisnis-bisnis yang mungkin dilakukan oleh perangkat tersebut – dan mungkin saja bisa membuat perusahaan besar yang sudah ada gulung tikar. P2P yang sebenarnya, bila diaplikasikan pada pasar yang sudah matang dan stabil adalah teknologi yang "mengganggu".

Ide mengenai konsep ini muncul kira-kira pada akhir dekade 1980-an, ketika jaringan komputer dan tentunya juga komputer telah mulai masuk ke dalam salah satu barang wajib dalam perusahaan, baik itu perusahaan kecil maupun besar. Tetapi, arsitektur ini berkembang dalam jaringan yang terlalu kecil untuk memiliki sebuah server yang terdedikasi, sehingga setiap komputer klien pun menyediakan layanan untuk berbagi data untuk melakukan kolaborasi antara pengguna.

Jaringan peer-to-peer pun mulai banyak digemari ketika Microsoft merilis sistem operasi Windows for Workgroups, meski sebelumnya sistem operasi MS-DOS (atau IBM PC-DOS) dengan perangkat MS-NET (atau PC-NET) juga dapat digunakan untuk tujuan ini. Karakteristik kunci jaringan tersebut adalah dalam jaringan ini tidak terdapat sebuah server pusat yang mengatur klien-klien, karena memang setiap komputer bertindak sebagai server untuk komputer klien lainnya. Sistem keamanan yang ditawarkan oleh metode ini terbilang lebih rendah dibandingkan dengan metode klien/server dan manajemen terhadapnya pun menjadi relatif lebih rumit.

Konsep ini pun kemudian berevolusi pada beberapa tahun terakhir, khususnya ketika jaringan Internet menjadi jaringan yang sangat besar. Hal ini mulai muncul kira-kira pada akhir dekade 1990-an, di saat banyak pengguna Internet mengunduh banyak berkas musik mp3 dengan menggunakan metode peer-to-peer dengan menggunakan program Napster yang menuai kritik pedas dari industri musik, seperti halnya Metallica dan banyak lainnya. Napster, pada saat dituntut oleh para pekerja industri musik, dikatakan memiliki anggota lebih dari 20 juta pengguna di seluruh dunia. Selanjutnya beberapa aplikasi juga dibuat dengan menggunakan konsep ini: eDonkey, Kazaa, BitTorrent, dan masih banyak lainnya. Meski banyak aplikasi peer-to-peer ini digunakan oleh pengguna rumahan, ternyata sistem ini juga diminati oleh banyak perusahaan juga.

Penggunaan istilah P2P digunakan luas dan seringkali disalah gunakan. Perusahaan-perusahaan baik besar maupun kecil saling mengaku menjadi “spesialis” dan perusahaan lainnya mencoba untuk menghasilkan uang dengan mengaku menggunakan teknologi P2P selama perusahaannya menggunakan komunikasi langsung antar pengguna atau antar “ujung”. Dalam hal ini istilah P2P benar-benar disalah gunakan.

Keuntungan

Desentralisasi jaringan P2P memiliki keuntungan yang lebih dibandingkan dengan jaringan klien-server tradisional. Jaringan P2P menyeimbangkan diri secara terus menerus tanpa menambah waktu pencarian alamat panggilan dan tanpa harus menggunakan suatu sumber-sumber terpusat. Mereka memanfaatkan mesin –mesin perangkat yang digunakan pengguna-akhir (end users) karena sumber-sumber ini selalu berjalan ke arah proporsi tujuan jaringan. Setiap penambahan ujung baru pada jaringan menambah potensi lebih pemrosesan yang lebih kuat dan bandwith yang lebih besar untuk jaringan tersebut. Ditambah lagi, karena sumber-sumbernya terdesentralisasi, generasi kedua (2G) dari jaringan P2P telah berhasil secara virtual mengeliminasi seluruh biaya yang berhubungan dengan infrastruktur terpusat yang besar.

Kesulitan

Pada penerapan teknologi telephony P2P dimana Telephony berbasis internet –VoIP (Voice over IP : suara melalui protokol internet) telah ada selama bertahun-tahun namun tidak pernah menyentuh pasar besar karena: • Kualitas yang buruk dari produk-produk yang jelas-jelas menguntungkan dari segi biaya (jauh lebih hemat) dibandingkan dari penggunaan telepon biasa. • Frekuensi keberhasilan panggilan telpon rendah karena terhalang oleh firewall-firewall dan penggunakan NAT (Network Address Translation) atau pencarian jaringan yang dituju, dimana hal ini menyebabkan 50% komputer-komputer rumah gagal terhubung dengan perangkat lunak VoIP tradisional). • Penggunaan dan pemasangan perangkat lunak ini penuh dijejali oleh berbagai hal dan membutuhkan konfigurasi yang tidak mudah dan sedikit kemampuan teknis. Pemusatan aktivitas dapat menyelesaikan beberapa kesulitan ini dengan mengarahkan panggilan melalui firewall-firewall dan NAT yang ada. Namun, bila ada pemusatan maka biaya untuk menjalankan jaringan menjadi naik mendekati jumlah biaya yang dikenakan jaringan telpon yang sudah ada. Sebagai tambahan, biaya ini bertambah secara proporsional sebanding dengan bertambahnya pengguna. Dampaknya perusahaan-perusahaan yang mengoperasikan jasa ini biasanya mengalokasikan sumberdaya yang sedikit pada servernya untuk satuan pengguna, dimana hal ini secara serius mengurangi kualitas panggilan.

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.

Berbagai proyek komputasi terdistribusi telah tumbuh pada dalam tahun-tahun terakhir. Banyak yang basis volunteer, dan melibatkan pengguna-pengguna yang mendonasikan power komputasi yang tidak digunakan untuk bekerja pada masalah komputasi yang menarik. Contoh proyek demikian termasuk proyek Folding@home di Jurusan Kimia universitas Stanford, yang difokuskan pada simulasi protein folding untuk menemukan obat penyakit dan memahami sistem biophysical; World Community Grid, suatu usaha untuk membuat grid komputasi terbesar di dunia untuk menangani proyek penelitian ilmiah yang bermanfaat bagi kemanusiaan, berjalan dan didanai oleh IBM; SETI@home, difokuskan pada analisis data radio-telescope untuk mendapatkan bukti sinyal cerdas dari angkasa, dikelola oleh Space Sciences Laboratory di University of California, Berkeley; LHC@home, digunakan untuk membantu merancang dan men-tune Large Hadron Collider, dikelola oleh CERN di Geneva; dan distributed.net yang bertitik-berat pada pemecahan berbagai cryptographic cipher.

Suatu proyek komputasi terdistribusi juga sering melibatkan kompetisi dengan sistem terdistribusi lain. Kompetisi ini dapat bertujuan prestige, atau bermaksud membujuk pengguna untuk mendonasikan power pemrosesan ke proyek tertentu. Sebagai contoh, stat races adalah ukuran kerja suatu proyek komputasi terdistribusi, berapa kemampuan komputasi selama sehari atau seminggu. Ini telah menjadi begitu penting dalam praktek, hampir semua proyek komputasi terdistribusi menawarkan analisis statistik online dari kinerja mereka, diupdate setidaknya harian jika tidak real-time.

http://id.wikipedia.org/wiki/Peer-to-peer

http://id.wikipedia.org/wiki/Komputasi_terdistribusi

http://www.komputasi.lipi.go.id/utama.cgi?artikel&1271412582&1

Tidak ada komentar:

Posting Komentar