Minggu, 05 Oktober 2014

Sistem Terdistribusi


Tujuan Sistem Terdistribusi
Setiap sistem  yang diciptakan pasti memeliki tujuan, begitupula dengan sistem  terdistribusi. Sistem  ini dibuat sebagai solusi pemecahan masalah yang terjadi dalam sistem  terpusat.
 Keuntungan Sistem Terdistribusi Dibandingkan Sistem Terpusat
Faktor ekonomi menjadi penyebab terjadinya kemajuan teknologi informasi. Mahalnya perangkat lunak komputer dibandingkan dengan perangkat kerasnya membuat inovasi-inovasi baru dalam bidang perangkat lunak dalam pendekatnannya dalam penyelesaian sebuah masalah dalam bidang TIK. Seperempat abad yang lalu, pakar komputer Herb Grosch menyatakan apa yang kemudian kemudian dikenal sebagai hukum Grosch: kekuatan komputasi CPU sebanding dengan kuadrat harga. Dengan membayar dua kali lebih banyak, Anda dapat mendapatkan kinerja empat kali. Pengamatan ini cocok dengan teknologi mainframe yang waktu itu cukup baik, dan menyebabkan sebagian besar organisasi untuk membeli komputer jenis ini.
Dengan teknologi mikroprosesor, hukum Grosch tidak lagi berlaku. Beberapa ratus dolar Anda bisa mendapatkan CPU chip yang dapat mengeksekusi lebih banyak instruksi per detik dari salah satu yang mainframe terbesar pada tahun 1980-an. Jika Anda bersedia membayar dua kali seperti yang banyak, Anda mendapatkan CPU yang sama, tetapi berjalan pada clock speed lebih tinggi.
Akibatnya, soulusi biaya yang paling efektif untuk memanfaatkan CPU dalam jumlah yang besar dan murah dalam sebuah sistem. Jadi alasan utama kecenderungan menuju sistem terdistribusi adalah bahwa sistem ini berpotensi memiliki banyak rasio kinerja atau harga yang lebih baik daripada satu sistem terpusat.  Akibatnya, sistem terdistribusi memberikan lebih banyak dana yang dapat dihemat.
Sebuah sedikit variasi pada tema ini adalah pengamatan bahwa kumpulan mikroprosesor tidak bisa hanya memberikan performance rasio yang lebih baik daripada satu mainframe jika dilihat dari segi harga, tetapi dapat menghasilkan kinerja yang mutlak bahwa tidak ada mainframe dapat mencapai harga seperti itu. Sebagai contoh, dengan teknologi saat ini memungkinkan untuk membangun sistem dari 10.000 modem chip CPU yang masing-masing berjalan pada 50 MIPS (Jutaan dari Petunjuk Per Second), dengan total kinerja dari 500.000 MIPS. Untuk prosesor tunggal (yaitu, CPU) untuk mencapai hal ini, harus menjalankan sebuah instruksi 0,002 nsec (2 picosec). Tidak ada mesin yang ada bahkan mendekati ini, dan baik pertimbangan teoritis dan teknik membuat tidak mungkin bahwa mesin pun pernah akan. Secara teoritis, teori Einstein menyatakan bahwa relativitas ada yang dapat berjalan lebih cepat daripada cahaya, yang dapat mencakup hanya 0,6 mm dalam 2 picosec. Praktis, komputer itu sepenuhnya kecepatan yang terkandung dalam kubus 0,6 mm akan menghasilkan begitu banyak panas itu akan meleleh seketika. Jadi apakah tujuan kinerja normal dengan biaya rendah atau kinerja yang sangat tinggi pada biaya yang lebih besar, sistem terdistribusi punya banyak untuk ditawarkan.
Sebagai informasi yang lain, beberapa penulis membuat perbedaan antara sistem terdistribusi, yang dirancang untuk memungkinkan banyak pengguna untuk bekerja bersama-sama, dan sistem paralel, yang satu-satunya tujuan adalah untuk mencapai percepatan maksimum pada satu masalah, seperti kita 500.000 mesin MIPS mungkin. Kami percaya bahwa pembedaan ini sulit untuk mempertahankan karena spektrum desain benar-benar sebuah kontinum. Kami memilih untuk menggunakan istilah "sistem terdistribusi" dalam arti yang luas untuk menunjukkan setiap sistem  yang beberapa CPU yang saling bekerja sama.
Sebuah alasan berikutnya untuk membangun sistem  terdistribusi adalah bahwa beberapa aplikasi yang inheren didistribusikan. Sebuah jaringan supermarket mungkin mempunyai banyak toko, masing-masing  mendapatkan barang yang dikirim secara lokal (mungkin dari peternakan lokal), membuat lokal penjualan, dan membuat keputusan-keputusan lokal tentang sayuran yang sangat tua atau busuk yang mereka harus dibuang. Oleh karena itu masuk akal untuk melacak persediaan di setiap toko di komputer lokal, bukan terpusat di kantor pusat. Setelah semua, sebagian besar permintaan dan update akan dilakukan secara lokal. Namun demikian, dari waktu ke waktu, manajemen tertinggi mungkin ingin mencari tahu berapa banyak sayur kobis yang dimiliki sekarang ini. Salah satu cara untuk mencapai tujuan ini adalah untuk membuat sistem lengkap terlihat seperti satu komputer ke program aplikasi, tetapi mengimplementasikan secara terpusat, dengan satu komputer per toko seperti yang telah kita jelaskan. Ini kemudian menjadi sistem terdistribusi komersial.

