Sistem Terdistribusi
Sistem Terdistribusi terdiri dari dua kata yaitu “ Sistem” dan “Terdistribusi”. Sistem terdistribusi merupakan sekumpulan elemen yang saling berhubungan satu dengan yang lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik ataumenjalangkan sperangkat fungsi. Adapun terdistribusi berasal dari kata “distribusi” yang merupakan lawan kata “sentralisasi” yang artinya penyebaran, sirkulasi, penyerahan, pembagian menjadi bagian-bagian kecil.
Berawal dari pengertian kata-kata pembentuknya, Sistem Terdistribusi dapatdidefinisikan sebagai suatu kesatuan dari elemen-elemen yangsaling berinteraksi secara sistematis dan teratur untukmendistribusikan data (Maseleno, 2003).
Karakteristik Sistem Terdistribusi
Resource Access and Sharing
Kemampuan menggunakan hardware, software atau data dimanapun dan kapanpun. Karakteristik ini juga yang menentukan siapa saja yang dapat mengakses sebuah resource dalam sebuah sistem terdistribusi. Salah satu contohnya dalam sebuah web, terdapat .htaccessyang hanya dapat diakses oleh user-user yang telah memiliki grant access terhadap file tersebut.
Openness (Keterbukaan)
Sebuah keterbukaan dalam sistem terdistribusi memiliki pengertian kemampuan sebuah sistem dalam mengembangkan fleksibilitas terhadap peningkatan kinerja sebuah sistem. Seperti penambahan module baru dan ketersediaan extension / plugin yang dapat terkoneksi dengan sistem lain. Contoh karakteristik ini misalkan sebuah aplikasi web banking yang dapat terhubung dengan sistem web milik perusahaan finance.
Concurrency
Semua proses dalam sistem terdistribusi dilakukan secara concurrency (secara bersama-sama). Hal ini dilakukan untuk mencegah inkonsistensi dan ketidak valid an sebuah data dan proses. Sebagai contoh dalam sebuah aplikasi web yang diakses oleh banyak user. Ketika server melakukan sebuah update. Maka semua user yang mengakses halaman web tersebut akan langsung mendapatkan update terbaru tersebut.
Scalability
Skalabilitas memiliki pengertian bahwa sebuah sistem terdistribusi harus dapat ditingkatkan kinerjanya tanpa mengubah komponen-komponen di dalamnya. Sebagai contoh, sebuah aplikasi web yang digunakan oleh user yang terlalu banyak. Maka untuk meningkatkan kinerja dari web tersebut agar tidak terjadi overload atau system down maka perlu dilakukan upgrade processor dan ram. Dalam proses upgrading tersebut, komponen dalam web tidak perlu diubah.
Fault Tolerance (Toleransi Kesalahan)
Kesalahan pasti terjadi dalam sebuah sistem. Entah itu disebabkan karena masalah jaringan, power supply, bencana alam atau human error. Sebuah sistem terdistribusi dirancang memliki kemampuan untuk menangani hal-hal tersebut. Contoh dalam hal ini adalah dibangunnya sebuah clustering server. Dimana ketika server utama mengalami down karena beberapa penyebab kesalahan, maka extended server langsung membackup sistem utama dan menggantikannya.
Transparency
Secara umum, transparansi disini tidak berlaku untuk user biasa yang mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem yang terdistribusi atau tidak. Namun secara khusus bagi seorang pengelola baik itu developer atau administrator sistem sangat perlu untuk mengetahui arsitektur dari sistem yang sedang digunakan karena untuk mempermudah bagi mereka dalam mengembangkan dan memelihara sistem tersebut.
Karakteristik Sistem Terdistribusi
1. Sistem terdistribusi adalah sistem concurrent (serentak)
a. Setiap komponen hardware/software bersifat otonom (kita akan menyebut komponen otonom adalah “proses”)
b. Komponen menjalankan tugas bersamaan
Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B dapat terjadi sebelum A
c. Sinkronisasi dan koordinasi dengan message passing
1). Sharing resources
2). Masalah umum dalam sistem concurrent
a). Deadlock
b). Lifeclock
c). Komunikasi yang tidak handal
2. Keterbatasan dalam global clock
a. Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing
b. Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing)
3. Independent failure
a. Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
b. Proses tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan
Contoh Sistem Terdistribusi
1. Internet: Jaringan komputer dan aplikasi yang heterogen Mengimple mentasikan protokol Internet.
2. Sistem Multimedia Terdistribusi: Biasanya digunakan pada infrastruktur internet
a. Karakteristik
– Sumber data yang heterogen dan memerlukan sinkronisasi secara real time (Video, audio, text, M u lticast)
Contoh: Teleteaching tools (mbone-based, etc.)
– Video-conferencing, Video and audio on demand
3. Sistem Intranet:
a. Jaringan yang teradministrasi secara lokal,
b. Biasanya proprietary,
c. Terhubung ke internet (melalui firewall),
d. Menyediakan layanan internal dan eksternal
4. Mobile dan Sistem Komputasi Ubiquitous
a. Sistem telepon Cellular (e.g., GSM)
b. Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
c. Komputer laptop, ubiquitous computing
d. Handheld devices, PDA, etc
5. Contoh lainnya:
a. Sistem telepon (ISDN, PSTN)
b. Manajemen jaringan: Administrasi sesumber jaringan
c. Network File System (NFS): Arsitektur untuk mengakses sistem file melalui jaringan
d. WWW:
Keuntungan Sistem Terdistribusi
Pengawasan distribusi dan pengambilan data
Jika beberpa site yg berbeda dihubungkan seorang pemakai yg berada pada satu site dapat mengakses data pada site lain.
Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain.
Reliability dan availability
Sistem distribusi dapat terus menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai komunikasi antar site.
Kecepatan pemrosesan query
Contoh : jika site-site gagal dalam sebuah sistem terdistribusi site lain dapat melanjutkan operasi jika data telah direplikasi pada beberapa site.
Otonomi lokal
Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan utk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan.
Efisiensi dan fleksibe
Data dalam sistem distribusi dapat disimpan dekat dgn titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain atau salinan dapat dihapus.
Kerugian Terdistribusi
Harga software mahal
Hal ini disebabkan sangat sulit utk membuat sistem database distribusi.
Kemungkinan kesalahan lbh besar
Site-site beroperasi secara paralel sehingga lbh sulit utk menjamin kebenaran dan algoritma. Ada kesalahan mungkin tak dapat diketahui.
Biaya pemrosesan tinggi
Perubahan pesan dan penambahan perhitungan dibutuhkan utk mencapai koordinasi antar site.
Tujuan Sistem Terdistribusi
1. Making resources accesible (membuat sumber daya dapat diakses). Tujuan utama sistem terdistribusi yaitu untuk memudahkan pengguna dalam mengakses sumber daya jarak jauh secara bersama-sama dengan terkontrol dan efisien. Dengan semakin meningkatnya konektivitas dan akses untuk dapat saling berbagi, peningkatan keamanan juga menjadi hal yang sangat penting.
2. Openness (Keterbukaan). Sistem distribusi terbuka adalah suatu sistem yang menawarkan layanan sesuai dengan aturan standar yang menjelaskan sintak dan semantik dari layanan. Dalam sistem terdistribusi, layanan spesifikasi secara umum dalam tampilan antarmuka, yang sering disebut Interface Definition Languaga (IDL). Kunci aspek openness adalah antarmuka standar dan protokol serta mendukung keberagaman.
3. Pitfalls (perangkat). Beberapa prinsip mengikuti aturan dasar dari kelayakan rekayasa perangkat lunak dan tidak akan mengulang-ulang kesalahan. Sistem distribusi berbeda dengan perangkat lunak tradisional karena komponen akan disebarkan atau didistribusikan ke jaringan. Pendistribusian inilah yang menyebabkan kebutuhan sistem sangat kompleks dan akan ada kesalahan yang perlu perbaikan nantinya. Hal ini disebabkan mengikuti asumsi yang salah.
4. Scalability (Skalabilitas). Bertambahnya kebutuhan terhadap sistem terdistribusi, memungkinkan untuk memperbesar dan memperkecil infrastruktur dari sistem terdistribusi itu sendiri. Perubahan ukuran ini tidak mempengaruhi sistem yang sedang berjalan. Perubahan skalabilitas ini pengguna dan perangkat keras serta lunak sistem terdistribusi.
5. Distribution transparency (distribusi yang transparan/ketransparanan). Sistem terdistribusi bertujuan untuk menyembunyikan fakta bahwa proses dan sumber daya fisik didistribusikan ke banyak komputer. Anggapan pengguna bahwa aplikasi yang dilihatnya merupakan satu sistem komputer inilah yang disebut transparency. Aspek transparensi :
6. Access transparency : menyembunyikan perbedaan representasi data dan bagaimana sumber daya diaksesContohnya : pemetaan drive di samba, NFS, remote printer, dll. Sistem terdistribusi mungkin memiliki sistem komputer yang menjalankan sistem operasi yang berbeda, masing-masing memiliki konvensi sendiri penamaan file. Perbedaan dalam konvensi penamaan, serta bagaimana file dapat dimanipulasi, semua harus disembunyikan dari pengguna dan aplikasi.
7. Location transparency : menyembunyikan dimana sumber daya berada
Contoh : transaksi perbankan ATM, web pages, dll. Nama http://www.prenhall.com/index.html URL yang tidak memberikan petunjuk tentang lokasi server utama Web Prentice Hall.
8. Migration transparency : menyembunyikan bahwa sumber daya mungkin pindah ke tempat lain
Contoh : web pages, NFS, dll. URL http://www.prenhall.com/index.html tidak memberikan petunjuk apakah index.html selalu berada di lokasi saat ini atau baru pindah ke lain tempat.
9. Relocation transparency : menyembunyikan bahwa sumber daya mungkin dipindahkan ke tempat lain ketika sedang digunakan
Contoh : web pages, distributed database, ketika pengguna ponsel dapat terus menggunakan laptop nirkabel mereka ketika bergerak dari satu tempat ke tempat tanpa pernah terputus (sementara).
10. Replication transparency : menyembunyikan sumber daya direplikasi
Contoh : distributed DBMS, mirroring web pages, dll. Sumber daya dapat direplikasikan untuk meningkatkan ketersediaan atau untuk meningkatkan kinerja dengan menempatkan salinan dekat ke tempat di mana ia diakses.
11. Concurrency transparency : menyembunyikan bahwa sumber daya mungkin dibagi kepada beberapa pengguna
Contoh : NFS, Automatic teller machine network, Database Management System. Dua pengguna independen mungkin masing-masing memiliki file yang tersimpan di server file yang sama atau mungkin mengakses tabel yang sama dalam database bersama. Dalam kasus tersebut, adalah penting bahwa setiap pengguna tidak menyadari bahwa yang lain adalah memanfaatkan sumber yang sama.
Failure transparency : menyembunyikan kegagalan dan pemulihan dari sumber daya
Contoh : Database Management System. Contoh lain, saat menghubungi server web sibuk, browser akhirnya akan time out dan melaporkan bahwa halaman Web tidak tersedia .. Pada saat itu, pengguna tidak dapat menyimpulkan bahwa server benar-benar down.
12. Performance Transparency : meminimalkan tambahan performance dalam menggunakan remote resourse, sehingga response time dan throughput sebanding dengan ketika mengakses resource secara lokal.
Tidak ada komentar:
Posting Komentar