Jumat, 10 Juni 2011

Sistem Berkas Terdistribusi

Sistem Berkas Terdistribusi

Sistem berkas terdistribusi adalah sebuah sistem di mana banyak pengguna dapat berbagi berkas dan sumber daya penyimpanan. Client, server, dan media penyimpanan dalam sistem terdistribusi tersebar pada perangkat-perangkat yang terdapat dalam sistem terdistribusi. Service dijalankan melalui jaringan. Konfigurasi dan implementasi dari sistem berkas terdistribusi bervariasi dari sistem yang satu ke sistem yang lain.
Idealnya, sistem berkas terdistribusi tampil di depan pengguna atau client sebagai sistem berkas yang konvensional dan terpusat. Di mana keberagaman atau multiplisitas perangkat dibuat tidak tampak sehingga client interface dalam sistem berkas terdistribusi tidak dibedakan antara local file dan remote file. Sistem berkas terdistribusi yang transparan juga akan memfasilitasi mobilitas pengguna dengan membawa lingkungan pengguna, yang dimaksudkan adalah home directory, ke mana saja pengguna itu login.
Dalam sistem berkas konvensional dan terpusat, waktu yang diperlukan untuk memenuhi permintaan adalah waktu akses disk dan sedikit waktu untuk CPU processing. Sedangkan dalam sistem berkas terdistribusi, waktu yang diperlukan untuk memenuhi permintaan meningkat akibat remote access yang menambah waktu pengiriman permintaan ke server dan waktu penerimaan respon oleh client. Selain itu, dalam transfer informasi, ada tambahan waktu untuk menjalankan software untuk protokol komunikasi.
Dalam pengaksesan remote file atau remote file access (RFA) di dalam sistem berkas terdistribusi terdapat dua metode:
  1. Dengan remote service Permintaan akses data dikirimkan ke server. Server melakukan akses ke data dan hasilnya di-forward kembali ke client.
  2. Dengan caching Bila data yang dibutuhkan belum disimpan di cache maka salinan data akan dibawakan dari server ke client. Idenya adalah untuk menahan data yang baru saja diakses di cache sehingga akses yang berulang ke informasi yang sama dapat ditangani secara lokal. Dengan demikian, dapat mengurangi network traffic. Namun, masalah yang timbul adalah mengenai konsistensi cache, di mana seharusnya salinan cache tetap konsisten dengan file-master-nya. Dalam sistem berkas terdistribusi, replikasi berkas pada perangkat yang berbeda adalah redundansi yang berguna untuk meningkatkan availibilitas atau ketersediaan. Syarat mendasar untuk replikasi berkas adalah replika dari berkas yang sama terletak pada perangkat yang failure-independent sehingga ketersediaan satu replika tidak dipengaruhi oleh ketersediaan replika yang lain. Masalah utama dalam replikasi adalah updating. Proses update pada satu replika harus dilakukan juga pada replika yang lain.

Topologi Jaringan

Topologi Jaringan

Situs-situs dalam sistem terdistribusi dapat terhubung melalui berbagai macam cara yang ditentukan berdasarkan kriteria-kriteria sebagai berikut:
  • Biaya instalasi.  Biaya menghubungkan situs-situs dalam sistem.
  • Biaya komunikasi.  Besar waktu dan uang untuk mengirimkan pesan dari satu situs ke situs lainnya.
  • Ketersediaan/availabilitas.  Sampai sejauh mana data dapat diakses walaupun terdapat kegagalan pada beberapa link atau situs.

Macam-macam topologi jaringan antara lain:

Fully Connected Network

Tiap situs dalam Fully Connected Network terkoneksi secara langsung dengan situs lainnya. Link yang ada menjadi banyak dan menyebabkan biaya instalasi besar. Topologi jenis ini tidak praktis untuk diterapkan dalam sistem yang besar.

Partially Connected Network

Link yang ada hanya antara beberapa situs sehingga biaya instalasi menjadi lebih rendah. Namun, biaya komunikasi bisa menjadi lebih mahal. Misalkan, situs A ingin mengakses data di situs E, maka jalan yang ditempuh menuju situs E harus melalui situs B terlebih dahulu karena tidak ada link langsung dari situs A ke situs E. Semakin jauh jalan yang ditempuh, biaya komunikasi semakin mahal. Selain itu, availibilitas atau ketersediaan data kurang baik dibandingkan dengan Fully Connected Network. Misalkan, jika terjadi failure site atau kegagalan situs di C maka akses ke situs F menjadi tidak ada.
Gambar 23.3. Model Network
Model Network

Partially Connected Network terdiri dari:
  • Tree-structured network.  Biaya instalasi dan komunikasi pada topologi jenis ini biasanya rendah. Namun, jika terjadi failure link atau failure site maka pengaksesan data menjadi terhambat dan mengakibatkan availibilitas/ketersediaan menjadi rendah.
  • Star network.  Biaya komunikasi rendah karena setiap situs paling banyak mengakses dua link ke situs lain. Namun, bila terjadi failure site di situs pusat maka setiap situs tidak akan dapat mengakses situs lainnya sehingga availibilitas/ketersediaan pada topologi jenis star network rendah.
  • Ring network.  Biaya komunikasi tinggi karena jika ingin mengakses sebuah situs bisa jadi harus menempuh banyak link. Misalnya, dari situs A menuju situs D, link yang dilewati sebanyak tiga buah. Availibilitas/ketersediaan pada topologi ring network lebih terjamin dibandingkan pada star network maupun pada tree-structured network.

