Senin, 21 Februari 2011

KOMPUTASI TERDISTRIBUSI

Latar Belakang Komputasi Terdistribusi

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.

Upaya besar pertama menuju komputasi terdistribusi bahasa-independen dan platform-netral diambil oleh Object Management Group (OMG) pada tahun 1989. OMG merupakan sebuah konsorsium yang mencakup lebih dari 500 anggota. Pada tahun 1991, OMG menyampaikan versi pertama Common Object Request Broker Architecture (CORBA), sebuah platform objek terdistribusi. CORBA memungkinkan program yang terletak di berbagai bagian jaringan dan ditulis dalam bahasa pemrograman yang berbeda untuk berkomunikasi satu sama lain.Permintaan Objek Istilah Broker (ORB) mendapatkan popularitas untuk menunjukkan perangkat lunak infrastruktur yang memungkinkan objek terdistribusi. Pada tahun 1996, versi CORBA 2 memperkenalkan Internet Inter-ORB Protocol (IIOP) sebagai perangkat tambahan utama dalam inti model komputasi terdistribusi dan layanan tingkat tinggi yang didistribusikan benda bisa digunakan. IIOP didirikan dominasi CORBA dalam komputasi terdistribusi dalam 5 tahun mendatang sampai datangnya dari layanan Web.

Microsoft mulai inisiatif komputasi terdistribusi sendiri sekitar tahun 1990. Pada tahun 1996, Microsoft menyampaikan Distributed Component Object Model (DCOM), yang terkait erat dengan upaya komponen Microsoft sebelumnya seperti Object Linking and Embedding (OLE), COM non-terdistribusi (atau OLE2), dan ActiveX (komponen ringan untuk aplikasi web ).Untuk bersaing dengan CORBA, tahun berikutnya (1997) Microsoft memperkenalkan COM + untuk membawa DCOM lebih dekat ke model CORBA untuk komputasi terdistribusi.

Pada tahun yang sama, Sun Microsystems menambahkan Remote Method Invocation (RMI) dalam Surat Java Development Kit (JDK 1.1). RMI ini mirip dengan CORBA dan DCOM, tetapi hanya bekerja dengan objek yang ditulis dalam bahasa pemrograman Java Sun. Pada tahun 1999 Sun 2 platform Java Enterprise Edition (J2EE), perusahaan yang terintegrasi RMI dengan CORBA's IIOP.

Sayangnya, CORBA sangat kompleks. Hal ini membutuhkan upaya yang signifikan untuk melaksanakan. XML jauh lebih sederhana berbasis XML-RPC muncul pada tahun 1999 dan menjadi pesaing kuat untuk CORBA. XML-RPC terinspirasi oleh dua protokol sebelumnya.Yang pertama adalah protokol RPC anonim dirancang oleh seseorang bernama Dave Winer.Inspirasi lain yang lebih penting adalah draft awal dari protokol SOAP.

Nama Simple Object Access Protocol (SOAP) muncul untuk pertama kalinya sekitar tahun 2000, yang menandakan era layanan Web. implementasi kami Optimalisasi Layanan seluruhnya didasarkan pada SOAP dan mengadopsi arsitektur yang sama dengan layanan Web.

Meskipun Remote Procedure Call telah menjadi pendekatan tradisional untuk membangun sistem terdistribusi, ada alternatif lain seperti pesan berorientasi data atau dokumen-sentris (untuk pemanggilan asynchronous). Daripada berfokus pada penyebaran perhitungan dengan secara khusus memohon kode jauh, pesan mengambil pendekatan yang berbeda. Aplikasi yang berkomunikasi melalui pesan menjalankan perhitungan mereka sendiri independen dan berkomunikasi melalui pesan yang berisi data murni. IBM merilis MQSeries pesan produknya pada tahun 1993. pesan produk Microsoft adalah Microsoft Message Queuing Server (MSMQ).J2EE Sun Microsystems 'mendefinisikan seperangkat API untuk pesan melalui Java Messaging Service (JMS). Tidak ada usaha untuk mendefinisikan protokol interoperabilitas standar untuk messaging server.

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.

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.

Cara Kerja Komputasi Terdistribusi

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.

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 & Kekurangan Komputasi Terdistribusi

Komputasi terdistribusi juga memiliki kelebihan dan kekurangan, seperti yang dijelaskan sebagai berikut :

ü 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

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. 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. 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.

Daftar Pustaka

http://www.coin-or.org/OS/distributedComputingBackground.html

http://thetoyzareboyz.blogspot.com/2011/02/komputasi-terdistribusi.html

http://yulia-zulfa.blogspot.com/2010/12/komputasi-terdistribusi.html

http://komputasi.wordpress.com/2008/09/18/komputasi-terdistribusi/

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

Tidak ada komentar:

Poskan Komentar