9 poin oleh kunggom 2020-03-22 | 7 komentar | Bagikan ke WhatsApp

Facebook telah merilis layanan waktu NTP baru di alamat time.facebook.com. Layanan ini dikatakan memiliki akurasi lebih tinggi dibanding layanan waktu publik lainnya, serta tidak mengidentifikasi pengguna melalui alamat IP. Facebook juga memuat tulisan terkait layanan ini di blog engineering perusahaannya. (bahasa Inggris)

Alasan perusahaan IT besar seperti Facebook tertarik pada layanan waktu adalah karena pengoperasian sistem terdistribusi. Untuk memproses transaksi pada basis data terdistribusi atau menjamin logging yang benar, banyak server harus menyinkronkan jam mereka dengan presisi tinggi.

Facebook membeli peralatan uji profesional Stratum 1 (perangkat yang menerima informasi waktu langsung dari jam atom satelit) dan melakukan benchmark yang membandingkan ntpd, yang selama ini umum digunakan sebagai server waktu, dengan daemon NTP yang relatif lebih baru, chrony( https://chrony.tuxfamily.org/ ). ntpd sempat menghasilkan galat -10 ms sesaat setelah awal dijalankan lalu secara bertahap konvergen ke galat ±1 ms, sedangkan chrony menunjukkan akurasi yang jauh lebih baik dengan sebagian besar galat tetap berada dalam ±0.2 ms.

chrony juga punya kelebihan lain, yaitu mendukung hardware timestamp. Protokol sinkronisasi waktu NTP berusaha memperoleh waktu saat ini seakurat mungkin dengan memberi timestamp setiap kali paket bolak-balik antara server dan klien, lalu menghitung selisih waktu tempuhnya. Namun, pada sistem operasi yang bukan real-time, tidak ada jaminan bahwa latensi pemrosesan akan selalu berada di bawah tingkat tertentu. Hal yang sama berlaku pada NTP, dan ini menjadi salah satu penyebab membesarnya galat saat menyinkronkan waktu melalui jaringan.

Namun, beberapa NIC (kartu jaringan) mendukung fitur hardware timestamp. Fitur ini membuat NIC mempertahankan clock-nya sendiri melalui perangkat keras terpisah dan menangani pemrosesan timestamp di sana, sehingga latensi pemrosesan hanya berada pada tingkat beberapa nanodetik. Jika lingkungannya adalah jaringan lokal dan baik server maupun klien NTP sama-sama mendukung hardware timestamp, maka dalam kondisi ideal sinkronisasi waktu bisa dicapai dengan galat kurang dari 1 mikrodetik. Tentu, pada layanan waktu nyata lingkungan tersebut tidak selalu berupa jaringan lokal, dan NIC di sisi klien juga belum tentu mendukung hardware timestamp, jadi akurasi setingkat itu tidak selalu bisa diharapkan. Meski demikian, hasil benchmark dengan kombinasi chrony dan fitur hardware timestamp menunjukkan bahwa sebagian besar galat sinkronisasi waktu berada dalam ±0.1 ms.

Karena itu, Facebook mengatakan mereka menyediakan layanan waktu publik dengan konfigurasi chrony yang mengaktifkan hardware timestamp. Server waktu publik lain seperti Google atau Apple kadang menyediakan waktu dengan galat melebihi ±2 ms, sedangkan layanan Facebook dikatakan dalam banyak kasus berada di dalam ±1 ms. Sebagai referensi, layanan ini dioperasikan dengan endpoint di lima wilayah yang berbeda. Untuk detail lebih lanjut, silakan lihat artikel aslinya.

7 komentar

 
ryuheechul 2020-03-29

Wow. Ini tulisan yang menarik. Upaya untuk mencapai presisi dibagikan secara ringkas(?) namun tetap mendetail. Setelah membaca tulisan ini, saya mengubah server NTP di Mac saya menjadi time3.facebook.com.

 
kunggom 2020-04-05

Saya menggunakan time1.facebook.com. Setelah saya coba ping, endpoint lain dari nomor 2 sampai 5 tidak bisa diping atau sangat lambat. Saat saya mengatur time1.facebook.com sebagai server waktu di chrony, galat perkiraannya sedikit di atas ±1 ms. Kalau saya cukup mengatur time.facebook.com, waktunya tidak bisa diterima.

 
kunggom 2020-04-05

Sebagai referensi, server waktu lain, misalnya time.google.com atau time.windows.com, tanpa pengecualian menunjukkan galat lebih dari 30 ms. Hal yang sama juga berlaku untuk pool NTP seperti kr.pool.ntp.org. Di antara server waktu yang pernah saya lihat sejauh ini, yang memiliki galat waktu paling kecil adalah server Stratum 1 ntp.postech.ac.kr, dan ini pun diperkirakan oleh chrony sekitar ±5 ms.

 
kunggom 2022-11-15

Baru-baru ini saya mengetahui bahwa jika time.apple.com dijadikan Pool di chrony, maka yang terpilih adalah server NTP berpresisi tinggi yang berada di Korea dan Jepang. Bahkan tercatat sebagai Stratum 1. Sepertinya Apple memasang penerima GPS pada server CDN mereka dan menggunakannya sebagai time server.

 
xguru 2020-03-22

Wah, ini menarik. Istilah at Facebook scale sekarang sudah terasa akrab.

 
kunggom 2020-03-22

Ini agak di luar topik, tapi sepertinya artikel ini tidak muncul di Twitter GeekNews. Apakah ada syarat khusus untuk berita yang diposting oleh bot Twitter?

 
xguru 2020-03-22

Ah, setelah saya cek, di bagian yang memotong lalu mengunggah berdasarkan jumlah karakter, URL yang ada di paling depan konten berubah menjadi tautan otomatis, jadi jumlah karakternya terlampaui dan menyebabkan error di API Twitter T_T

Di Twitter, URL selalu dikonversi menjadi semacam 22 byte.

Sepertinya bagian ini perlu diperbaiki ya, hiks