Sinkronisasi

advertisement
SINKRONISASI
1 Sinkronisasi Clock
• Sistem tersebar sebenarnya adalah proses-proses yang
berkolaborasi atau bekerjasama. Sikronisasi sendiri diperlukan baik
di sistem tunggal atau sistem tersebar dengan alasan yang sama.
• Sikronisasi merupakan bagian penting untuk kerjasama dalam :
• Pemakaian sumberdaya berbagi (Sharing resources)
• Pengurutan kejadian
• Kesepakatan clock tersebar
GAMBAR INI MENGGAMBARKAN BAHWA BILA WAKTU PADA
OUTPUT.O
ADALAH
2144,
KEMUDIAN
SOURCE
CODENYA DIMODIFIKASI DI KOMPUTER LAIN YANG CLOCKNYA
LEBIH LAMBAT, SEHINGGA WAKTU SOURCE CODE ADALAH 2143.
KARENA SOURCE CODE MEMILIKI WAKTU YANG LEBIH LAMA
DARIPADA FILE OBJEKNYA, MAKA MAKE TIDAK AKAN
MELAKUKAN REKOMPILASI.
CLOCK FISIK
• Pada beberapa sistem, waktu clock aktual menjadi
penting, contohnya real-time sistem. Untuk sistem ini
diperlukan clock fisik eksternal. Karena alasan efisiensi
dan redundansi, clock fisik jamak biasanya digunakan,
yang mengakibatkan ada dua masalah muncul:
• Bagaimana mensinkronkan eksternal clock tersebut
dengan clock sebenarnya
• Bagaimana mensinkronkan antar clock yang ada.
•
Saat dimana matahari mencapai titik tertinggi di langit disebut transit
of the sun, dan terjadi di siang hari. Interval antar dua transit
berturutan disebut solar day. Sedangkan solar second didefinisikan
tepat 1/86400 dari solar day. International Atomic
Time (disingkat IAT) adalah rata-rata jumlah tick dari jam atom
cesium 133 sejak tanggal 1 januari 1958 dibagi 9.192.631.770.
•
Disebabkan waktu siang bertambah lama, TAI menjadi lebih lambat
dibanding solar second. Untuk mengkoreksinya, digunakan leap
second dengan cara meloncati waktu TAI sehingga sama dengan solar
second (lihat gambar). Waktu yang telah dikoreksi ini
disebut Universal Coordinated Time (UTC). NIST memiliki beberapa
stasiun radio gelombang pendek yang memancarkan pulsa pada
setiap awal detik UTC,yang dapat digunakan untuk sinkronisasi.
Stasiun ini dikenal dengan nama WWV.
ALGORITMA SINKRONISASI CLOCK
• Algoritma Cristian
• Bila sebuah mesin memiliki penerima WWV sehingga dapat berfungsi
sebagai time server. Secara periodik, setiap mesin mengirim pesan ke
time server menanyakan waktu terkini, Cutc. Ada 2 masalah dalam algo
ini, masalah major dan minor. Masalah majornya adalah waktu penanya
tidak boleh dimundurkan dan untuk mengatasinya adalah dengan
memperlambat clock tick.
• Masalah minor adalah waktu tunda dari balasan server,yang besarnya
variatif tergantung beban jaringan. Diatasi dengan menghitung interval
waktu pengiriman dan penerimaan pesan To sd T1 dan waktu penangan
interupsi I, sehingga bisa dihitung lama propagasi pesan dalam satu
arah(T1-T0-I)/2. Nilai ini dijadikan koreksi terhadap nilai waktu yang
diperoleh
ALGORITMA BERKELEY
• Algoritma Berkeley digunakan untuk
mensinkronkan clock relatif terhadap clocklainnya,
dan bukan terhadap
master clock tertentu. Daemon di server time
melakukan polling ke semua client, yang akan
dijawab oleh setiap clock. Kemudian time
daemonakan mengirim penyesuaiannya.
• Forward dapat dilakukan dengan meloncat
• Backward perlu perlambatan yang bertahap
A. DAEMON TIME MENANYAKAN NILAI CLOCK KE SEMUA MESIN
B. MESIN-MESIN MENJAWAB
C. DAEMON TIME MEMBERITAHU SEMUA MESIN, BERAPA NILAI
KOREKSI YANG HARUS DIGUNAKAN.
ALGORITMA RATA-RATA
• metode ini mensinkronkan clock dengan cara desentralisasi. Cara
kerjanya dengan membagi waktu ke dalam interval resinkronisasi yang
lebarnya tetap. Interval ke I dimulai pada T0 + iR dan berjalan sampai
T0+(I+1)R, dimana T0 adalah kesepakatan lalu dan R adalah
parameter sistem. Pada setiap awal interval, setiap mesin
mengumumkan waktu terkininya. Karena clock di mesin yang berbeda
akan berjalan dengan laju yang berbeda pula, pengumuman ini tidak
akan terjadi bersamaan. Sesudah mesin mengumumkan waktunya, timer
lokal diaktifkan untuk mengumpulkan semua pengumuman yang diterima
dalam interval S. Setelah semua pengumuman diterima, waktu yang
baru dapat dihitung dengan algoritma yang ada. Algoritma paling
sederhana adalah merata-ratakan nilai yang diperoleh dari semua
mesin.
SUMBER CLOCK EKSTERNAL JAMAK
• Algoritma ini menjadi dasar untuk protokol
NTP (Network Time Protocol). Interval waktu dapat
ditentukan dengan menggunakan algoritma Cristian
dengan waktu tunda perambatan yang diketahui.
• Digunakan dalam sistem yang disinkronkan dengan
sangat akurat.
•
•
•
Waktu diperoleh dari beberapa sumber UTC
Koreksi dari waktu rambat diperhitungkan
Gunakan media overlap sebagai perkiraan terbaik
• Standar waktu yang diterima bersumber pada satu set
jam atom-jam atom. Bila perambatan sinyal radio tidak
dipengaruhi oleh kondisi atmosfir, maka pemancaran
sinyal waktu dan penerimaan sinyal tersebut dengan
akurat dapat terjadi. Keakurasian terbaik yang dapat
dicapai melalui satelit GEOS atau GPS berkisar 1.1
milidetik. Untuk aplikasi tertentu, didefinisikan kebenaran
(correctness) sebagai dalam toleransi ∆ misal dalam 5
milidetik UTC. Definisi lain yang kadang-kadang
digunakan adalah t` > t => C(t`) > C(t).
AT-MOST-ONCE MESSAGE DELIVERY
• Setiap pesan membawa pengenal koneksi dan time stamp.
Untuk setiap koneksi, server menyimpan time stamp terbaru ke
dalam tabel. Bila ada pesan masuk dengan timestamp yang
lebih lama daripada time stamp yang disimpan, maka pesan
tersebut akan ditolak dan dianggap sebagai duplikat. Server
menyimpan variabel global yang memungkinkannya untuk
menghapus timestamp lama.
Download