Disusun oleh :
Nama : Fadlan Chairuddin Lubis
NIM : 190100039
Mata Kuliah : Sistem Terdistribusi
Algoritma Server Terpusat Cara yang paling mudah untuk mencapai mutual exclusion adalah dengan memperkerjakan sevet yang menanggung ijin
untuk memasuki critical section. Untuk masuk ke critical section, proses harus mengirim request message kepada server dan menunggu balasan dari
server. Server membalas message tersebut mengikuti token. Namun jika tidak ada request pada token tersebut selain dari proses itu maka proses situ
akan segera diberi replay message. Memasuki critical section, bahkan ketika tidak ada proses yang saat ini menempati itu. Dua pesan palsu), dan
penundaan proses yang meminta waktu untuk pulang-pergi. Keluaran bagian kritis mengambil satu pesan keluaran. Dengan asumsi lewat pesan
asynchronous, hal ini tidak menunda proses keluar. Server mungkin menjadi hambatan untuk perfoma sistem secara keseluruhan. Tunda sinkronisasi
adalah waktu yang dibutuhkan untuk pulang-pergi: 8 rilis pesan ke server, diikuti oleh pesan grant ke proses selanjutnya masukkan critical section.
2. Algoritma Ring-based
Algoritma Ring-based Cara yang paling mudah dalam perangkai mutal excluison diantara N proses ranpa membutuhkan proses tambahan untuk
merangkainya dalam logical ring. Algoritmanya sebagai berikut:
On inilization:
State:= RELEASED;
To Enter Section:
State:= WANTED;
Multicast request to all process;
T:= request’s timestamp;
Wait until (Number of replies received = (N-1));
State:= HELD;
On receipt of a request <Ti,Pi> at Pj (i≠j)
adalah sebuah teknik di mana sebuah data dikirimkan melalui jaringan ke sekumpulan komputer yang tergabung ke dalam sebuah grup tertentu, yang
disebut sebagai multicast group. Multicasting merupakan sebuah cara pentransmisian data secara connectionless (komunikasi dapat terjadi tanpa
adanya negosiasi pembuatan koneksi), dan klien dapat menerima transmisi multicast dengan mencari di mana lokasinya, seperti halnya ketika kita
membuka sebuah stasiun radio untuk mendengarkan siaran radio. Multicast sebenarnya merupakan mekanisme komunikasi one-to-many, atau point-
tomultipoint, dan berbeda dengan cara transmisi unicast. Ide dasarnya adalah hanya ketika semua proses yang lain menjawab pesan. Setiap pesan
direkam tiaptiap bagian luar dari critical section (released), wanting entry (wanted) atau dalam critical section (held) dalam variable state. Jika proses
permintaan entri dan bagian semua proses-proses lain RELEASED, kemudian semua proses akan segera menjawab dengan segera kepada permintaan
dan peminta akan memperoleh entri. Jika beberapa proses bagian HELD. maka proses itu tidak akan menjawab permintaan sampai selesai dengan
crirical state. Jadi si peminta tidak dapat memperoleh entri untuk sementara. Jika dua atau lebih proses permintaan masuk pada saat yang sama, maka
proses mana permintaan mengemban timestamp terendah akan menjadi yang pertama untuk mengumpulkan N- 1 balasan, pemberian itu entri
berikutnya. Perhatikan bahwa. Ketika proses permintaan masuk, penangguhan pemrosesan permintaan dari proses-proses lain sampai permintaan
sendiri telah dikirim dan telah mencatat timestamp T dari permintaan. Hal Ini agar proses membuat keputusan yang konsisten saat memproses
permintaan. Kinerja algoritma dapat ditingkatkan. Pertama, perhatikan bahwa proses yang terakhir masuk ke bagian kritis dan yang tidak menerima
permintaan lain untuk itu masih berlanjut melalui protokol seperti yang dijelaskan, walaupun hanya bisa memutuskan secara lokal untuk
mengalokasikan kembali itu sendiri. Kedua, Ricart dan Agrawala menyaring protokol ini sehingga hanya memerlukan N pesan untuk mendapatkan
masukasn dalam kasus yang paling parah tanpa dukungan hardware untuk multicast. Algoritma ini dideskribsikan oleh Raynal [1988].
Maekawa [1985] mengamati bahwa dalam pemesanan proses untuk memasukkan critical section, tidak penting semua pasangan untuk memberikan
hak untuk mengaksesnya. Proses hanya memerlukan izin untuk masuk dari himpunan kawannya, sepanjang himpunan digunakan oleh 2 proses yang
overlap.Proses dapat dianggap sebagai voting satu sama lain untuk masuk ke critical section. Kandidat proses harus mengumpulkan suara yang cukup
untuk masuk. Proses dalam perpotongan 2 himpunan pemilih yang menyakinkan keamanan properti dari ME1, yang paling banyak 1 proses dapat
masuk critical section.
Algoritma Maekawa ditunjukkan di bawah ini:
On il1itialization
state := RELEASED;
voted := FALSE;
state != WANTED;
Multicast request to all processes in Vi - {Pi};
Wait until (number of replies received = (K - 1»;
state := HELD;
Algoritma tersebut diadobsi [Saunders 1987] sehingga menjadi bebas deadlock. Dalam pengadopsian protokol, antrian prosesmeminta dalam
pemesanan yang terjadi sebelumnya, sehingga permintaan terhadap ME3 juga memuaskan.
5. Toleransi Kesalahan
Poin utama yang perlu dipertimbangkan ketika mengevaluasi algoritma di atas sehubungan dengan toleransi kesalahan adalah:
Tak satu pun dari algoritma yang kita gambarkan akan menoleransi hilangnya pesan, jika saluran yang dapat diandalkan. Algoritma berbasis cincin
tidak dapat menoleransi kegagalan crash setiap proses tunggal. Algoritma Maekawa dapat mentolerir beberapa proses kegagalan karena crash,jika
proses crash tidak dalam menetapkan suara yang diperlukan, maka kegagalan akan tidak mempengaruhi proses lain. Algoritma server pusat dapat
mentolerir kegagalan crash dari proses klien yang tidak berlaku atau telah diminta token.Algoritma The Ricart dan Agrawala seperti yang telah kita
jelaskan dapat disesuaikan dengan mentolerir kegagalan crash proses, dengan mengambilnya untuk memberikan semua permintaan secara implisit.