Waktu
adalah hal yang penting dalam sistem terdistribusi karena beberapa hal.
Pertama, waktu adalah satuan akurasi. Untuk mengetahui kapan suatu peristiwa
terjadi, dibutuhkan sinkronisasi clock pada sistem dan di luar sistem. Sebagai
contoh, transaksi e-commerce terjadi di komputer pengguna dan komputer bank.
Kejadian tersebut haruslah dicatat waktunya secara akurat untuk keperluan audit.
Kedua, algoritma mengenai sinkronisasi clock memiliki beberapa masalah, antara
lain mempertahankan konsistensi data yang didistribusikan, otentikasi request
yang dikirim ke server, dan menghapus proses yang terduplikasi.
Jika
dianalogikan, seperti teori relativitas milik Einstein. Suatu kejadian yang
diamati oleh pengamat yang satu bisa saja berbeda dengan pengamat lainnya dalam
hal interval (jeda) waktu. Dalam sistem terdistribusi, masalahnya adalah
mencatat waktu terjadinya suatu kejadian pada node yang berbeda-beda secara
akurat sehingga dapat diketahui mana yang hanya terjadi dan mana yang terjadi
secara serempak.
Clock, Kejadian, dan Process State
Clock, Kejadian, dan Process State
Clock
(Jam)
Setiap komputer pasti memiliki clock
fisik. Clock adalah alat elektronik yang menghitung osilasi yang terjadi pada
kristal pada frekuensi tertentu, dan menyimpannya dalam counter register.
Sistem operasi membaca clock fisik tersebut dan menerjemahkannya ke software
clock. Software clock tidak selalu akurat sehingga pewaktuan hardware dan
software memiliki perbedaan walaupun sangat kecil. Namun, software clock tetap
menjadi acuan pencatatan waktu setiap kejadian proses. Kejadian yang terjadi
setelah suatu kejadian akan tercatat di waktu yang berbeda apabila resolusi
clock (periode update software clock) lebih kecil daripada interval waktu antar
kejadian.
Clock
Skew And Clock Drift
Clock milik tiap-tiap komputer tidak
selalu sama. Perbedaan antara pembacaan dua clock komputer berbeda disebut
skew. Sedangkan perbedaan clock rate disebut clock drift. Pada clock fisik,
osilasi, frekuensi, dan temperatur mempengaruhi perbedaan clock tiap komputer. Perbedaannya
mungkin sangat kecil, tetapi akumulasi perbedaan tersebut dapat mencapai tahap yang
bisa diamati dengan mata telanjang walaupun sudah disamakan nilainya. Clock
drift rate adalah perubahan perbedaan pembacaan antara clock dan perfect
reference clock (clock yang dijadikan acuan).
Waktu Universal Terkoordinasi
(Coordinated Universal Time)
Clock
komputer dapat disinkronkan dengan clock luar yang akurasinya tinggi. Clock
yang akurasinya paling tinggi menggunakan osilator atom. Keluaran clock ini
digunakan sebagai standar waktu international. Coordinated Universal Time (UTC)
adalah standar internasional untuk penjagaan waktu (timekeeping). Sinyal UTC
disiarkan dari stasiun radio dan satelit ke seluruh dunia. Komputer dengan
penerima sinyal di seluruh dunia dapat mensinkronkan clocknya dengan sinyal
ini.
Sinkronasi Clock Fisik
Untuk
mengetahui kapan sebuah peristiwa terjadi secara akurat pada proses system terdistribusi,
diperlukan sinkronisasi dengan sumber waktu dari luar, yang disebut
sinkronisasi eksternal (external synchronization). Dan jika satu clock
tersinkronisasi dengan clock yang lain dengan derajat akurasi yang diketahui,
maka kita bisa mengukur interval terjadinya dua peristiwa pada komputer yang
berbeda, walaupun tidak tersinkronisasi ke sumber waktu dari luar. Hal ini disebut
sinkronisasi internal (internal synchronization).
Beberapa
gagasan pengkoreksian (correctness) untuk clock sudah pernah diajukan. Hardware
clock H selalu dikoreksi apabila drift-nya sudah mencapai angka tertentu (ρ
> 0). Jadi, galat (error) perhitungan interval antara waktu sebenarnya t dan
t’ (t > t’) adalah:
(1
- ρ)(t' - t) ≤ H(t') - H(t) ≤ (1 + ρ)(t' -t)
Clock
yang tidak menerima pengkoreksian apapun dinyatakan faulty. Clock dinyatakan crash
failure ketika berhenti berdetik sama sekali. Kegagalan clock lainnya adalah
arbitrary failure. Contoh arbitrary failure adalah ‘Y2K bug’ yang terjadi pada
pergantian tahun 1999 ke 2000. Setelah 31 Desember 1999 dilanjutkan ke 1
Januari 1900. Catatan: clock tidak harus akurat untuk menjadi benar.
Tidak ada komentar:
Posting Komentar