Selain topologi jaringan, ada beberapa hal lain yang harus dipertimbangkan dalam mendesain jaringan:
  1. Naming and name resolution.  Bagaimana dua buah proses menempatkan/memposisikan satu sama lain dalam jaringan komunikasi.
  2. Routing strategies.  Bagaimana pesan dikirimkan melalui jaringan.
  3. Packet strategies.  Apakah paket dikirimkan secara individual atau sekuensial.
  4. Connection strategies.  Bagaimana dua proses mengirimkan pesan secara sekuensial.
  5. Contention.  Bagaimana memecahkan masalah permintaan yang mengalami konflik.

Perlu diketahui, bahwa dalam sistem terdistribusi terdapat berbagai macam kegagalan perangkat keras (hardware failure) seperti kegagalan link atau failure link, kegagalan situs atau failure site, dan kehilangan pesan atau loss of message.Oleh karena itu, untuk menjamin kekuatan sistem atau disebut juga robustness maka sistem terdistribusi harus mampu melakukan pendeteksian kegagalan, mereparasi sistem, dan mengkonfigurasinya kembali.

Sistem Terdistribusi

Pendahuluan

Sistem terdistribusi adalah sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network ataupun melalui Wide Area Network. Prosesor dalam sistem terdistribusi bervariasi, dapat berupa small microprocessor, workstation, minicomputer, dan lain sebagainya. Berikut adalah ilustrasi struktur sistem terdistribusi:
Gambar 23.1. Struktur Sistem Terdistribusi
Struktur Sistem Terdistribusi

Karakteristik sistem terdistribusi adalah sebagai berikut:
  1. Concurrency of components.  Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan
  2. No global clock.  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.
  3. Independent failures of components.  Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.

Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:
  1. Resource Sharing.  Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A.
  2. Computation Speedup.  Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup).
  3. Reliability.  Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik.
  4. Communication.  Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.

Tantangan-tantangan yang harus dipenuhi oleh sebuah sistem terdistribusi:
  1. Keheterogenan perangkat/multiplisitas perangkat.  Suatu sistem terdistribusi dapat dibangun dari berbagai macam perangkat yang berbeda, baik sistem operasi, H/W maupun S/W.
  2. Keterbukaan.  Setiap perangkat memiliki antarmuka (interface) yang di-publish ke komponen lain. Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda
  3. Keamanan.  Shared resources dan transmisi informasi/data perlu dilengkapi dengan enkripsi.
  4. Penangan kegagalan.  Setiap perangkat dapat mengalami kegagalan secara independen. Namun, perangkat lain harus tetap berjalan dengan baik.
  5. Concurrency of components.  Pengaksesan suatu komponen/sumber daya secara bersamaan oleh banyak pengguna.
  6. Transparansi.  Bagi pemakai, keberadaan berbagai perangkat (multiplisitas perangkat) dalam sistem terdistribusi tampak sebagai satu sistem saja.

Gambar 23.2. Local Area Network
Local Area Network

Dalam sistem operasi terdistribusi, user mengakses sumber daya jarak jauh (remote resources) sama halnya dengan mengakses sumber daya lokal (local resources). Migrasi data dan proses dari satu situs ke situs yang lain dikontrol oleh sistem operasi terdistribusi.
Berikut ini adalah fitur-fitur yang didukung oleh sistem operasi terdistribusi:
  1. Data Migration.  Misalnya, userdi situs A ingin mengakses data di situs B. Maka, transfer data dapat dilakukan melalui dua cara, yaitu dengan mentransfer keseluruhan data atau mentransfer sebagian data yang dibutuhkan untuk immediate task.
  2. Computation Migration.  Terkadang, kita ingin mentransfer komputasi, bukan data. Pendekatan ini yang disebut dengan computation migration
  3. Process Migration.  Ketika sebuah proses dieksekusi, proses tersebut tidak selalu dieksekusi di situs di mana ia pertama kali diinisiasi. Keseluruhan proses, atau sebagian daripadanya, dapat saja dieksekusi pada situs yang berbeda. Hal ini dilakukan karena beberapa alasan: Load balancing. Proses atau subproses-subproses didistribusikan ke jaringan untuk memeratakan beban kerja. Computation speedup. Apabila sebuah proses dapat dibagi menjadi beberapa subproses yang berjalan bersamaan di situs yang berbeda-beda, maka total dari process turnaround time dapat dikurangi. Hardware preference. Proses mungkin mempunyai karakteristik tertentu yang menyebabkan proses tersebut lebih cocok dieksekusi di prosesor lain.Misalnya, proses inversi matriks, lebih cocok dilakukan di array processor daripada di microprocessor Software preference. Proses membutuhkan software yang tersedia di situs lain, di mana software tersebut tidak dapat dipindahkan atau lebih murah untuk melakukan migrasi proses daripada software Data access.

