Laman

Kamis, 27 Maret 2014

Tantangan Sistem Terdistribusi

Pada sebuah sistem terdistribusi, terdapat berbagai macam tantangan yang harus dihadapi oleh sistem ini agar kedepannya sistem terdistribusi dapat menghasilkan sistem yang tidak hanya efektif dan efisien tetapi dapat meningkatkan kinerja bagi penggunanya. Berikut beberapa tantangan yang harus dihadapi oleh sistem terdistribusi :

Heterogenity

Pada sebuah sistem terdistribusi, banyak dijumpai berbagai macam elemen yang dapat menimbulkan berbagai macam kendala jika disatukan. Heterogenitas yang dihadapi meliputi :


  • Jaringan
  • Hardware
  • Sistem Operasi
  • Bahasa Pemograman
  • Implementasi dari pengembang yang berbeda

Sebagai contoh setiap pengembang memiliki jaringan yang berbeda-beda untuk komputer pada jenis jaringan yang berbeda akan membutuhkan implementasi protokol internet agar dapat saling bekomunikasi satu sama lain. Kemudian pada program-program yang dibuat oleh pengembang yang berbeda tidak dapat berinteraksi satu sama lain. Maka dari itu dibuatlah middleware untuk mengatasi permasalahan itu. Menurut buku Distributed System Concept and Design yang ditulis oleh George Coulouris, Middleware merupakan istilah untuk lapisan perangkat lunak yang menyediakan sebuah abstraksi pemograman dan menutupi heterogenitas seperti perangkat keras, sistem operasi, dan bahasa pemograman. Contoh middleware adalah The Common Object Request Broker (CORBA), Java Remote Method Invocation (RMI). Selain itu middleware juga menyediakan model persamaan komputasi pada pemograman server seperti remote object invocation, remote event notification, remote SQL access and distributed transaction processing. Untuk memecahkan heterogenitas pada  kode mobile digunakannlah java applet. 

Openess
Keterbukaan merupakan syarat agar suatu sistem dapat diperpanjang dan diimplementasikan kembali. Ketersediaan spesifikasi dan dokumentasi interface utama software dari komponen sistem yang dibuat untuk pengembang perangkat lunak adalah awal mula untuk menambah dan memperluas layanan sistem terdistribusi. Maka dari itu para designer interface komponen sistem memperkenalkan "Request For Comment" (RFC) yaitu serangkaian dokumen untuk mengatasi kompleksitas sistem tedistribusi yang terdiri dari banyak komponen dari berbagai pengembang. Secara garis besar menurut buku Distributed System Concept and Design yang ditulis oleh George Coulouris sebagai berikut :
  • Keterbukaan sistem dicirikan oleh diterbitkannya kunci utama interface mereka
  • Sistem Terdistribusi yang terbuka didasarkan pada penyediaan mekanisme komunikasi yang seragam dan diterbitkannya interface untuk mengakses sumber daya.
  • Keterbukaan sistem terdistribusi dapat dibangun dari heterogenitas perangkat keras dan perangkat lunak  yang mungkin dari vendor yang berbeda. Tetapi kesesuaian dari setiap komponen dari standar yang diterbitkan harus diuji dan diverifikasi terlebih dahulu untuk memastikan sistem bekerja dengan benar.

Security
Pada sistem terdistribusi terdapat lalu lintas transaksi data yang padat. Maka dari itu dibutuhkan keamanan untuk menjaga data dari pihak yang tidak berwenang untuk mengaksesnya atau kecerobohan dari diri kita sendiri. Untuk mengamankan informasi, dapat dilakukan dengan metode enkripsi, digital signature, atau algoritma chscksum/hash. Dapat juga menggunakan security service seperti access control, authentication, confidentiality, integrity dan non-repudiation.

Scalability
Sistem terdistribusi dapat dikatakan scalable jika mempunyai kemampuan mendukung berbagai ukuran data atau jumlah pengguna yang menggunakannya. Ada berbagai tantangan desain sistem terdistribusi scalable :
  • Mengendalikan sumber daya fisik

