“Sebuah sistem terdistribusi adalah kumpulan komputer independen yang digunakan oleh pengguna sebagai satu kesatuan yang mempunyai fungsi yang sama.”
Definisi ini mempunyai dua aspek. Yang pertama berhubungan dengan hardware: mesin-mesin bersifat otonom. Yang kedua berhubungan dengan software: pengguna sistem memikirkan sebagai satu komputer. Keduanya sangat penting. Kita akan kembali ke dalam bab ini, setelah beberapa materi berlatarbelakang pada kedua hardware dan software.
Alih-alih akan dengan definisi lebih lanjut, mungkin lebih bermanfaat memberikan beberapa contoh dari sistem terdistribusi. Sebagai contoh pertama, pertimbangkan jaringan dari workstation di universitas atau departemen dalam perusahaan. Selain setiap pengguna komputer pribadi, mungkin ada banyak prosesor dalam komputer yang tidak ditugaskan untuk melakukan hal tertentu namun dialokasikan secara dinamis sesuai dengan keperluan. Sistem seperti ini mungkin memiliki sistem berkas tunggal, dengan semua file yang dapat diakses dari semua mesin dengan cara yang sama dan menggunakan nama path yang sama. Terlebih lagi, ketika pengguna mengetik perintah, sistem bisa mencari tempat terbaik untuk mengeksekusi perintah, mungkin pada komputer milik sendiri, mungkin pada workstation yang idle milik orang lain, dan mungkin di salah satu unassigned prosesor di ruang mesin superkomputer. Jika sistem secara keseluruhan terlihat dan bertindak seperti halnya prosesor tunggal dengan sistem operasi yang time sharing, akan memenuhi syarat sebagai didistribusikan sistem.
Contoh kedua, sebuah pabrik yang penuh dengan robot, masing-masing berisi komputer kuat untuk menangani tugas. Ketika robot di jalur perakitan pemberitahuan bahwa sebuah bagian mengalami kecacatan, ia akan meminta robot lain untuk membawa penggantiannya. Jika semua bertindak seperti robot yang memiliki perangkat periferal yang sama, pusat komputer dan sistem dapat deprogram, hal ini juga dikatakan sebagai sistem terdistribusi.
Contoh terakhir, pikirkan tentang sebuah bank besar dengan ratusan kantor cabang seluruh dunia. Setiap kantor memiliki komputer master untuk menyimpan rekening lokal dan menangani transaksi lokal. Selain itu, setiap komputer memiliki kemampuan untuk berbicara untuk semua cabang lainnya komputer dan dengan komputer pusat di kantor pusat. Jika transaksi dapat dilakukan tanpa memperhatikan di mana seorang pelanggan atau account, dan para pengguna tidak akan melihat adanya perbedaan antara sistem ini dan terpusat mainframe, ini juga dianggap sebagai sistem terdistribusi.
2. Tujuan Sistem Terdistribusi
Setiap sistem yang diciptakan pasti memeliki tujuan, begitupula dengan sistem terdistribusi.
2.1. Koneksi Antara Pengguna dan Sumber Daya
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.
2.2. Transparansi
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.
* Access transparency:
menyembunyikan perbedaan representasi data dan bagaimana sumber daya diakses.
Contohnya : 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.
* 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.
* 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.
* 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.
* Concurrency transparency :
Menyembunyikan bahwa sumber daya mungkin dibagi kepada beberapa penggun 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.
* Performance Transparency :
meminimalkan tambahan performance dalam menggunakan remote resourse, sehingga response time dan throughput sebanding dengan ketika mengakses resource secara lokal.
2.3. Keterbukaan (Oppennes)
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.
2.4. 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.
3. Konsep Perangkat Keras (Hardware Concepts)
Meskipun semua sistem terdistribusi terdiri dari beberapa CPU, ada beberapa cara berbeda dengan mengatur hardware, terutama dalam hal bagaimana mereka saling berhubungan dan bagaimana mereka berkomunikasi. Pada bagian ini kita akan mengambil sekilas perangkat keras sistem terdistribusi, khususnya, bagaimana mesin terhubung antara satu dengan yang lainnya. Pada bagian berikutnya kita akan meneliti beberapa isu perangkat lunak yang berkaitan dengan sistem terdistribusi.
Berbagai skema klasifikasi untuk beberapa CPU dari komputer telah pernah diusulkan selama bertahun-tahun, namun tak satu pun dari mereka sudah benar-benar dapt diadopsi secara luas. Mungkin yang paling sering dikutip adalah penggolongan taksonomi Flynn (1972), meskipun cukup mendasar. Flynn mengambil dua ciri dari CPU yang dianggap penting yaitu: jumlah aliran instruksi dan jumlah aliran data . Sebuah komputer dengan satu aliran instruksi dan aliran data tunggal adalah disebut SISD (single instruction stream and a single data stream). Semua komputer Uniprocessor tradisional (yaitu, mereka hanya memiliki satu CPU) termasuk dalam kategori ini, dari komputer pribadi ke mainframe besar.
Kategori berikutnya adalah SIMD, single instruction stream multiple data stream. Jenis ini mengacu pada array prosesor dengan satu unit instruksi yang mengambil suatu instruksi, dan kemudian menginstruksikan banyak data untuk melaksanakannya secara paralel, masing-masing dengan data sendiri. Mesin ini berguna untuk perhitungan yang berulang.
0 komentar:
Posting Komentar