Selasa, 12 Maret 2013

Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,
yaitu :
  • ·         Transparency (Kejelasan)
  • ·         Communication (Komunikasi)
  • ·         Performance & Scalability (Kinerja dan Ruang Lingkup)
  • ·         Heterogeneity (Keanekaragaman)
  • ·         Opennes (Keterbukaan)
  • ·         Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
  • ·         Security (Kemanan)


v  Transparency

Access transparency : Sumber daya lokal dan remote di akses dengan menggunakan operasi yang sama.
Location transparency : Pengguna sistem tidak tahu mengetahui keberadaan hardware dan software (CPU, file dan data).

Migration (Mobility) transparency : Sumber daya (baik berupa Hardware dan/atau software) dapat bebas berpindah tanpa mengubah sistem penamaan.

Replication transparency : Sistem bebas untuk menambah …le atau sumber daya tanpa diketahui oleh user (dalam rangkan meningkatkan kinerja)

Concurency transparency : User tidak akan mengetahui keberadaan user lain dalam sistem, walaupun
user tersebut menggunakan sumber daya yang sama.

Failure transparency : Aplikasi harus dapat menyelesaikan proses nya walaupun terdapat kegagalan
pada beberapa pada komponen sistem.

Performance transparency : Beban kerja yang bervariasi tidak akan menyebabkan turunnya kinerja sistem, hal ini dapat di capai dengan melakukan automatisasi konfigurasi terhadap perubahan beban.

v  Communication

Komponen2 pada sistem terdistribusi harus melakukan komunikasi dalam suatu urutan. Sebagai berikut :
- Infrastruktur jaringan (interkoneksi dan software jaringan)
- Metode dan Model komunikasi yang cocok
Metode komunikasi :
- Send
- Receive
- Remote Procedure Call
Model Komunikasi
- client – server communication : pertukaran pesan antara dua proses : dimana satu proses (client) menggunakan / meminta layanan pada server dan server menyediakan hasil dari proses tersebut.
- groupmulitcast : target dari pesan yang dikirimkan adalah gabungan dari proses, yang berasal dari suatu grup.

v  Performance and Scalability

Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada sistem terdistribusi :
- Kinerja dari pada personal workstations
- Kecepatan infrastruktur komunikasi
- Fleksibilitas dalam membagi beban kerja : contoh, apabila terdapat prosesor (workstation) yang idle maka dapat dialokasikan secara otomatis untuk mengerjakan tugas – tugas user.
- Scalability : Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan
secara signifikan user atau sumber daya yang terhubung :
- Cost (biaya) penambahan sumber daya (resources) harus reasonable.
- Penurunan kinerja (performance) diakibatkan oleh penambahan user atau sumber daya harus terkontrol.

v  Heterogeneity

Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :
- Hardware : mainframes, workstations, PC’s, server dll.
- Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
- Devices : teller machine, robot, sistem manufacturing dll.
- Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keanekaragaman di atas maka salah satu solusi yang bisa di terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi dan proses.


v  Opennes

Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah opennes (keterbukaan) dan flexibility (fleksibilitas) :
- Setiap layanan (services) harus dapat di akses oleh semua user.
- Mudah dalam implementasi, install dan debug services;
- User dapat membuat dan menginstall service yang telah dibuat oleh si user tersebut.
Aspek kunci pada opennes :
- Interface dan Protocol yang standard (seperti protokol komunikasi di internet)
- Support terhadap keanekaragaman. ( denganmembuatmidleware seperti CORBA)


v  Reliability dan Fault Tolerance

Salah satu tujuan dalam membangun sistemterdistribusi adalah memungkinkan untuk melakukan improvisasi terhadap kehandalan sistem.
Availability : kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.
- Dalam sistem terdistribusi componen yang sangat vital (critical resources) berjumlah se minimal mungkin. Yang dimaksud dengan critical resources adalah komponen yang harus ada untuk menjalankan sistem terdistribusi.
- Masing – masing Software dan Hardware harus di replikasi : kalau terjadi kegagalan / error maka yang lain akan menangani.
Data dalam sistem tidak boleh hilang, copy dari file tersebut disimpan pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya.
Fault Tolerance : Sistemharus bisa mendeteksi kegagalan dan melakukan tindakan dengan dasar sebagai berikut :
- Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
- Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan informasi atau data.

v  Security

- Confidentiality : keamanan terhadap data yang di akses oleh user yang tidak di perbolehkan (unauthorizes user)
- Integrty : keamanan terhadap kelengkapan dan autentikasi data.
- Availability : Menjaga agar resource dapat selalu di akses.
Sistem terdistribusi harus memperbolehkan komunikasi antara program/user/resources pada computer yang berbeda, maka resiko keamanan akan muncul apabila memberlakukan free access.


Dan ada hal lain juga yang harus dijamin dalam sistem terdistribusi, yaitu : 

Concurrency (Konkurensi)

Yang dimaksud dengan concurrency (sistem atau program yang berjalan bersama-sama) adalah suatu karakteristik yang dimiliki oleh sistem terdistribusi dimana sifatnya setiap komputer/aplikasi dapat melakukan pekerjaan masing-masing tanpa terjadi konflik diantaranya. Hal yang wajar apabila proses eksekusi program harus berjalan secara konkuren. Melakukan koordinasi konkurensi terkadang diperlukan juga untuk mengatur layanan seperti file sharing.
  • Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. pemakai browser mengakses halaman web secara bersaman.
  • Setiap komponen hardware/software bersifat otonom (kita akan menyebut komponen otonom adalah “proses”)
  • Komponen menjalankan tugas bersamaan
  • Sinkronisasi dan koordinasi dengan message passing
  • Sharing resources

Masalah umum dalam sistem concurrent
  • Deadlock
  • Lifeclock
  • Komunikasi yang tidak handal

Tidak ada / Keterbatasan Global Clock

Setiap komputer memiliki clock yang berbeda dalam sistem terdistribusi. Agar tidak terjadi konflik maka diperlukan koordinasi agar tidak terjadi konflik clock antar komputer. Saat program membutuhkan koordinasi antarkomputer, dilakukan proses pertukaran pesan antarkomputer.
  • Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
  • 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) 


Kegagalan Independent (Independent failures of component)

Komputer/sistem dapat mengalami kegagalan atau kerusakan. Akan sangat merepotkan apabila kerusakan pada 1 komputer atau 1 sistem akan mempengaruhi semua komputer/sistem. Oleh karena itu apabila terdapat komponen yang rusak atau gagal, kerusakan tidak meyebar ke komponen lainnya. Hal ini juga menyebabkan adanya kegagalan proses tunggal yang bisa tidak diketahui.





0 komentar:

Posting Komentar

Labels

About Me

Foto Saya
hei dims !
i'm just an ordinary boy who try to be a good blogger.
Lihat profil lengkapku

Visitors

free counters
WELCOME TO MY BLOG ! I HOPE YOU ENJOY IN HERE..

Tags

Followers