Permintaan untuk sumber daya terus meningkat, harus diikuti dengan perluasan sistem tetapi dengan biaya murah agar kebutuhan itu terpenuhi.
  • Mengendalikan penurunan kinerja
Pertimbangkan pengelolaan sekumpulan data yang ukurannya sebanding dengan jumlah pengguna atau sumber daya dalam sistem.
  • Mencegah habisnya sumber daya perangkat lunak
Pertumbuhan perangkat keras harus diiringi oleh pertumbuhan perangkat lunak agar perkembangan teknologi stabil.
  • Menghindari bottleneck
Sumber daya yang sering diakses secara bersama-sama tanpa diikuti oleh sistem yang scalable dapat membuat sistem bottleneck sehingga terjadi penurunan kinerja.

Ada beberapa cara agar tantangan ini dapat dihadapi seperti penggunaan algoritma yang dapat menghindari bottleneck, distrukturisasi secara hirarkis, replikasi data, dan teknik caching. 

Failure Handling

Didalam sistem terdistribusi proses yang dijalankan dapat mengalami kegagalan. Kegagalan itu bisa terjadi secara bersama atau hanya sebagian komponen dari sebuah sistem. Dilain sisi komponen lain dalam proses harus tetap berjalan dengan baik. Maka dari itu diperlukannya deteksi, retransmission, redundansi penyimpanan data, penanganan eksepsi (misalnya timeout ketika menunggu sumber daya web) atau Replikasi data pada beberapa mesin.

Concurrency
Adanya beberapa user sekaligus yang mengakses ke sumber yang disediakan pada sistem terdistribusi merupakan tantangan yang harus dihadapi oleh sistem ini. Dibutuhkan penjadwalan ataupun deadlock avoidance agar sistem berjalan dengan baik.

Transparency
Pada sistem terdistribusi, sistem berada ada pada transparency (penyembunyian) agar tidak terlihat kompleksitas dari sistem tersebut. Transparency ini terdiri dari beberapa jenis :
·       Access
User menganggap bahwa semuaresource adalah lokal contohnya pemetaan drive Samba server, NFS atau pencetakan dokumen secara parallel pada local printer.
·       Location
User tidak perlu mengetahui lokasi sumber daya pada sistem. Contohnya pada saat user mengakses web, user tidak perlu mengetahui server mana yang diakses.
·       Concurrency
user tidak perlu mengetahui keberadaan sistem paralel. Contohnya pada saat user menarik uang dari mesin ATM pada saat yang bersamaan ada teman user yang mengirimkan uang ke rekening user.
·       Replication
User tidak perlu mengetahui sumber daya orisinil atau replikasi yang diakses.
·       Failure
user tidak perlumengetahui kegagalan dan recovery sistem.
·      Migration/mobility
kemampuan melakukan relokasi sumber daya tanpa konfigurasi ulang oleh user.
·       Performance
perbedaan kinerja komponen sistem tidak perlu diketahui user



Qos ( Quality of Service )
Qos merupakan parameter yang digunakan untuk menunjukan kinerja pada suatu sistem pada saat pertukaran data. Sistem Terdistribusi harus mempunyai nilai Qos yang baik agar kualitas data atau transaksi informasi berjalan dengan baik. Parameter -parameter Qos sebagai berikut :


  • Delay
  • Jitter
  • Bandwidth
  • Loss packet
  • Througput

Referensi :
Coulouris George , Distributed System Concept and Design, Fifth Edition, Addison-Wesley, 2012



Link yang berkaitan :
http://bangunhutomo.blogspot.com/2014/04/sistem-terdistribusi-pendahuluan.html
http://insurgent.blogspot.com/2014/04/karakteristik-sistem-terdistribusi-2.html
http://mikodean.blogspot.com/2014/04/types-of-distributed-systems.html
http://bengore.blogspot.com/2014/04/permasalahan-sistem-terdistribusi-baru.html

1 komentar: