SISTEM TERDISTRIBUSI

1.2 Tujuan

Dalam membangun sistem terdistribusi tidak berarti bahwa itu adalah ide yang baik. Setelah semua, dengan teknologi saat ini juga memungkinkan untuk menempatkan empat drive floppy disk pada komputer pribadi. Dalam bagian ini kita akan membahas empat gol penting yang harus dipenuhi untuk membuat membangun sistem terdistribusi sepadan dengan usaha. Sebuah sistem terdistribusi harus dengan mudah menghubungkan pengguna ke sumber daya, harus menyembunyikan fakta bahwa sumber daya yang didistribusikan melalui jaringan, melainkan harus terbuka, dan harus terukur.

1.2.1 Koneksi pengguna dan sumber daya

Tujuan utama dari sistem terdistribusi adalah untuk membuatnya mudah bagi pengguna untuk mengakses sumber daya jarak jauh, dan untuk berbagi dengan usesrs lainnya dengan cara yang terkontrol. Contoh khas sumber daya termasuk printer, komputer, penyimpanan, fasilitas, data, file, halaman web, dan jaringan, untuk nama hanya beberapa. Ada banyak alasan untuk menunggu untuk berbagi sumber daya. Salah satu alasan yang jelas adalah bahwa ekonomi. Sebagai contoh, lebih murah untuk membiarkan printer digunakan bersama oleh beberapa pengguna masuk akal untuk berbagi sumber daya mahal seperti superkomputer dan sistem kinerja penyimpanan tinggi.

Konektivitas internet kini mengarah ke organisasi virtual banyak yang secara geografis tersebar luas kelompok orang bekerja sama dengan cara groupware, yaitu, perangkat lunak untuk mengedit kolaboratif, telekonferensi, dan sebagainya. Demikian juga, konektivitas internet telah memungkinkan perdagangan elektronik memungkinkan kita untuk membeli dan menjual segala macam barang tanpa benar-benar harus pergi ke toko.

Namun, seperti konektivitas dan berbagi meningkat, keamanan menjadi semakin penting. Dalam prakteknya saat ini, sistem menyediakan sedikit perlindungan terhadap menguping atau gangguan pada komunikasi. Password dan informasi sensitif lainnya sering dikirim sebagai teks yang jelas. (Yaitu tidak terenkripsi) melalui jaringan, atau disimpan pada server bahwa kita hanya bisa berharap dapat dipercaya. Dalam pengertian ini, ada banyak ruang untuk perbaikan. Sebagai contoh, saat ini memungkinkan untuk memesan barang hanya dengan menyediakan nomor kartu kredit. Jarang adalah bukti yang diperlukan bahwa pelanggan yang memiliki kartu. Di masa depan, menempatkan perintah dengan cara ini dimungkinkan hanya jika Anda benar-benar dapat membuktikan bahwa Anda secara fisik memiliki kartu dengan menggunakan card reader.

Lain masalah keamanan adalah bahwa komunikasi pelacakan untuk membangun sebuah profil preferensi pengguna tertentu (wang et al, 1998). Pelacakan tersebut secara eksplisit melanggar privasi, terutama jika hal itu dilakukan tanpa memberitahu pengguna. Masalah terkait adalah bahwa konektivitas meningkat juga dapat menyebabkan komunikasi yang tidak diinginkan, seperti junk mail elektronik sering disebut spam. Dalam kasus tersebut, apa yang kita mungkin perlu adalah untuk melindungi diri kita menggunakan filter informasi khusus yang pilih pesan masuk berdasarkan konten mereka.

1.2.2 Transparansi

Tujuan penting dari sebuah sistem terdistribusi adalah untuk menyembunyikan fakta bahwa proses dan sumber daya secara fisik didistribusikan di beberapa komputer. Sebuah sistem terdistribusi yang mampu menampilkan diri kepada pengguna dan aplikasi seolah-olah hanya satu sistem komputer dikatakan transparan. Mari kita melihat apa jenis transparansi yang ada di sistem terdistribusi, dan kemudian menjawab pertanyaan apakah transparansi selalu diperlukan.

