Anda di halaman 1dari 5

5 KONSEP ALGORITMA PENGOLAHAN DATA TERDISTRIBUSI DISERTAI

DENGAN CONTOH STUDI KASUS SETIAP ALGORITMA


(Disusun untuk Memenuhi Tugas Mata Kuliah Sistem Terdistribusi)
Dosen Pengampu : Zulkifli , S.KOM., M.KOM.

Disusun oleh :
Nama : Fadlan Chairuddin Lubis
NIM : 190100039
Mata Kuliah : Sistem Terdistribusi

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS SATYA NEGARA INDONESIA
2021
5 Konsep Algoritma Pengolahan Data Terdistribusi Disertai Dengan Contoh Studi Kasus Setiap Algoritma

1. Algoritma Server Terpusat

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)

If (State = HELD or (state = WANTED and (T,Pj) < (Ti,Pi)))


Then
Queque request from Pj without replaying;
Else
Replay immediately to Pj;
End if
To exit the critical section:
State:= RELEASED;
Replay to any quequed request;
Jika proses tidak memerlukan masukan ke critical section ketika menerima token, kemudian segera meneruskan ke token tetangganya. Sebuah proses
yang memerlukan oken menunggu sampai diterima, namun menahannya. Untuk keluar dari critical section, proses mengirim token ke tetangganya.
Algoritma ini mengkonsumsi bandwidth dari jaringan, kecuali ketika proses berada pada bagian dalam critical section.

3. Algoritma menggunakan Multicast dan Logical Clock Multicast atau multicasting

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].

4. Algoritma Voting Maekawa

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;

For P, to enter the cntical section

state != WANTED;
Multicast request to all processes in Vi - {Pi};
Wait until (number of replies received = (K - 1»;
state := HELD;

On receipt ofa request from PI at p. (i 01' j)

If(state = HELD or voted = TRUB)


then
queue request from Pi without replying;
else
send reply to Pi'
voted:= TRUE;
end!f

For Pi to exit the critical section


state := RELEASED;
Multicast release to all processes in Vi - {Pi};
On receiptofa release from Pi at Pj (iol'j)

If(queue of requests is non-empty)


then
remove head of queue - from Pk' say;
send reply to Pk;
voted := TRUE;
else
voted := FALSE;
end if

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:

‐ Apa yang terjadi ketika pesan hilang?

‐ Apa yang terjadi ketika proses crash?

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.

Anda mungkin juga menyukai