Sistem operasi terdistribusi (distributed operating system) menyediakan semua fitur di atas dengan kemudahan penggunaan dan akses dibandingkan dengan sistem operasi jaringan (network operating system).
Berikut adalah dua tipe jaringan yang dipakai dalam sistem terdistribusi:
  • Local Area Network (LAN). LAN muncul pada awal tahun 1970-an sebagai pengganti dari sistem komputer mainframe. LAN, didesain untuk area geografis yang kecil. Misalnya, LAN digunakan untuk jaringan dalam sebuah bangunan atau beberapa bangunan yang berdekatan. Umumnya, jarak antara situs satu dengan situs yang lain dalam LAN berdekatan. Oleh karena itu, kecepatan komunikasinya lebih tinggi dan peluang terjadi kesalahan (error rate) lebih rendah. Dalam LAN, dibutuhkan high quality cable supaya kecepatan yang lebih tinggi dan reliabilitas tercapai. Jenis kabel yang biasanya dipakai adalah twisted-pair dan fiber-optic. Berikut adalah ilustrasi dari Local Area Network:
  • Wide Area Network.  WAN muncul pada akhir tahun 1960-an, digunakan sebagai proyek riset akademis agar tersedia layanan komunikasi yang efektif antara situs, memperbolehkan berbagi hardware dan software secara ekonomis antar pengguna. WAN yang pertama kali didesain dan dikembangkan adalah Arpanet yang pada akhirnya menjadi cikal bakal dari Internet. Situs-situs dalam WAN tersebar pada area geografis yang luas. Oleh karena itu, komunikasi berjalan relatif lambat dan reliabilitas tidak terjamin. Hubungan antara link yang satu dengan yang lain dalam jaringan diatur oleh communication processor. Berikut adalah ilustrasi dari Wide Area Network

Pengertian Sistem Terdistribusi

SISTEM TERDISTRIBUSI
A. Pengertian Sistem Terdistribusi
Sistem Terdistribusi adalah kumpulan autonomous computers yang terhubung
melalui sistem jaringan computer dan dilengkapi dengan system software tedistribusi
untuk membentuk fasilitas computer terintegrasi.
Sebuah sistem yang komponennya berada pada jaringan komputer. Komponen
tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan
(message passing).
B. Sistem Terdistribusi Procedure
1. RMI (Remote Method Invocation)
Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method
remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan
paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI
memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method.
Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI
membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada
jaringan.
Cara kerja RMI:
Dalam model ini, sebuah proses memanggil method dari objek yang terletak pada
suatu host/computer remote. Dalam paradigma ini, penyedia layanan mendaftarkan
dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu
layanan mengontak server direktori saat runtime, jika layanan tersedia, maka referensi
ke layanan akan diberikan. Dengan menggunakan referensi ini, proses dapat
berinteraksi dengan layanan tsb. Paradigma ini ekstensi penting dari paradigma RPC.
Perbedaannya adalah objek yang memberikan layanan didaftarkan (diregister) ke
suatu layanan direktori global, sehingga memungkinkan untuk ditemukan dan diakses
oleh aplikasi yang meminta layanan tersebut.
Contoh aplikasi untuk meremote pada teknik RMI (Remote Method Invocation)
menggunakan teamviewer untuk meremote computer lain. Teamviewer adalah suatu
program yang cukup sederhana dan sangat mudah digunakan untuk beberapa
keperluan terutama melakukan akses PC secara remote melalui internet.
2. RPC ( Remote Procedure Call )
RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar
proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa
terasa adanya eksekusi kode pada sistem yang jauh ( remote system ).Protokol RPC
digunakan untuk membangun aplikasi klien-server yang terdistribusi.
Cara kerja RPC:
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi
dengan server remote dengan mengirimkan semua parameter yang dibutuhkan,
menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas
disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah
proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu.
C. Sistem Terdistribusi SO
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem
terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung
dalam satu jaringan. Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara
bersama-sama untuk melakukan suatu tugas atau pekerjaan tertentu. Tujuan utamanya
adalah untuk memberikan hasil secara lebih, terutama dalam:
- file system
- name space
- Waktu pengolahan
- Keamanan
- Akses ke seluruh resources, seperti prosesor, memori, penyimpanan sekunder, dan
perangakat keras.
Sistem operasi terdistribusi bertindak sebagai sebuah infrastruktur/rangka dasar
untuk network-transparent resource management. Infrastruktur mengatur low-level
resources (seperti Processor, memory, network interface dan peripheral device yang lain)
untuk menyediakan sebuah platform untuk pembentukan/penyusunan higher-level
resources (seperti Spreadsheet, electronic mail messages, windows).
D. Sistem Terdistribusi Hardware
Sistem terdistribusi hardware adalah sistem terdistribusi yang mengkoneksikan
hardware. Sebagai contoah yaitu Printer dan Scenner. Satu printer bias digunakan oleh
beberapa komputer user yang terkoneksi dengan printer tersebut.