SISTEM TERDISTRIBUSI
Outline
Komunikasi
o Jenis IPC (Inter Process Communication)
o Arsitektur Komunikasi dengan Protokol Berlapis
o Jenis Komunikasi Protokol High Level
RPC
RMI
MOM
Streaming
IPC(Inter Process Communication)
Interprocess Communication (IPC)
“Jantungnya” dari setiap sistem terdistribusi
Pertanyaan: Bagaimana proses-proses pada mesin komputer yang berbeda saling
mempertukarkan informasi?
Jawaban: dengan susah payah ?
Menggunakan fasilitas jaringan komputer terlalu kuno, menghasilkan suatu sistem
terdistribusi yang sangat sukar untuk dikembangkan. Jadi suatu model baru butuh
dikembangkan.
Ada 4 model IPC yang popular:
o RPC
o RMI
o MOM
o Streams
Protokol Berlapis
TCP Client-Server
Protokol Middleware
Apa yang akan terjadi jika, salah satu mesin atau bahkan keduanya crash
prosedur lagi dipanggil.
10 Langkah RPC
Langkah-langkah RPC
RPC Asinkron
2-12
Client dan server berinteraksi lewat dua RPC asinkron- mengizinkan client untuk
melakukan kerja lainnya ketika menunggu hasil kembalian.
Ringkasan RPC
Sudah matang
Mudah dimengerti
“Objek Remote” dapat dipikir sebagai ekpansi dari mekanisme RPC ( untuk
mendukung sistem OO ).
Salah satu aspek pentind ari objek adalah definisi dari antarmuka untuk
menyembunyikan fungsionalitas.
Pemanggilan method mendukung perubahan state dalam objek lewat antarmuka
yang terdefinisi.
Semua objek dapat menawarkan sejumlah antarmuka.
Sebuah antarmuka dapat diimplementasikan oleh sejumlah objek.
Dalam Sistem Terdistribusi, sebuah antarmuka objek berada pada satu mesin
dan implementasi objek berada pada mesin lainnya.
Objek Terdistribusi
Objek persistent terdistribusi tetap ada bahkan setelah tidak berada lagi dalam
ruang alamat server.
Objek persistent disimpan (mungkin pada storage sekunder) dan dapat
diinstanisasi lagi di waktu lain dengan proses server yang baru
Contoh: Java RMI
Dalam java, objek terdistribusi dapat diintegrasikan ke dalam bahasa yang jelas
Ini menghasilkan transparensi distribusi yang sangat tinggi (kecuali jika ada
pertimbangan perbaikan efisiensi)
Java tidak mendukung RPC, tetapi hanya objek terdistribusi
State dari objek terdistribusi disimpan di server, dengan antarmuka dibuat dapat
diakses lewat client remote ( proxi objek terdistribusi)
Untuk membangun aplikasi sistem terdistribusi, programmer hanya butuh
mengimplementasikan proxy client sebagai kelas dan skeleton server sebagai
kelas lainnya.
Pertanyaan 1
Berikut yang bukan fungsi dari Stub dan Skeleton pada Arsitektur Remote
Invocation!
Pertanyaan 2
Pertanyaan 3
Objek diatas adalah jenis objek:
o Named Object
o Dynamic Object
o Static Object
Object
Contoh: apa yang terjadi jika kita tidak dapat mengandaikan sisi penerima dapat
keadaan “siap” dan menunggu untuk berkomunikasi.
Juga: sifat default “ Sinkron, blocking” dari RPC/RMI sering terlalu membatasi
Sesuatu yang lain dibutuhkan : MESSAGING
Komunikasi persistent:
o Sekali dikirim, pengirim dapat berhenti mengeksekusi. Penerima tidak
mesti sedang beroperasi – sistem komunikasi menampung pesan
seperlunya (sampai dapat dikirimkan ke pengirim)
o [Apa contohnya?]
Komunikasi Asinkron
o Pengirim meneruskan kerja lainnya segera setelah mengirim pesan ke
penerima
Komunikasi Sinkron:
o Pengirim memblok, menunggu balasan dari penerima sebelum bisa
melakukan kerja lainnya. (Ini cenderung menjadi model default untuk
teknologi RPC/RMI)
Klasifikasi Komunikasi Terdistribusi
Awalnya sistem MP adalah transient, tetapi ini tidak skala baik secara geografi
Komunikasi transient berorientasi Pesan/Message
solusinya?
o “Message-Passing Interface” (MPI).
MPI_irecv
MPI_recv
MPI_issend
MPI_isend
MPI_ssend
MPI_send
MPI_bsend
Makna
Operasi
Ini memimpin kepada komunikasi yang bersifat longgar (loosely-coupled)
Model Message-Queuing
Antarmuka dasar dari antrian pada sistem messae queuing : sangat sederhana
namun merupakan abstraksi yang bagus
Install a handler to be called when a message is put into the specified queue.
Notify
Check a specified queue for messages, and remove the first. Never block.
Poll
Block until the specified queue is nonempty, and remove the first message.
Get
Put
Makna
Operasi
Jelasnya harus ada mekanisme untuk memindahkan pesan dari antrian sumber
ke antrian tujuan.
Ini adalah tugas dari Manager antrian (Queue Manager)
Manager antrian ini berupa relay antrian pesan yang berinteraksi dengan aplikasi
terdistribusi dan juga satu sama lain. Ini sama halnya pada router yang
menggunakan lapisan jaringan.
Sering kali ada kebutuhan untuk mengintegrasikan aplikasi baru ataupun yang
sudah ada ke dalam Sistem Informasi terdistribusi yang tunggal dan menyatu.
Masalah: ada berbagai macam format pesan dalam sistem yang lama . (dimasa
lalu, kerjasama dan acuan terhadap standar terbuka bukanlah sesuatu yang
umum)
Mungkin tidak enak untuk memaksa sistem lama untuk mengacu pada format
pesan yang tunggal dan global.
Sering kali terpaksa harus menerima perbedaan-perbedaan tersebut
Bagaimana caranya?
Menggunakan “Message Broker”.
Jumlah percobaan maksimum MCA mencoba meletakkan pesan yang diterima ke dalam
antrian.
Delivery retries
Message length
FIFO delivery
Transport type
Deskripsi
Atribut
MQget
MQput
Menutup antrian
MQclose
MQopen
Deskrpsi
Operasi
Dengan RPC, RMI dan MOM, efek ketepatan waktu tidaklah penting.
Namun, data audio dan video adalah aliran data yang tergantung pada waktu.
Jika pewaktu dimatikan, maka output yang dihasilkan dari sistem bakalan salah.
Mode Transmisi
Mode transmisi asinkron – data stream di transmisi dalam urutan yang benar,
namun tidak ada batasan waktu ditetapkan pada penyampaian yang
sesungguhnya (contoh FTP)
Mode transmisi sinkron – delay maksimum dari titik ke titik didefinisikan (data
harus bisa ditransmisikan secepatanya.)
Mode transmisi Isokron data ditransfer tepat waktu – ada delay maksimum dan
minimum antar titik (bounded jitter)
o Dikenal sebagai “streams” – transmisi isokron (isochoronous) sangat
berguna untuk sistem multimedia.
Tipe stream
Sinkronisasi Eksplisit
Prinsip sinkronisasi eksplisit pada level unit data untuk stream jamak (substream)
Prinsip sinkronisasi yang didukung oleh antarmuka level tinggi dibangun sebagai
suatu set layanan streaming middleware multimedia.
Sinkronisasi
Pertanyaan kunci:
o Dimanakah sinkronisasi terjadi ?
Pikirkan keuntungan dan kerugiaannya masing-masing!
Karakteristik INput
Prinsip “ token bucket algorithm” – teknik klasik untuk mengontrol aliran data
( dan mengimplementasikan karakteristik Qos)
Managemen Stream
Contoh : Qos dari ATM dari ATM terbuka tidak bekerja (susah
diimplementasikan)
Teknik lain adalah RSVP internet.
Konfigurasi dasar RSVP untuk reservasi resource pada suatu sistem terdistribusi
– protokol kontrol level transport untuk memungkinkan reservasi resource pada
router jaringan. Karakteristik menarik: Pengerima diinisiasi.
Ringkasan
Pertanyaan?
Andaikan dalam suatu sistem, kita hanya bisa menggunakan operasi komunikasi
sinkron. Bagaimana kita bisa mengimplementasikan operasi komunikasi
transient asinkron?
Jelaskan mengapa komunikasi sinkron transient memiliki masalah skalabilitas!