Gambar Arsitektur Sistem Terpusat

Potensi lain keuntungan dari sistem terdistribusi dibandingkan dengan sistem terpusat adalah kehandalan lebih tinggi. Dengan mendistribusikan beban kerja lebih banyak mesin, sebuah kegagalan chip tunggal akan membawa instruksi turun paling banyak satu mesin. Idealnya, jika 5 persen dari mesin menurun pada setiap saat, sistem harus dapat terus bekerja dengan penurunan performa 5 persen. aplikasi berbahaya, seperti kontrol reaktor nuklir atau pesawat udara, menggunakan didistribusikan sistem untuk mencapai keandalan yang tinggi dapat menjadi pertimbangan dominan.
Akhirnya, pertumbuhan juga berpotensi besar. Sering kali, sebuah perusahaan akan membeli mainframe dengan maksud untuk melakukan semua pekerjaan. Jika perusahaan makmur dan berkembang, pada titik tertentu mainframe tidak akan lagi memadai. Satu-satunya solusi yang baik untuk mengganti mainframe yang lebih besar (jika ada) atau untuk menambahkan mainframe kedua. Kedua hal ini dapat menimbulkan kerusakan besar pada operasi perusahaan. Sebaliknya, dengan sistem terdistribusi, masih dapat dibuat hanya untuk menambahkan lebih banyak prosesor untuk sistem, sehingga memungkinkan untuk memperluas secara bertahap sesuai dengan kebutuhan. Keuntungan ini diringkas pada tabel





Tabel Konsep sistem terdistribusi
Item
Deskripsi
Economics
Mikroprosesor menawarkan harga yang lebih baik /perforrnance daripada mainframe
Speed
Sebuah sistem terdistribusi mungkin memiliki lebih banyak daya komputasi total daripada mainframe
Inherent distribution
Beberapa aplikasi spasial melibatkan mesin terpisah
Reliability
Jika satu mesin crash, sistem secara keseluruhan dapat masih bertahan
Incremental growth
Daya komputasi dapat ditambahkan sedikit demi sedikit


Dalam jangka panjang, kekuatan pendorong utama adalah keberadaan komputer pribadi dengan jumlah yang besar dan kebutuhan orang untuk bekerja sama dan berbagi informasi dengan cara yang nyaman tanpa terganggu oleh geografi atau distribusi fisik orang, data, dan mesin.
 Model - Model Sistem Terdistribusi
Model dalam sistem terdistribusi :
-          Model Arsitektur (Architectural Models)
-          Model Interaksi (Interaction Models)
-          Model Kegagalan (Failure Models)
Resource dalam sistem terdistribusi dipakai secara bersamaan oleh users. biasanya dibungkus dalam suatu komputer dan dapat di akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager. Resource manager memberikan kemungkinan komunikasi interface antar resource.
Resource manager dapat di generalisasi sebagai proses, kalau sistem di design dengan sudut pandang objek (Object Oriented), resource dibungkus dalam suatu objek.

