sistem file terdistribusi

33
Sistem File Terdistribusi

Upload: dadang-handaru

Post on 13-Jun-2015

1.921 views

Category:

Documents


24 download

DESCRIPTION

pemrograman sistem terdistribusi

TRANSCRIPT

Sistem File Terdistribusi

Pengertian Sistem TerdistribusiSistem terdistribusi adalah koleksi prosesor yang terhubung dalam jaringan serta tidak berbagi memori, yaitu memiliki memori masing-masing

Alasan untuk sistem terdistribus Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda client/server Host/terminal Data gathering / data processing Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi. Sifat terdistribusi mencegah terjadinya application domain, e.g. cash register dan sistem persediaan untuk supermarket, Komputer pendukung collaborative work

Alasan untuk sistem terdistribusi(cont..) Replikasi kekuatan pemrosesan : independent processors bekerja untuk pekerjaan yang sama Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untuk mencapai kehandalan). Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang lebih baik dari pada mainframe

Resource sharing. Suatu komputer bisa mengakses sumber daya yang ada di komputer lain. Misalkan, komputer A bisa mengakses database yang ada di komputer B. Sebaliknya, komputer B bisa mencetak dokumen dengan menggunakan printer yang terpasang di komputer A. Computation speedup. Jika suatu proses komputasi bisa dipecah-pecah menjadi sejumlah bagian yang berjalan secara konkuren, dalam sistem terdistribusi bagian-bagian komputasi ini bisa terbagi dalam komputerkomputer yang ada. Inilah yang menimbulkan adanya speedup. Lebih jauh lagi, bisa terjadi load sharing, yaitu jika suatu komputer mengerjakan tugas terlalu banyak, sebagian dari tugasnya itu bisa dialihkan ke komputer lain.

Keuntungan Sistem Terdistribusi

Keuntungan Sistem Terdistribusi (cont..) Reliability. Jika satu komputer mengalami kegagalan, maka secara keseluruhan sistem masih tetap dapat berjalan. Contoh: jika sistem terdiri atas komputer-komputer yang tersusun secara independen, kegagalan salah satu komputer seharusnya tidak mempengaruhi keseluruhan sistem. Tapi jika sistem terdiri atas komputer-komputer yang mengatur tugas spesifik seperti terminal I/O atau filesystem, maka kerusakan satu komputer saja bisa menyebabkan keseluruhan sistem mati. Tentunya, perlu mekanisme untuk mendeteksi kegagalan seperti ini, sehingga jika ada komputer yang rusak, sumber daya yang ada padanya tidak digunakan dan sebagai gantinya komputer yang lain bisa menangani itu.

Keuntungan Sistem terdistribusi (cont) Communication. Karena satu komputer terhubung dengan komputer-komputer lainya, sangat dimungkinkan terjadi pertukaran informasi. Dengan adanya message passing, fungsi fungsi yang ada di suatu komputer misal file transfer, login, web browsing, bisa diperluas dalam sistem terdistribusi. Ini menyebabkan fungsifungsi ini bisa diakses secara jarak jauh. Misalnya, sejumlah orang yang terlibat dalam satu proyek, walaupun terpisah secara geografis, tetap bisa berkolaborasi dalam proyek itu. Dalam dunia industri, terjadi downsizing. Downsizing adalah mengganti mainframe dengan komputer atau workstation yang terhubung via jaringan. Dengan itu, mereka bisa mendapatkan fungsionalitas yang sesuai dengan biaya, kemudahan mengatur sumber daya, kemudahan maintenance/perawatan, dan lain-lain.

Kelemahan Sistem Terdistribusi tepat, sistem terdistribusi bisa Jika tidak direncanakan dengan

menurunkan proses komputasi, misalnya jika kegagalan salah satu komputer mempengaruhi komputer-komputer yang lain.

Troubleshooting menjadi lebih rumit, karena bisa memerlukan koneksi ke komputer lain yang terhubung secara remote, atau menganalisis komunikasi antar komputer. Tidak semua proses komputasi cocok untuk dilakukan dalam sistem terdistribusi, karena besarnya keperluan komunikasi dan sinkronisasi antar komputer. Jika bandwith, latency, atau kebutuhan komunikasi terlalu besar, maka performanya bisa menjadi lebih jelek daripada sistem yang tidak terdistribusi sama sekali. Karena itu, lebih baik komputasi dilakukan di sistem yang tidak terdistribusi.

Contoh DS: Internet Jaringan Internet : Mengimplementasikan Protokol Internet

Contoh DS(cont):Intranet Jaringan yang teradministrasi secara lokal, biasanya proprietary Terhubung ke internet (melalui firewall) dan Menyediakan layanan internal dan eksternal

Contoh DS(cont):Komputasi Ubiquitous

Mobile dan Sistem

Sistem telepon Cellular (e.g., GSM) Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak Komputer laptop, ubiquitous computin,handheld devices, PDA, etc

Contoh DS(cont) : WWW

Sistem File TerdistribusiLatar Belakang Perlu adanya sharing informasi/resource Informasi/resource mungkin berada pada komputer lain dan dalam format lain (konteks: file system) Pengguna tidak perlu tahu file system yang dipakai pada sistem lain Diperlukan service yang memungkinkan akses file remote seperti pada HD lokal pada jaringan intranet/Internet

