TIME & COORDINATION PENGANTAR DATA TERDISTRIBUSI Materi: 1. Logical Clock & Synchronisation 2. Koordinasi Terdistribusi 3. Model Sinkronisasi dan Asinkronisasi
Pertemuan 8
Pendahuluan Time adalah pengembangan dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian.CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahanantar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya. Coordination adalah sekumpulan algoritma yang tujuannya bermacam-macam namun men-share tujuannya, sebagai dasar dalam sistem terdistribusi : berupa sekumpulan proses untuk mengkoordinasikan tindakan atau menyetujui satu atau beberapa nilai. Contohnya pada kasus mesin seperti pesawat ruang angkasa. Hal itu perlu dilakukan, komputer mengendalikannya agar setuju pada kondisi tertentu seperti apakah misi dari pesawat luar angkasa dilanjutkan atau telah selesai Data Terdistribusi PPengolahan DT
Time Service Mengapa diperlukan? Untuk mengukur keterlambatan antara komponen didistribusikan Untuk menyinkronkan aliran, misalnya suara dan video Untuk menetapkan event pemesanan kausal pemesanan (apakah A terjadi sebelum B?) bersamaan / tumpang tindih eksekusi (tidak ada hubungan kausal) Untuk cap waktu yang akurat untuk mengidentifikasi / mengotentikasi • transaksi bisnis • serializability dalam database terdistribusi • protokol keamanan
Data Terdistribusi PPengolahan DT
Logical Clock & Synchronisation A. Sinkronisasi Clock Alasan penting sinkronisasi waktu di system tersebar: • Waktu dapat merupakan kuntitas yang perlu diukur secara akurat untuk mengetahui saat terjadinya suatu kejadian
• Banyak algoritma yang bergantung pada sinkronisasi clock seperti pengelolaan konsistensi data tersebar, perkiraan otentikasi, dsb. Lamport (1978) menunjukkan sinkronisasi clock memungkinkan, yaitu:
• Sinkronisasi clock tak perlu absolute • Penjaminan urutan (order) kejadian-kejadian yang benar
Data Terdistribusi PPengolahan DT
…Logical Clock & Synchronisation • Logical Clock Pengurutan kejadian-kejadianm berdasarkan pada nilai-nilai clock yang mengikat yang dijamin konsisten dengan keterdahuluan sebab. • Algoritma Lamport
Relasi happens-before (a,b), “a terjadi sebelum b” berarti semua proses sepakat bahwa kejadian pertama yaitu a terjadi kemudian setelah itu kejadian b terjadi. Happens-before merupakan relasi transitif sehingga: jika a,b dan b,c maka a,c • Physical Clocks Physical Clocks yang paling akurat adalah menggunaakan atomic ascilator dengan akurasi 10-13 detik. Keluaran clock atomic digunakan sebagai standart waktu nyata. UTC (Coordinated Universal Time) berdasarkan waktu atom, kadang disesuaikan dengan waktu astronomi.
Data Terdistribusi PPengolahan DT
Sinkronasi Clock Fisik Untuk mengetahui kapan sebuah peristiwa terjadi secara akurat pada proses sistem 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).
Data Terdistribusi PPengolahan DT
Sinkronasi Clock Fisik Untuk mengetahui kapan sebuah peristiwa terjadi secara akurat pada proses sistem 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).
Data Terdistribusi PPengolahan DT
Sinkronasi Clock Fisik 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)
Data Terdistribusi PPengolahan DT
Sinkronasi Clock Fisik 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.
Data Terdistribusi PPengolahan DT
Metode Cristian untuk Sinkronisasi Clock
Cristian menyarankan untuk menggunakan server yang menerima sinyal UTC untuk mensiknronisasikan komputer secara eksternal. Sebuah proses p meminta waktu dalam pesan m kepada server S, kemudian menerima nilai waktu t dalam pesan mt. Proses p merekam total waktu yang dibutuhkan Tround untuk mengirim permintaan dan menerima balasan. Dengan begini, waktu yang akurat dapat diperhitungkan. Permasalahannya adalah server yang menyimpan waktu hanya satu, yang apabila gagal maka untuk sementara waktu sinkronisasi tidak dapat dilakukan. Cristian menyarankan untuk menggunakan beberapa server yang sudah tersinkronasi. Jadi, klien meminta ke semua server dan hanya menggunakan balasan yang pertama kali diterima. Data Terdistribusi PPengolahan DT
Algoritma Berkeley Gusella dan Zatti mengembangkan algoritma untuk sinkronisasi internal. Mereka megembangkan algoritma ini pada komputer berbasis Barkeley UNIX. Pada lagoritma ini, sebuah komputer ditunjuk sebagai coordinator yang disebut master. Komputer ini kemudian memilih komputer-komputer untuk dimintai sinkronisasi, yang disebut slave, dengan master secara periodik. Slave-slave membalas dengan nilai clock miliknya. Master menghitung clock-nya sendiri dengan memperhitungkan waktu perjalanan data dan ratarata dari nilai clock yang didapat. Algoritma ini tidak akan membaca clock yang faulty. Clock yang hanya berbeda sedikit, dengan jumlah tertentu, dengan clock lainnya yang dipilih untuk dirata-rata. Hal ini disebut fault tolerant average. Sehingga, ketika ada satu clock yang gagal atau rusak, tidak mempengaruhi clock Master. Data Terdistribusi PPengolahan DT
Protokol Waktu Protocol)
Jaringan
(Network
Time
Metode Cristian dan algoritma Berkeley pada dasarnya digunakan untuk komunikasi intranet. Protokol Waktu Jaringan (NTP) mendefinisikan arsitektur untuk pelayanan waktu dan protocol untuk distribusi informasi waktu lewat internet
Data Terdistribusi PPengolahan DT
Protokol Waktu Protocol)
Jaringan
(Network
Time
Tujuan dan fitur NTP, antara lain: 1. To provide a service enabling clients across the Internet to be synchronized accurately to UTC: NTP menyediakan layanan agar klien di internet dapat bersinkronisasi dengan UTC. 2. To provide a reliable service that can survive lengthy losses of connectivity: NTP menyediakan layanan yang bisa bertahan di jaringan mengalami loss karena jarak.
3. To enable clients to resynchronize sufficiently frequently to offset the rates of drift found in most computers: NTP memungkinkan klien untuk sinkronisasi ulang secara berkala. 4. To provide protection against interference with the time service, whether malicious or accidental: NTP menyediakan perlindungan terhadap interferensi dari layanan waktu, baik galat maupun ketidaksengajaan. Data Terdistribusi PPengolahan DT
Protokol Waktu Protocol)
Jaringan
(Network
Time
Contoh sinkronisasi subnet di NTP
Layanan NTP tersebar pada banyak server di internet. Server utama tersambung langsung ke sumber waktu, seperti penerima sinyal radio UTC. Server sekunder disinkronisasi dengan server primer. Server-servernya tersambung dalam hierarkikal logika yang disebut synchronization subnet seperti pada gambar semakin atas levelnya akan semakin akurat clock-nya. Galat terjadi setiap melewati satu level. Data Terdistribusi PPengolahan DT
Protokol Waktu Protocol)
Jaringan
(Network
Time
Server-server NTP bersinkronasi satu sama lain dengan tiga cara, antara lain multicast, procedure-call, dan symmetric. 1. Multicast Multicast ditujukan untuk LAN berkecepatan tinggi. Satu atau lebih server secara periodik menyebar waktu clock ke server di komputer lain yang tersambung di LAN. Mode ini akurasinya rendah tetapi cocok untuk berbagai kepentingan. 2. Procedure-call Procedure-call hamper sama dengan algoritma Cristian. Server menerima request dari komputer lain dan membalasnya dengan pembacaan clock saat pengiriman. Mode ini cocok ketika keakurasian tinggi dibutuhkan atau ketika multicast tidak dappat dilakukan. 3. Symmetric Mode symmetric ditujukan untuk server yang mensuplai waktu dalam LAN atau pada level tertinggi dari sebuah synchronization subnet. Data Terdistribusi PPengolahan DT
Model Sinkronisasi dan Asinkronisasi Sinkronisasi adalah Adalah satu kunci kerja dari komunikasi data. Transmiter mengirimkan pesan 1 bit pada satu saat melalui medium ke receiver. Receiver harus menandai awal dan akhir blok dari bit, juga harus diketahui durasi untuk masing-masing bit sehingga dapat sample lajur dari timing untuk membaca masing-masing bit (merupakan tugas dari timming). Contoh : jika ada perbedaan misalkan 1 % (clock receiver 1% lebih lambat atau lebih cepat daripada clock transmitter), maka pada pensamplingan pertama akan meleset dari tengah bit dan setelah jumlah waktu tertentu, akan mengalami error.
Data Terdistribusi PPengolahan DT
Model Sinkronisasi dan Asinkronisasi Sinkronisasi di bagi menjadi 2, yaitu : 1. Asynchronous Untuk mencegah problem timming dengan tidak mengirim aliran bit panjang yang tidak putus putusnya. Bit-bit dikirim per-karakter pada setiap waktu yang mana masing-masing karakter mempunyai panjang 5-8 bit. Timing atau synchronisasi harus dipertahankan antara tiap karakter; receiver mempunyai kesempatan untuk men-synchron-kan awal dari tiap karakter baru. 2. Synchronous / timing Lebih efisien, karena blok-blok karakter / bit-bit ditransmisikan tanpa kode start dan stop, tetapi tiap blok blok dimulai dengan suatu pola preamble bit dan diakhiri dengan pola postamble bit. Pola-pola ini adalah kontrol informasi.Waktu kedatangan dan keberangkatan untuk masingmasing bit dapat diramalkan. Frame adalah data plus kontrol informasi
Data Terdistribusi PPengolahan DT
Sinkronisasi dan Asinkronisasi Opsi ini menunjukkan bagaimana proses input dan output ke files ystem dilakukan. sinkornisasi berarti dilakukan secara sinkronisasi. Contohnya digunakan pada floopy, artinya ketika anda menyalin sebuah file ke floopy, perubahan secara fisik langsung ditulis ke floppy saat anda memberikan perintah copy. Jika anda menggunakan opsi async, input dan output dilakukan secara asinkronisasi. Dengan contoh di atas, opsi ini membuat proses penyalinan ke floopy mungkin dilakukan jauh setelah perintah copy anda berikan. Hal ini tidaklah buruk, bahkan terkadang menjadi pilihan, dikarenakan misalnya jika anda memindahkan floopy tanpa melakukan unmounting terlebih dahulu, file-file yang disalin mungkin secara fisik belum masuk ke dalam floopy tersebut.
Data Terdistribusi PPengolahan DT