Anda di halaman 1dari 11

Self-Stabilizing System

Introduction
Self-Stabilizing System adalah system penstabil diri yang terdapat dalam sistem
terdistribusi, Built in, Merupakan Nonmasking Fault Tolerance
Kumpulan dari semua kemungkinan konfigurasi atau perilaku dari sistem
terdistribusi dapat dibagi menjadi dua kelas: legal dan tidak illegal.
Penyebab ke-ilegalan pada konfigurasi :
Transient Failure
Topology Changes
Environmental Changes
Suatu system dapat dikatakan menstabilkan diri apabila memenuhi dua kondisi :
Konvergensi
Closure

Stabilizing Mutual Exclusion On a
Unidirectional Ring





Ring diatas dalam konfigurasi legal, ketika terdapat dua kondisi berikut:
Safety.
Liveness.

Ketika sebuah proses yang guardnya sudah aktif tetapi tidak mau
mengeksekusi crictical sectionnya maka proses tersebut di lewati dan hak
akses untuk mengeksekusi crictical section di berikan ke proses setelahnya.
Kesalahan sementara dapat menyebabkan keilegalan/kesalahan konfigurasi.
Solusi dijkstra mengansumsikan proses 0 menjadi proses yang berbeda dari
proses lain, yang berjalan berbeda dari proses setelahnya pada ring.
Programnya seperti di bawah ini :

Bukti kebenaran dari solusi di atas yaitu :
Setidaknya satu proses memiliki satu guard
Konfigurasi yang benar memenuhi property penutupan (closure property)
Berawal dari konfigurasi yang illegal, konfigurasi pada ring akan secepatnya
menjadi legal
Stabilizing Graph Coloring
Graph coloring adalah masalah klasik pada teori graph. Graph G = (V,E) dan
himpunan warna , V adalah penetapan warna pada node. Pewarnaan graph node
mendefinisikan pemetaan dari V ke sehingga tidak ada dua node yang berdekatan
mempunyai warna yang sama. Pada bab 10.4 menggambarkan algoritma distribusi
untuk mewarnai node dari planar graph manapun dengan paling banyak 6 warna.
Algoritma Graph coloring mempunyai dua komponen :
Bagian pertama yaitu mengubah planar graph menjadi dag (directed acyclic graph)
Bagian kedua berjalan pada dag tersebut, dan melakukan pewarnaan yang sebenarnya
Dari kedua komponen, bagian kedua berjalan stabil, selama tidak ada inisialisasi
yang diperlukan untuk menghasilkan node warna yang valid. Tetapi bagian pertama
tidak stabil, selama membutuhkan inisialisasi yang spesifik. Jadi hasilnya kumpulan
dari dua komponen tersebut tidak stabil. Untuk menstabilkan nya menggunakan salah
satu dari 2 algoritma solusi :
Algoritma penstabil A yang mengubah setiap planar graph menjadi dag
Menggunakan dag-coloring algorithm

Stabilizing Spaning Tree Protocol
Spanning tree memiliki peran penting dalam routing dan multicast. Ketika
topologi jaringan statis, spanning tree dapat di bangun dengan menggunakan
algoritma probe-echo atau algoritma yang sama. Namun pada kenyataanya
topologi jaringan selalu berubah ubah yang dikarenakan node dan link rusak.
Berdasarkan kejadian tersebut spanning tree yang lain harus di regenerasi untuk
mempertahankan layanan pada jaringan.









Root r tidak jalan. Semua proses mengeksekusi tindakan untuk merestore spanning tree. Satu
proses menjaga invarians dari L(i)=L(P(i))+i tanpa memperhatikan integritas dari P. Jika
L(P(i)) lebih dari n-1 (yang mana menggambarkan sesuatu yang salah) kemudian proses i
menetapkan L(i) nya ke n, dan melihat neighbor j:L(j) <n-1 sebagai pilihan untuk parent yang
baru. Catat bahwa L(i)=n mungkin karena akibat beberapa L yang corrup, atau karena
directed edge menyambungkan node dengan parent nya yang menimbulkan siklus.
Dari gambar di atas terdapat siklus yang terdiri dari 2,3,4,5 dan edge bergabung dengan
parentnya. Karena siklus ini, ketika setiap node mengupdate L ke L(P)+1, setiap node akan
melihat neighbor dengan level <5, dan menandakan itu sebagai parentnya. Misalkan node 2
memilih node 1 sebagai parentnya (selama L(1)=1). Berdasarkan ini, node 3,5,4
mendefinisikan L lagi, dan stabilisasinya komplit.

Distributed reset

Reset adalah teknik umum untuk mengembalikan sebuah sistem terdistribusi
ke konfigurasi yang legal (benar) yang sudah di tetapkan dari kesalahan
sebuah konfigurasi yang di sebabkan oleh data corruption atau hilangnya
koordinasi. Sebagai sebuah proses, reset juga bisa gagal ketika sedang
berlangsung, oleh karena itu subsitem reset sendiri harus bisa mentolerir
kesalahan.
Komponen dari reset sistem adalah :
Spanning tree layer
Wave layer
The spanning tree protocol
Setiap proses i mempunyai tiga variabel :
root(i) menggambarkan akar dari pohon
P(i) menunjukkan parent dari i
d(i) yang merepresentasikan jarak terpendek i dengan root.
Konfigurasi yang benar memenuhi kriteria untuk setiap proses i:
root(i) memiliki id terbesar dari semua nonfaulty proses
d(i)=d(P(i))+1
d(i) adalah jarak terdekat antara i ke root
The wave layer protocol
The wave layer protocol menggunakan spanning tree. Setiap proses i
mempunyai variabel keadaan S(i) dengan 3 nilai yang mungkin : normal,
initiate, reset.
S (i) = Normal merupakan modus normal operasi untuk proses i.
S (i) = Initiate mengindikasikan bahwa proses i telah meminta operasi reset.
S (i) = Reset mengisyaratkan bahwa proses i sekarang mereset program.

Anda mungkin juga menyukai