Transparansi dalam sistem terdistribusi

Akses transparansi berkaitan dengan perbedaan bersembunyi dalam representasi data dan cara bahwa sumber daya dapat diakses oleh pengguna. Sebagai contoh,, untuk mengirim integer dari workstation berbasis Intel untuk mesin SPARC Sun mengharuskan kami memperhitungkan bahwa Intel perintahnya byte dalam format little endian (yaitu, high-order byte ditransmisikan pertama), dan bahwa prosesor SPARC menggunakan format big endian (yaitu byte low-order ditransmisikan pertama). Perbedaan lain dalam representasi data mungkin ada juga. Sebagai contoh, sebuah sistem terdistribusi mungkin memiliki sistem komputer yang menjalankan sistem operasi yang berbeda, masing-masing memiliki mereka sendiri konvensi penamaan file. Perbedaan dalam konvensi penamaan, serta bagaimana file dapat dimanipulasi, semua harus disembunyikan dari pengguna dan aplikasi

Kelompok penting dari jenis transparansi harus dilakukan dengan lokasi sumber daya. Lokasi transparansi mengacu pada fakta bahwa pengguna tidak dapat mengatakan di mana sumber daya yang secara fisik terletak di sistem. Penamaan memainkan peran penting dalam mencapai transparansi lokasi. Secara khusus, transparansi lokasi dapat dicapai dengan menetapkan hanya nama logis untuk sumber daya, yaitu, nama-nama di mana lokasi dari sumber daya tidak diam-diam dikodekan. Contoh dari nama seperti adalah http://www.prenhall.com/index.html URL, yang tidak memberikan petunjuk tentang lokasi Web Server utama Prentice Hall. URL tersebut juga tidak memberikan petunjuk mengenai apakah index.html selalu berada di lokasi saat ini atau baru-baru ini pindah ke sana. Sistem terdistribusi di mana sumber daya dapat dipindahkan tanpa mempengaruhi bagaimana sumber daya yang dapat diakses dikatakan untuk memberikan transparansi migrasi. Bahkan lebih kuat adalah situasi di mana sumber daya dapat dipindahkan sementara mereka sedang tem dikatakan untuk mendukung transparansi relokasi. Contoh transparansi relokasi adalah ketika pengguna ponsel dapat terus menggunakan laptop nirkabel mereka saat bergerak dari satu tempat ke tempat tanpa pernah (sementara) lepaskan.

Replikasi memainkan peran penting dalam sistem terdistribusi. Misalnya, sumber daya dapat direplikasi untuk meningkatkan ketersediaan atau untuk meningkatkan kinerja dengan menempatkan salinan dekat dengan tempat di mana ia diakses. Transparansi replikasi berhubungan dengan menyembunyikan fakta bahwa semua replika memiliki nama yang sama. Akibatnya, sistem yang mendukung transparansi replikasi umumnya harus mendukung transparansi lokasi juga, karena dinyatakan tidak mungkin untuk merujuk replika di lokasi yang berbeda.

Dalam banyak kasus, berbagi sumber daya dilakukan dengan cara kooperatif, seperti dalam kasus komunikasi. Namun, ada juga banyak contoh berbagi sumber daya kompetitif. Sebagai contoh, dua pengguna independen mungkin masing-masing telah disimpan file mereka pada server file yang sama atau mungkin mengakses tabel yang sama dalam database bersama. Dalam kasus tersebut, adalah penting bahwa setiap pengguna tidak melihat bahwa yang lain adalah membuat penggunaan sumber daya yang sama. Fenomena ini disebut transparansi konkurensi. Suatu hal yang penting adalah bahwa akses bersamaan ke sumber daya bersama daun sumber daya yang dalam keadaan konsisten. Konsistensi dapat dicapai melalui mekanisme penguncian, dimana pengguna, pada gilirannya, memberikan akses eksklusif ke sumber daya yang diinginkan. Sebuah mekanisme yang lebih halus adalah dengan menggunakan transisi, tetapi karena masih lihat di bab berikutnya, transaksi sulit untuk menerapkan dalam sistem terdistribusi.

