KOMPUTASI TERDISTRIBUSI

LATAR BELAKANG

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 merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi.Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Suatu program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan pemrograman adalah proses menulis program tersebut. Distributed computing juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.

Komputasi terdistribusi atau tersebar berhadapan dengan sistem hardware dan software yang mengandung lebih dari satu elemen pemroses atau storage, proses-proses yang konkuren, atau banyak program yang berjalan dalam suatu domain yang dikendalikan secara longgar atau ketat.

CARA KERJA

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

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.

Karakterisitik dari sistem terdistribusi :

1. No global clock

Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing

Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing)

2. Independent failure

Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui

Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan.

Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.

3. Concurrency of components

Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan.

KEGUNAANNYA

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.

KELEMAHAN DAN KERUGIAN

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.

ARSITEKTUR

Berbagai arsitektur hardware dan software digunakan bagi komputasi terdistribusi. Pada level lebih rendah, perlu untuk menghubungkan banyak CPU melalui jaringan, tanpa melihat apakah jaringan itu dicetak pada suatu circuit board atau dibuat berbentuk perangkat loosely-coupled dan kabel. Pada tingkat yang lebih tinggi, perlu interkoneksi antar proses yang berjalan pada CPU-CPU tersebut dengan suatu sistem komunikasi.

Pemrograman terdistribusi secara umum termasuk ke dalam salah satu dari arsitektur atau ketegori dasar sistem Client-server, arsitektur 3-tier, arsitektur N-tier, obyek terdistribusi, loose coupling, atau tight coupling. Penjelasan singkatnya adalah:

  • Client-server — Kode client cerdas menghubungi server untuk mendapatkan data, kemudian menformat dan menampilkannya kepada pengguna. Input pada client di-committed back ke server ketika menunjukkan suatu perubahan permanen.
  • 3-tier architecture — Sistem three-tier memindahkan kepintaran client ke suatu middle tier sehingga dapat digunakan stateless client. Ini menyederhanakan deployment dari aplikasi. Sebagian besar aplikasi web bersifat 3-Tier.
  • N-tier architecture — N-Tier umumnya merujuk ke aplikasi web yang selanjutnya meneruskan request-requestnya ke layanan enterprise lain. Tipe aplikasi ini paling bertanggungjawab bagi kesuksesan application server.
  • Tightly coupled (clustered) — Umumnya mengacu ke suatu cluster mesin yang bekerja bersama secara erat (closely), menjalankan suatu shared process secara paralel. Task dibagi ke dalam beberapa bagian terpisah dan kemudian secara bersama-sama menggabungkan hasil proses untuk memperoleh hasil akhir tunggal.
  • Peer-to-peer — Suatu arsitektur dimana tidak terdapat mesin khusus atau mesin-mesin yang menyediakan layanan atau mengelola sumber daya jaringan tersebut. Sebagai gantinya, semua tanggungjawab secara seragam dibagi antar semua mesin, dikenal sebagai peer. Peer dapat bekerja sebagai server maupun client.
  • Space based — Mengacu ke suatu infrastruktur yang membuat ilusi atau virtualisasi dari satu ruang-alamat (address-space) tunggal. Data secara transparan direplikasi sesuai dengan kebutuhan aplikasi.

Aspek dasar yang lain dari arsitektur komputasi terdistribusi adalah metode untuk mengkomunikasikan dan mengkoordinasi kerja antar proses-proses konkuren. Melalui berbagai protokol message passing, proses dapat berkomunikasi secara langsung dengan yang lain, umumnya dalam suatu hubungan master/slave. Sebagai alternatif, suatu arsitektur “database-centric” memungkinkan (enable) komputasi terdistribusi dikerjakan tanpa suatu bentuk komunikasi inter-process langsung, menggunakan suatu database bersama (shared database).

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

KESIMPULAN

Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi.Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer. Komputasi terdistribusi atau tersebar berhadapan dengan sistem hardware dan software yang mengandung lebih dari satu elemen pemroses atau storage, proses-proses yang konkuren, atau banyak program yang berjalan dalam suatu domain yang dikendalikan secara longgar atau ketat.

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.

DAFTAR PUSTAKA :

http://www.wikanpribadi.com/scheduling-in-distributed-computing-systems/

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

http://www.google.co.id/url?sa=t&source=web&cd=7&ved=0CEgQFjAG&url=http%3A%2F%2Fimas.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F13464%2FBab12.pdf&rct=j&q=cara%20kerja%20komputasi%20terdistribusi&ei=usdgTafDDcPOrQf6wOyEAg&usg=AFQjCNHW8fpwoZ1N53wnWKAtBKj166IYAw&cad=rja

http://blog.uad.ac.id/raharjosetyawan/2010/10/13/tugas-sistem-terdistribusi/

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

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

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

http://www.google.co.id/url?sa=t&source=web&cd=10&ved=0CFcQFjAJ&url=http%3A%2F%2Fsofy.web.id%2Fmjk200901%2Fpresentasi%2FJaringan%2520Peer%2520To%2520Peer%2520%28satu%29.doc&rct=j&q=karakteristik%20komputasi%20terdistribusi&ei=Q8pgTfz7EYnSrQeA-vynAg&usg=AFQjCNF_Fy2IrkuHVuGYAWu2uBE8uPyV-w&cad=rja

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

http://www.google.co.id/url?sa=t&source=web&cd=4&ved=0CC8QFjAD&url=http%3A%2F%2Fwww.elektro.undip.ac.id%2Ftransmisi%2Fjun05%2Fmmsomantrijun05.PDF&rct=j&q=komputasi%20terdistribusi&ei=p7tcTbGpJoekuAPajI30DA&usg=AFQjCNH1FCI612W4ucQq7XkYzBmu5pCdiA&cad=rja

http://wapedia.mobi/id/Komputasi_Terdistribusi

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