aLLVAr

Kamis, 10 Maret 2011

Komputasi Terdistribusi


a. Latar belakang Komputasi Terdistribusi

Latar dari komputasi terdistribusi telah difokuskan pada masalah penyebaran perhitungan antara beberapa sistem yang bersama-sama bekerja pada masalah. Abstraksi komputasi terdistribusi paling seri
ng 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.


b. Definisi

Komputasi terdistribusi adalah bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa otonom komputer yang berkomunikasi melalui jaringan komputer . Komputer berinteraksi satu sama lain untuk mencapai tujuan bersama. Sebuah program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan pemrograman terdistribusi adalah proses penulisan program tersebut.
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.


c. Bagaimana cara kerjanya

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.


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


e. Kegunaan Komputasi Terdistribusi

Terdapat berbagai tipe sistem komputer terdistribusi dan banyak tantangan selama perancangan dan implementasinya. 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.
Openness merupakan properti dari sistem terdistribusi dimana setiap sub-sistem secara kontinu terbuka untuk berinteraksi dengan sistem lain. Protokol web services adalah standard yang memungkinkan sistem terdistribusi di-extend dan di-scale. Secara umum, suatu sistem terbuka yang bersifat scalable memberikan keuntungan lebih dibandingkan sistem yang tertutup dan self-contained (menyatu).
Konsekuensinya, sistem terdistribusi terbuka memberikan beberapa tantangan berikut :
  • Monotonicity. Begitu sesuatu dipublikasikan di dalam sistem terbuka (open system) maka tidak dapat diambil kembali.
  • Pluralism. Sub-sistem-subsistem berbeda dalam sistem open distributed dapat mempunyai informasi yang heterogen, mungkin pula overlap dan menyebabkan konflik. Tidak ada pengatur kebenaran sentral dalam sistem open distributed.
  • Unbounded nondeterminism. Secara asinkron, subsistem-subsistem dapat naik dan turun, dan link komunikasi dapat masuk dan keluar antar sub-sistem dalam sistem open distributed. Karena itu, waktu yang diperlukan untuk menyelesakan suatu operasi tidak dapat dibatasi dan dipastikan.

f. Dampak Kegunaan Komputasi
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
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.


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

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.


h. DAFTAR PUSTAKA

http://en.wikipedia.org/wiki/Distributed_computing


http://www.wisegeek.com/what-is-distributed-computing.htm


http://wapedia.mobi/id/Komputasi_Terdistribusi

http://irmamino.wordpress.com/2011/02/22/tugas-softskill-komputasi-terdistribusi/

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

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

Tidak ada komentar:

Posting Komentar