Anda di halaman 1dari 33

Sistem File

Terdistribusi
Pengertian Sistem
Terdistribusi
Sistem 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
Keuntungan Sistem
Terdistribusi
 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 komputer-
komputer 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
(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 fungsi-
fungsi 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
 Jika tidak direncanakan dengan tepat, sistem terdistribusi bisa
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…): Mobile dan Sistem
Komputasi Ubiquitous
 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 Terdistribusi
Latar 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 Terdistribusi
Layanan 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 File

Setiap 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 RPC
1. Client procedure calls client stub in normal way
2. Client stub builds message, calls local OS
3. Client's OS sends message to remote OS
4. Remote OS gives message to server stub
5. Server stub unpacks parameters, calls server
6. Server does work, returns result to the stub
7. Server stub packs it in message, calls local OS
8. Server's OS sends message to client's OS
9. Client's OS gives message to client stub
10. 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 Names
Text 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

Anda mungkin juga menyukai