- Model Arsitektur (Architectural Models)
Bagaimana cara kerja sistem terdistribusi antara komponen-komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi :
Client - Server Model
Sistem yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan memberikan layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh implementasinya antara lain: RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation).
Client : proses akses data, melakukan operasi pada komputer lain.
Server : proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi : Invocation/result

Karakteristik Client-Server
Service : menyediakan layanan terpisah yang berbeda
Shared Resource : server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
Asymmetrical Protocol : antara client dan server merupakan hubungan one to many
Mix and Match : tidak tergantung pada platform
Encapsulation of Service : message memberitahu server apa yang akan dikerjakan
Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client
Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message
Scalability : sistem client/server dapat dimekarkan baik vertikal maupun horisontal
Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer sendiri
Multiple Server Model
Proxy Server Model
Proxy server menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain. Biasanya proxy server dipakai untuk menyimpan hasil copy web resources. ketika client melakukan request ke server, hal pertama yang dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server.
Proxy server dapat diletakan pada setiap client atau dapat dipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencagah frekuensi akses server.
Proxy server membuat duplikasi beberapa server yang diakses oleh client.
Caching :
- penyimpanan lokal untuk item yang sering diakses
- meningkatkan kinerja
- mengurangi beban pada server
- wajib digunakan pada search engine
Contoh model proxy server : searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebuh kecil.
Mobile Code Model 
Kode yang berpindah dan dijalankan pada komputer yang berbeda. Contoh : Applet.
Mobile Agent Model
Mobile agent adalah sebuah program yang berpindah (termasuk data dan kode) dari satu komputer ke lainnya dalam jaringan. Biasanya melakukan suatu pekerjaan otomatis tertentu. Beberapa masalahnya antara lain authentication, permission dan keamanan. Alternatif dengan mengambil informasi melalui remote invocation. Contoh : digunakan untuk install dan memelihara software pada komputer dalam suatu organisasi, membandingkan harga produk dari beberapa vendor.
Peer Processes (Peer To Peer)
Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible. 
- Model Interaksi (Interaction Models) 
Untuk interaksinya sistem terdistribusi dibagi menjadi 2 bagian :
Synchronous Distributed System
Batas atas dan bawah waktu pengeksekusian dapat di set. Pesan yang dikirim diterima dalam waktu yang sudah ditentukan. Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Bererapa hal yang penting untuk diperhatikan :
Dalam synchronous distributed system terdapat satu waktu global
Hanya  synchronous distributed system dapat memprediksi perilaku (waktu)
Dalam  synchronous distributed system dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendeteksi error atau kegagalan dalam proses atau komunikasi.
Asynchronous Distributed System 
Banyak sistem terdistribusi yang menggunakan model interaksi ini (termasuk internet). Tidak ada batasan dalam waktu pengeksekusian, tidak ada batasan dalam delay transmission (penundaan pengiriman), dan tidak ada batasan terhadap fuktuasi waktu lokal. Asynchronous Distributed System secara praktek lebih banyak digunakan.

- Model Kegagalan (Failure Models) 
Kegagalan dapat terjadi pada proses atau kanal komunikasi, dan penyebabnya bisa berasal dari hardware ataupun software. Model kegagalan (failure models) dibutuhkan dalam membangun suatu sistem dengan prediksi terhadap kegagalan-kegagalan yang mungkin terjadi. Kegagalan yang dapat terjadi dan efek yang ditimbulkan :
Ommision Failures
Yang dimaksud dengan ommision failures adalah ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan. Dikatakan tidak mempunyai ommision failure apabila :
terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi
sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil
Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior pada sistem.

Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi sehingga hasil yang diharapkan tidak terjadi atau mengeluarkan hasil yang salah.
Timing Failures

 Timing Failures dapat terjadi pada synchronous system, dimana batas waktu diatur untuk eksekusi proses, komunikasi dan fuktuasi waktu. Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui


referensi:


Tidak ada komentar:

Posting Komentar