Sistem File TerdistribusiLayanan File Terdistribusi 1.Layanan Dasar tempat penyimpanan tetap untuk data dan program operasi terhadap file (create, open, read,) multiple remote clients (dalam intranet) file sharing menggunakan semantic one-copy update umum, melalui RPC 2. Perkembangan baru persistent object stores (storage of objects) 3. Persistent Java, Corba, replikasi, caching keseluruhan file multimedia terdistribusi (contoh: file server Tiger video)

Karakteristik FileSetiap file punya data dan attribute (meta data) Nama file Ukuran file Read/Write/Creation timestamp Pemilik/ACL.... File diatur dan diorganisasi dalam direktori Direktori adalah sebuah file dengan jenis khusus yang melakukan mapping dari nama teks ke sebuah identifier file internal

Sistem Terdistribusi (cont) File attributes

Sistem File Terdistribusi

Kebutuhan Sistem File Terdistribusi Transparency (clients tidak perlu tahu terhadap bentuk/mekanisme distribusi) access transparency (client tidak perlu tahu bahwa file adalah terdistribusi, karena memiliki interface yang sama untuk file local/remote) location transparency (name space file yang uniform terhadap client workstation) mobility transparency (files dapat dipindahkan dari satu server ke lainnya tanpa berdampak pada client) performance transparency (client performance tidak berdampak pada load (layanan) scaling transparency (kemungkinan perluasan apabila jumlah client bertambah)

Kebutuhan Sistem File Terdistribusi(cont) Concurrent file updates (perubahan yang dilakukan oleh satu client tidak berdampak pada yang lainnya) File replication (untuk load sharing, fault-tolerance) Heterogeneity (interface platform-independent) Fault-tolerance (tetap beroperasi secara kontinu meskipun terjadi kesalahan pada client ataupun server) Consistency (one-copy-update semantics atau slight variations) Security (access control) Efficiency (unjuk kerja yang comparable terhadap sistem file conventional)

Opsi Perancangan Layanan File Stateful server menyimpan informasi tentang file yang open, posisi sekarang (current position) dan file locks open (dibuka) sebelum access dan kemudian ditutup performa yang lebih baik pesan yang lebih pendek, dimungkinkan untuk read-ahead server failure - kehilangan state client failure - tables fill up menyediakan file locks Stateless server tidak menyimpan state informasi file operations idempotent, harus mengandung semua yang diperlukan (longer message) perancangan file server yang lebih simpel dapat dengan mudah di-recovery apabila client ataupun server crash locking membutuhkan extra lock server untuk mempertahankan

RPC (Remote Procedure Call)Prinsip RPC antara Client dan Server

Steps of RPC1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Client procedure calls client stub in normal way Client stub builds message, calls local OS Client's OS sends message to remote OS Remote OS gives message to server stub Server stub unpacks parameters, calls server Server does work, returns result to the stub Server stub packs it in message, calls local OS Server's OS sends message to client's OS Client's OS gives message to client stub Stub unpacks result, returns to client

Arsitektur File Server Components (untuk openness): Layanan Flat file operations pada file contents unique file identifiers (UFIDs) penterjemahan dari UFIDs ke lokasi file Layanan Directory pemetaan antara nama sbg text ke UFIDs Modul Client API untuk file access, satu untuk setiap computer client menyimpan status (state): open files, positions mengetahui lokasi jaringan dari flat file dan directory server

Layanan Flat file melalui RPC interface Digunakan oleh modul client, bukan user programs FileId (UFID) mendefinisikan file secara tunggal mengirim pesan invalid jika file tidak ada atau akses yang tidak wajar. Read/Write; Create/Delete; Get/SetAttributes No open/close! (unlike UNIX) akses secara langsung dan segera dengan FileId Read/Write mengidentifikasi saat dimulai Meningkatkan fault-tolerance operations idempotent kecuali Create, dapat diulang (semantic atleast-once RPC) stateless service

Access control Dalam sistem file UNIX hak akses diperiksa berdasarkan mode akses (read,write, execute) ketika open identitas user diperikasi ketika login, Dalam sistem terdistribusi hak akses harus diperiksa pada server RPC unprotected dimungkinkan melakukan forging identity, tetapi merupakan risiko keamanan user id biasanya dikirim bersamaan dengan setiap request (e.g. Sun NFS) stateless

Struktur Directory Hierarchical tree-like, pathnames dari root (di UNIX) dapat digunakan beberapa nama untuk setiap file (link operation) Sistem penamaan (Naming system) diimplementasi oleh modul client, menggunakan directory service root memiliki well-known UFID melokasikan file mengikuti path dari root

File NamesText name (=directory pathname+file name) hostname: local name not mobility transparent struktur nama uniform (name space yang sama untuk semua clients) remote mount (e.g. Sun NFS) remote directory dimasukkan ke dalam local directory relies on clients maintaining consistent naming conventions across all clients all clients harus implement local tree yang sama harus melakukan mount remote directory ke local directory yang sama

Implementasi DFS

Implementasi NFS dengan menggunakan Sun RPC (Sun Remote Procedure Call) NFS Client 'call' fungsi pada NFS Server Spesifikasi NFS mendefinisikan remoteinterface yang bisa dipakai oleh client Pengiriman data bisa menggunakan TCP/UDP