Jenis terakhir dari transparansi yang sering dikaitkan dengan sistem terdistribusi adalah ketekunan transparansi, yang berkaitan dengan masking apakah sumber daya dalam memori volatile atau mungkin di suatu tempat pada disk. Sebagai contoh, database objek yang berorientasi menyediakan fasilitas untuk langsung memanggil metode pada objek yang tersimpan. Apa yang terjadi di balik layar, adalah bahwa database memutuskan salinan pertama negara objek dari disk ke memori utama, melakukan operasi, dan mungkin menulis negara yang kembali ke penyimpanan sekunder.

Tingkat Transparansi

Meskipun transparansi distribusi umumnya disukai untuk setiap sistem terdistribusi, ada situasi di mana berusaha untuk langsung menyembunyikan aspek distribusi semua dari pengguna tidak selalu ide yang baik. Contohnya adalah meminta koran elektronik Anda muncul di kotak surat Anda sebelum 7 pagi waktu setempat, seperti biasa, sementara Anda sedang di ujung lain dari dunia yang hidup dalam zona waktu yang berbeda.

Sebuah sistem wide-area terdistribusi yang menghubungkan proses di San Francisco untuk suatu proses di Amsterdam tidak dapat diharapkan untuk menyembunyikan fakta bahwa alam tidak akan memungkinkan untuk mengirim pesan dari satu proses ke yang lain dalam waktu kurang dari sekitar 35 milidetik . Praktek menunjukkan bahwa itu benar-benar membutuhkan beberapa ratus milidetik menggunakan jaringan komputer. Transmisi sinyal tidak hanya dibatasi oleh kecepatan cahaya, tetapi juga oleh kapasitas pemrosesan yang terbatas dari switch menengah.

Ada juga trade-off antara tingkat tinggi transparansi dan kinerja sistem. Sebagai contoh, aplikasi internet banyak berulang kali mencoba menghubungi server sebelum akhirnya menyerah. Akibatnya, berusaha untuk menutupi kegagalan server sementara sebelum mencoba lain di dapat memperlambat sistem secara keseluruhan. Dalam kasus seperti itu, mungkin lebih baik untuk menyerah sebelumnya, atau setidaknya membiarkan pengguna membatalkan upaya untuk melakukan kontak.

1.2.3 Keterbukaan

Tujuan lain dari sistem terdistribusi adalah keterbukaan. Terbuka mendistribusikan sistem adalah sebuah sistem yang menawarkan layanan sesuai dengan aturan standar yang menggambarkan sintaks dan semantik dari layanan tersebut. Misalnya, dalam jaringan komputer, aturan standar mengatur format, isi, dan makna dari pesan yang dikirim dan diterima. Aturan tersebut diformalkan dalam protokol. Dalam sistem terdistribusi, layanan umumnya ditentukan melalui antarmuka, yang sering digambarkan dalam bahasa definisi antarmuka (IDL). Antarmuka definisi ditulis dalam IDL hampir selalu menangkap hanya sintaks layanan. Dengan kata lain, mereka menentukan tepatnya nama-nama fungsi yang tersedia bersama-sama dengan jenis parameter, nilai kembali, kemungkinan pengecualian yang dapat dinaikkan, dan sebagainya. Bagian yang sulit adalah menentukan dengan tepat apa yang mereka lakukan layanan, yaitu semantik interface.

