Sistem
Terdistribusi
Introduction
Pengantar
Sistem Terdistribusi &
Overview
JarKom vs
SisTer
·
Jaringan komputer :
komputer otonom yang secara eksplisit terlihat (secara eksplisit teralamati)
– Dengan IP
address masing-masing komputer
·
Sistem terdistribusi:
keberadaan beberapa komputer otonom bersifat transparan, sebagai satu kesatuan.
(tanembaum)
·
Secara normal, setiap sistem terdistribusi mengandalkan
layanan yang disediakan oleh jaringan komputer
– Berbasis
TCP/IP
Sistem
Terdistribusi
·
Satu sistem dimana beberapa komputer pada jaringan
saling berkomunikasi, berkoordinasi, dan bekerja sama dengan cara saling
bertukar pesan (messages)
–
Komputer-komputer saling independen
¨ Memiliki
memori dan prosesor sendiri
– Dihubungkan
dalam jaringan komputer
¨ LAN / WAN
– Terlihat
sebagai satu kesatuan
– Komputasi
terintegrasi
– Dapat
diterapkan pada middleware (tanembaum)
DS in
middleware
A distributed system organized as middleware. The
middleware layer extends over multiple machines, and
offers each application the same interface.
Scalability
problems
v Centralized
services: single service for all requests
v Centralized
data: single data point for all services
v Centralized
algoritms: single computation for all requests
Contoh
SisTer
v Internet
= Interconnection Network
v Intranet
Coorporation
v Mobile
Computing
v Automated
banking systems
v Tracking
roaming cellular phones
v Global
positioning systems
v Retail
point-of-sale terminals
v Air-traffic
control
Intranet adalah sebuah jaringan privat
yang menggunakan protokol-protokol Internet (TCP/IP), untuk membagi informasi
rahasia perusahaan atau operasi dalam perusahaan tersebut kepada
karyawannya.
v Bersifat
internal (cth: web internal)
v Untuk
membangun sebuah intranet, maka sebuah jaringan haruslah memiliki beberapa
komponen yang membangun Internet, yakni protokol Internet (Protokol TCP/IP,
alamat IP, dan protokol lainnya), klien dan juga server.
v Biasanya
proprietary
v Terhubung
ke internet (melalui firewall)
Sistem
terdistribusi multimedia
v Biasanya
digunakan pada infrastruktur Internet
v Karakteristik
– Sumber data
yang heterogen dan memerlukan sinkronisasi secara real time
– Video,
audio, text
– Multicast
(UDP based)
– Contoh:
1.
Teleteaching tools
2.
Video-conferencing
3.
Video and audio on demand
ATM
v Mesin ATM
ada di cabang-cabang bank
v Klien
dapat mengakses pada saat yg simultan bersamaan
– Mekanisme
deadlock & sinkronisasi
v Sistem
ATM akan menggunakan central-central office terdekatnya
– Relay mode
v Setiap
central office akan menjadi backup bagi yang lainnya
– Replication
v Bagaimana
menghandle transasksi? Keamanan? Network failure?
– Security
Contoh
SisTer yg lain
v Sistem
telepon
– ISDN, PSTN
v Manajemen
jaringan
–
Administrasi resource jaringan
v Network
File System (NFS)
– Arsitektur
untuk mengakses sistem file melalui jaringan
v WWW
– Arsitektur
client/server tebuka yang diterapkan di atas infrastruktur internet
– Shared
resources (melalui URL)
Alasan
SisTer
v Resources sharing: sumber
daya dapat digunakan secara bersama / bergantian
v Distribusi fungsi : komputer memiliki kemampuan
fungsi yang berbeda-beda
–
client/server
–
Host/terminal
– Data
gathering / data processing
v Distribusi
beban/keseimbangan :
pemberian
tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi.
Alasan
SisTer
v 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
– Mis: 10000
CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,
– Maka satu
perintah dijalankan dalam waktu 0.002 nsec
v 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.
v Pemisahan fisik : sistem
yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g.,
untuk mencapai kehandalan).
v Ekonomis : kumpulan mikroprosesor menawarkan
harga/unjuk kerja yang lebih baik dari pada mainframe
v Fleksibilitas : komputer yang berbeda
dengan kemampuan yang berbeda dapat di share antar user
Kesulitan
v Software
- bagaimana merancang dan mengatur software dalam DS
v Ketergantungan
pada infrastruktur jaringan (world wide wait....)
v Kemudahan
akses ke data yang di share, memunculkan masalah keamanan
Pitfalls
when Developing
Distributed
Systems
False assumptions made by first time developer:
v The
network is reliable.
v The
network is secure.
v The
network is homogeneous.
v The
topology does not change.
v Latency
is zero.
v Bandwidth
is infinite.
v There is
one administrator.
Karakteristik
SisTer
v Concurrency: Beberapa komputer dapat berjalan
sekaligus dengan tugas yang berbeda
–
Sinkronisasi dan koordinasi dengan message passing
– Sharing
resources
Ø Contoh:
WEB diakses oleh bnyk orang
– Masalah
umum dalam sistem concurrent
Ø Deadlock
Ø Komunikasi
yang tidak handal
v No global clock: Pada sistem terdistribusi,
tidak ada satu proses tunggal yang mengetahui global state sistem saat ini
(disebabkan oleh concurrency)
– Hal ini
menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat
v Independent failure: kegagalan komputer/jaringan
bisa terjadi kapan saja
– Setiap
komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Tantangan
SisTer
v Heterogenity:
–
Infrastruktur jaringan
– Hardware
dan software (sistem operasi, perbedaan UNIX socket dan Winsock)
– Bahasa
pemrograman
– Solusi:
Perlu ada protokol yang standar, Middleware (contoh : CORBA), Kode program universal (contoh : JAVA)
v Scalability: Sistem tetap efektif meskipun terdapat
peningkatan resource dan pengguna secara signifikan
Tantangan
v Openness
– Memastikan
sistem dapat diperluas dan mudah dalam pemeliharaan
¨ Mengikuti
standard antarmuka
¨ Solusi:
Adanya publikasi dari spesifikasi (RFC)
v Security
–
Confidentiality (pencegahan terhadap hak akses oleh orang yang tidak berhak)
– Integrity
(pencegahan terhadap perubahan data)
–
Availability (pencegahan terhadap masalah ketersediaan, misalnya mencegah DDOS)
v Menghandle Kegagalan:
Kesalahan/Kegagalan bisa ditemukan/diperbaiki A.S.A.P dan mampu melakukan
proses recovery
–
Pendeteksian, Toleransi dan Redudancy
– Solusi:
Replikasi, Load Balancing, Backup
v Konkurensi: Banyak client yang mengakses banyak
data dalam waktu yang bersamaan, sedangkan data harus tetap konsisten!
– Menghindari
masalah deadlock
Transparansi
v Transparency: Sistem terlihat sebagai satu
kesatuan, bukan gabungan dari beberapa komponen
Transparansi
v Access transparency:
memungkinkan resource lokal / remote untuk diakses menggunakan operasi yg sama (tidak
berbeda-beda)
v Location transparency:
memungkinkan resources untuk diakses tanpa pengetahuan ttg jaringan
fisik/lokasi (lokasi dan IP address).
v Concurrency transparency:
memungkinkan beberapa proses untuk beroperasi secara konkuren menggunakan shared
resources tanpa “mengganggu” mereka.
v Replication transparency:
memungkinkan multiple instances dari resources untuk digunakan menaikan reliability
dan performance tanpa pengetahuan pemrograman replikasi.
v Failure transparency:
memungkinkan penyembunyian kegagalan, memperbolehkan users dan program aplikasi
untuk menyelesaikan tugas mereka walaupun ada kegagalan komponen hardware /
software.
v Mobility transparency:
memungkinkan perubahan resources dan clients didalam sistem tanpa berefek pada
operasi user dan program.
v Performance transparency:
memungkinkan sistem untuk dikonfigurasi ulang untuk meningkatkan performa yang
berubah secara cepat.
v Scaling transparency:
memperbolehkan sistem dan aplikasi untuk diperluas tanpa mengubah struktur
sistem atau algoritma aplikasi.
Pengembangan
Lebih lanjut
v Distributed
Database
– A logically
interrelated collection of shared data (and a description of this data), physically distributed over a computer network
– Penyimpanan
data bisa dilakukan secara terdistribusi (tidak lagi tersentralisasi)
– Menggunakan
Replikasi dan Fragmentasi
v Distributed
Processing
– Menggunakan
RMI, RPC, atau .NET Remoting
v Distributed
Transactions
Prinsip
berkomunikasi
v Source
– generates
data to be transmitted
v Transmitter
– Converts
data into transmittable signals
v Transmission
System
– Carries
data
v Receiver
– Converts
received signal into data
v Destination
– Takes
incoming data
Socket
v Socket
adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu
"terminal" dari suatu hubungan antara dua mesin atau proses yang
saling berinterkoneksi.
v End to end communication
Distributed
Objects
v Located separately on each host
v Must
communicate with others
–
Interprocess communication
¨ RPC
(Remote Procedural Call)
¨ RMI
(Remote Method Invocation)
¨ CORBA
(Common Object Request Broker Architecture)
¨ XML RPC
& Web Service
v Transparency
– Location
v Receive
events notification from other objects
Distributed
programming
paradigms
v Client/server
model
v Remote
procedure calls
v Distributed
File Systems
v Group
communication and multicasts
v Distributed
transactions
v Distributed
object-based systems
v Publish-subscribe
model
v Peer-to-peer
model
v The Web
DOS dan
DFS
v Pada
perkembangannya sistem operasi juga dibuat terdistribusi
v Menciptakan
juga konsep DFS
– Distributed
file system (DFS) adalah sebuah sistem di
mana banyak pengguna dapat berbagi
berkas dan sumber daya penyimpanan.
– Muncul
masalah mengenai penamaan resource terdistribusi:
¨ Human
oriented vs machine
¨ URI
Operating
Systems
v Flexibility
– Monolithic
kernel vs. Microkernel
– Microkernel
-- keep it small, use user-level servers for system services
¨ An
interprocess communication mechanism
¨ A small
amount of low-level process management and scheduling
¨ Low-level
input / output
– Monolithic
kernel
¨ provide
the file system and directory system
¨ full
process management, and much system call handling
NEXT
v Model
sistem terdistribusi