20/04/2023 Triyogatama Wahyu Widodo
Sistem Terdistribusi
Proses
20/04/2023 Triyogatama Wahyu Widodo
Penggunaan Thread pada Sistem Terdistribusi
• Apakah thread itu?• Apa persamaan thread dengan proses?• Mengapa multithreading dibutuhkan?• Apa manfaat thread?
20/04/2023 Triyogatama Wahyu Widodo
Penggunaan Thread pada Sistem Terdistribusi
• Salah satu fitur thread adalah memungkinkan melakukan blocking system call tanpa menghentikan seluruh proses: hanya thread yang memanggil yang terhenti
• Dalam sistem terdistribusi, fitur tsb digunakan dalam berkomunikasi: menerapkan transparensi distribusi
20/04/2023 Triyogatama Wahyu Widodo
Penggunaan Thread pada Sistem Terdistribusi
• Pada multithreaded client, komunikasi jaringan membutuhkan waktu yang cukup lama dan operasi yang dilakukan (membuat koneksi, membaca data) adalah operasi blocking
• Untuk menyembunyikan latensi: proses melakukan hal yang lain sembari menunggu data (paralelisme)
• Contoh: web browser menampilkan HTML terlebih dahulu sambil mengunduh konten yang lain, misal gambar
20/04/2023 Triyogatama Wahyu Widodo
Penggunaan Thread pada Sistem Terdistribusi
• Multithreading pada sistem terdistribusi utamanya digunakan pada sisi server: multithreaded server
• Bermanfaat untuk pemrosesan paralel: pada akhirnya meningkatkan througput
• Multihreading memungkinkan pemrosesan sekuensial dengan blocking system call tetapi tetap mendapatkan paralelisme
20/04/2023 Triyogatama Wahyu Widodo
Penggunaan Thread pada Sistem Terdistribusi
• Contoh: file server
20/04/2023 Triyogatama Wahyu Widodo
Virtualisasi
• Resource virtualization, virtualisasi yang tidak terbatas pada CPU saja: jika CPU bisa, mengapa yang lain tidak?
• Mengapa virtualisasi penting:– Teknologi perangkat keras berkembang pesat,
sementara perangkat lunak (middlware, aplikasi) lebih stabil
– Kemudahan dalam pengelolaan: banyak server diubah menjadi mesin virtual
– Portabilitas dan fleksibilitas: replikasi konten dinamis
20/04/2023 Triyogatama Wahyu Widodo
Virtualisasi
• Virtualisasi berarti menyediakan (memperluas atau mengganti) antarmuka yang meniru perilaku sistem lain
20/04/2023 Triyogatama Wahyu Widodo
Virtualisasi
• Sistem komputer umumnya menyediakan antarmuka pada 4 tingkat:1. Antarmuka antara
perangkat lunak dan keras: untuk semua program
2. Antarmuka antara perangkat lunak dan keras: untuk program tertentu
3. Antarmuka yang disediakan SO: system call
4. Antarmuka yang tediri dari library call: API
1
2
3
4
20/04/2023 Triyogatama Wahyu Widodo
Virtualisasi: Arsitektur• Process virtual machine: menyediakan set
instruksi untuk suatu aplikasi– Interpreted: Java, .NET– Emulated, not trivial: WINE, Cygwin
• Virtual machine monitor: menyediakan keseluruhan set instruksi, menutupi perangkat keras asli– Memungkinkan menjalankan sistem
operasi yang berbeda secara bersamaan pada satu platform
– Isolasi keamanan, portabilitas– VirtualBox, VMWare
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Klien pada Sistem Terdistribusi
• Fat client– Sebagian proses terjadi di sisi
klien– Klien berkomunikasi dengan
protokol spesifik
• Thin client– Proses dan data terjadi di
server– Klien hanya sebagai UI– Semakin populer dengan
berkembangnya Internet– Memudahkan manajemen
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Klien pada Sistem Terdistribusi
• Contoh, X Window system
• Mana yang klien, mana yang server?
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Klien pada Sistem Terdistribusi
• Cara komunikasi pada thin client:– Pertama, abstraksi operasi layar berupa perintah-
perintah untuk memanipulasi tampilan: terminal melakukan pemrosesan tampilan komputasi meningkat
– Kedua, menyerahkan pengolahan tampilan pada aplikasi: dilakukan pada tingkat pixel hanya pixel yang berubah yang dikirim ke terminal
– Ketiga, menggabungkan cara pertama dan kedua dengan mencegat perintah manipulasi tampilan pada sisi aplikasi dan menjadikan operasi agregasi sehingga bandwith komunikasi dapat dihemat, Contoh: THINC
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Klien pada Sistem Terdistribusi
• Transparensi distribusi sebagian harus dilakukan di sisi klien karena terkait dengan performa server
• Transparensi distribusi di sisi klien dilakukan dengan cara:– Transparensi akses:
menggunakan stub– Transparensi lokasi, migrasi, dan
relokasi: skema penamaan tertentu, redireksi secara otomatis
– Transparensi replikasi: multiple request, aggregated response
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Server pada Sistem Terdistribusi
• Isu desain:– Iterative vs concurrent server: bagaimana server melayani
klien– Letak end point (port): bagaimana server dapat ditemukan– In the band vs out of band: bagaimana server dapat
menangani data dan perintah– Stateless vs statefull: bagaimana server menyimpan
informasi, variasi soft state (informasi disimpan dalam jangka waktu pendek)
– Session state vs persistent state: bagaimana server menyimpan informasi klien
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Server pada Sistem Terdistribusi
• Server clusters: kumpulan mesin (komputer) yang terhubung jaringan (kecepatan tinggi dan latensi rendah) di mana setiap mesin menjalankan satu atau lebih server
• Biasanya terdiri dari 3 lapis: (1) switch, (2) application server, (3) data processing server
• Namun tidak menutup kemungkinan hanya terdiri dari 2 lapis: switch dan application & data server
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Server pada Sistem Terdistribusi
• Switch bertugas mengarahkan permintaan ke server aplikasi
• Sekaligus bertugas untuk menyembunyikan fakta bahwa terdapat banyak aplikasi server di belakangnya
• Prinsip kerjanya disebut TCP handoff: switch menerima permintaan dari klien dan mentransfer ke aplikasi server untuk diproses, aplikasi server membalas permintaan dengan modifikasi pada alamat sumber balasan adalah alamat IP switch
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Server pada Sistem Terdistribusi
• Organisasi server cluster
20/04/2023 Triyogatama Wahyu Widodo
Anatomi Server pada Sistem Terdistribusi
• TCP handoff
20/04/2023 Triyogatama Wahyu Widodo
Migrasi Kode
• Apa motivasinya?• Sebutkan dan jelaskan model-model migrasi
kode!• Bagaimana melakukan migrasi kode pada
lingkungan yang heterogen?• Isu apa yang perlu diperhatikan pada migrasi
kode terkait dengan sumber daya lokal?
Top Related