Definisi antarmuka memungkinkan proses sewenang-wenang yang membutuhkan antarmuka tertentu untuk berbicara dengan proses lain yang menyediakan antarmuka yang. Hal ini juga memungkinkan dua pihak independen untuk membangun implementasi yang sama sekali berbeda dari mereka antarmuka, yang mengarah ke dua sistem terdistribusi terpisah yang beroperasi dengan cara yang persis sama. Spesifikasi yang tepat yang lengkap dan netral. Lengkap berarti bahwa segala sesuatu yang diperlukan untuk membuat sebuah implementasi memang telah ditetapkan. Namun, definisi antarmuka banyak yang tidak semua lengkap, sehingga perlu bagi pengembang untuk menambahkan implementasi khusus detail. Sama pentingnya adalah fakta bahwa spesifikasi tidak meresepkan apa implementasi akan terlihat seperti, mereka harus netral. Kelengkapan dan netralitas penting untuk interoperabilitas dan portabilitas (blair dan Stefani, 1998). Interoperabilitas mencirikan tingkat dimana dua implementasi dari sistem atau komponen dari produsen yang berbeda dapat hidup berdampingan dan bekerja sama dengan hanya mengandalkan jasa masing-masing sebagaimana ditentukan oleh standar umum.

Tujuan lain yang penting untuk sistem terdistribusi terbuka adalah yang harus mudah untuk mengkonfigurasi sistem keluar komponen yang berbeda mungkin dari pengembang yang berbeda. Dengan kata lain, sistem terdistribusi terbuka harus diperluas. Sebagai contoh, dalam sistem yang fleksibel, itu harus relatif mudah untuk menambahkan bagian yang berjalan pada sistem operasi yang berbeda, atau bahkan untuk menggantikan seluruh sistem file. Seperti banyak dari kita tahu dari praktek sehari-hari, fleksibilitas mencapai lebih mudah diucapkan daripada dilakukan.

Memisahkan kebijakan dari mekanisme

Untuk mencapai fleksibilitas dalam sistem terdistribusi terbuka, sangat penting bahwa sistem ini disusun sebagai kumpulan komponen yang relatif kecil dan mudah diganti atau beradaptasi. Ini berarti bahwa kita harus memberikan definisi tidak hanya tingkat tertinggi antarmuka, yaitu, yang terlihat oleh pengguna dan aplikasi, tetapi juga definisi untuk antarmuka ke bagian internal sistem dan menjelaskan bagaimana bagian-bagian berinteraksi. Pendekatan ini relatif baru. Sistem yang lebih tua dan bahkan kontemporer yang dibangun menggunakan pendekatan monolitik di mana komponen hanya logis dipisahkan tetapi dilaksanakan sebagai salah satu, program besar. Pendekatan ini membuat sulit untuk mengganti atau menyesuaikan komponen tanpa mempengaruhi seluruh sistem.

Kebutuhan untuk mengubah suatu sistem terdistribusi sering disebabkan oleh komponen yang tidak memberikan kebijakan yang optimal untuk pengguna tertentu atau aplikasi. Sebagai contoh, mempertimbangkan caching di World Wide Web. Browser umumnya memungkinkan pengguna untuk menyesuaikan kebijakan mereka caching dengan menentukan ukuran cache, dan apakah dokumen cache harus selalu diperiksa konsistensinya, atau mungkin hanya sekali per sesi. Namun, pengguna tidak dapat mempengaruhi parameter caching lainnya, seperti berapa lama dokumen mungkin tetap berada dalam cache, atau yang dokumen harus dihapus ketika cache mengisi. Juga, tidak mungkin untuk membuat keputusan caching berdasarkan pada isi dokumen. Misalnya, pengguna mungkin ingin cache jadwal kereta api mengetahui bahwa ini tidak berubah, tetapi tidak pernah informasi tentang kondisi lalu lintas saat di jalan raya.

1.2.4 Skalabilitas

Skalabilitas merupakan salah satu tujuan yang paling penting bagi pengembang sistem terdistribusi. Skalabilitas dari suatu sistem dapat diukur bersama setidaknya tiga dimensi yang berbeda (neuman, 1994). pertama, sistem dapat terukur sehubungan dengan ukurannya, yang berarti bahwa kita dapat easilyadd lebih banyak pengguna dan sumber daya ke sistem. kedua, sistem geografis scalable adalah satu di mana pengguna dan sumber daya mungkin terletak berjauhan. ketiga, sistem dapat secara administratif scalable, artinya masih bisa aesy untuk mengelola bahkan jika itu meliputi banyak organisasi administratif independen. sayangnya, sistem yang scalable dalam satu atau lebih dari dimensi sering menunjukkan beberapa kinerja sebagai sistem skala up.

Skalabilitas Masalah.

Ketika sistem perlu untuk skala, jenis yang sangat berbeda dari masalah yang perlu dipecahkan. mari kita pertama mempertimbangkan skala sehubungan dengan ukuran. jika lebih banyak pengguna atau sumber daya perlu didukung, kita sering dihadapkan dengan keterbatasan layanan terpusat, data, dan algoritma (lihat gambar 1-3). untuk contoh, banyak layanan yang terpusat dalam arti bahwa mereka dilaksanakan dengan cara hanya server tunggal yang berjalan pada mesin tertentu dalam sistem terdistribusi. masalah dengan skema ini jelas: server hanya dapat menjadi hambatan karena jumlah pengguna tumbuh. bahkan jika kita memiliki pengolahan hampir tak terbatas dan kapasitas penyimpanan, komunikasi dengan server yang akhirnya akan melarang pertumbuhan lebih lanjut.

Penyalinan server ke beberapa lokasi untuk meningkatkan kinerja mungkin keluar dari pertanyaan karena akan membuat layanan lebih rentan terhadap serangan keamanan. Hanya seburuk layanan terpusat adalah data terpusat. bagaimana seharusnya kita melacak nomor telepon dan alamat dari 50 juta orang? anggaplah bahwa setiap record data bisa masuk ke dalam 50 karakter. disk 2,5-gigabyte tunggal akan menyediakan penyimpanan yang cukup. tapi di sini lagi, memiliki database tunggal pasti akan jenuh semua jalur komunikasi ke dalam dan keluar dari itu. Demikian juga, membayangkan bagaimana internet akan bekerja jika domain nama sistem (DNS) yang akan diimplementasikan sebagai tabel tunggal. DNS memelihara informasi pada jutaan komputer di seluruh dunia dan membentuk layanan penting untuk mencari server web. jika setiap permintaan untuk menyelesaikan URL yang harus diteruskan ke satu dan hanya server DNS, jelas bahwa tidak ada yang akan menggunakan web (yang, by the way, mungkin akan memecahkan masalah lagi).

Akhirnya, algoritma terpusat juga merupakan ide yang buruk. dalam sistem terdistribusi yang besar, sejumlah besar pesan harus dikirimkan melewati banyak baris. dari sudut pandang teoritis, cara optimal untuk melakukan ini adalah mengumpulkan informasi lengkap tentang beban pada semua mesin dan garis, dan kemudian menjalankan algoritma teori graf untuk menghitung semua sistem untuk meningkatkan routing.

Masalahnya adalah bahwa mengumpulkan dan mengangkut semua input dan output informasi lagi akan menjadi ide yang buruk karena pesan akan membebani bagian dari jaringan. pada kenyataannya, setiap algoritma yang beroperasi dengan mengumpulkan informasi dari semua situs, mengirimkannya ke sebuah mesin tunggal untuk pengolahan, dan kemudian mendistribusikan hasilnya harus dihindari. hanya algoritma desentralisasi harus digunakan. algoritma ini umumnya memiliki karakteristik sebagai berikut, yang membedakan mereka dari algoritma terpusat:

1. Mesin tidak memiliki informasi lengkap tentang sistem negara.

2. Mesin membuat keputusan hanya didasarkan pada informasi lokal.

3. Kegagalan satu mesin tidak merusak algoritma.

4. Tidak ada asumsi implisit bahwa ada jam global.

Sumber : http://penuhrahmatt.mdl2.com/mod/book/view.php?id=4

 Materi Selanjutnya : 

http://dendiyulistiana.blogspot.com/2014/03/sistem-terdistribusi_12.html

 Materi Sebelumnya :

http://ridwanobo.blogspot.com/2014/03/contoh-sistem-terdistribusi-dan.html

Kelompok 5 :

About angga12casidy

tanyakan pada yang kenal saya.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a comment