Precision Time Protocol (PTP) menggunakan timestamp tingkat perangkat keras dan kompensasi jalur dinamis untuk mencapai sinkronisasi jam dengan ketelitian sub-mikrodetik. Fitur ini menjamin konsistensi waktu dalam sistem terdistribusi dan ideal untuk skenario yang memerlukan akurasi waktu ketat, seperti perdagangan finansial frekuensi tinggi.
Apa itu PTP
Fitur sinkronisasi waktu PTP saat ini berada dalam masa pratinjau undangan. Untuk menggunakan fitur ini, kirim tiket untuk mengajukan permohonan.
Precision Time Protocol (PTP) adalah protokol sinkronisasi waktu jaringan berpresisi tinggi berdasarkan standar IEEE 1588. PTP menggunakan teknologi seperti timestamp tingkat perangkat keras, kompensasi jalur dinamis, dan negosiasi cerdas antara jam master-slave untuk mengatasi hambatan kesalahan tingkat milidetik pada protokol waktu jaringan tradisional, seperti Network Time Protocol (NTP). Hambatan tersebut terutama disebabkan oleh latensi pemrosesan perangkat lunak dan jitter jaringan. PTP menyediakan sinkronisasi waktu sub-mikrodetik bagi perangkat dalam sistem terdistribusi.
Dibandingkan dengan NTP, PTP memindahkan perhitungan ke timestamp perangkat keras. Hal ini mengurangi konsumsi sumber daya CPU dan jaringan sekaligus mencapai akurasi yang lebih tinggi:
Fitur | PTP | NTP |
Akurasi | Sub-mikrodetik | Milidetik |
Implementasi timestamp | Dukungan perangkat keras (seperti perangkat PHC) | Implementasi perangkat lunak |
Lingkungan jaringan | Jaringan area lokal atau latensi rendah | Jaringan area luas |
Konsumsi resource | Rendah (frekuensi pertukaran pesan dapat dikontrol) | Tinggi (mengandalkan pertukaran pesan yang sering) |
Aplikasi khas | Perdagangan finansial | Server Internet, perangkat umum |
Arsitektur sinkronisasi PTP Alibaba Cloud menggunakan penyebaran redundan jam atom aktif dan cadangan di tingkat zona. Jam atom utama melakukan sinkronisasi dengan waktu GPS, lalu membangun topologi sinkronisasi hierarkis menggunakan protokol jam batas IEEE 1588 PTP untuk mengirimkan sinyal waktu sub-mikrodetik ke Instance ECS.
Secara default, Instance ECS menjalankan layanan Chrony atau NTP untuk sinkronisasi waktu. Anda dapat mengaktifkan layanan sinkronisasi waktu PTP pada wilayah dan tipe instans yang didukung untuk mencapai sinkronisasi waktu berpresisi tinggi.
Skenario
Perdagangan finansial frekuensi tinggi: Akurasi sinkronisasi sub-mikrodetik dan timestamp perangkat keras PTP menjamin penyelarasan ketat urutan waktu pesanan di berbagai bursa. Hal ini mencegah perselisihan mengenai urutan transaksi yang disebabkan oleh deviasi jam. Ketika dikombinasikan dengan kontrol jitter sub-mikrodetik pada jaringan latensi rendah, PTP memenuhi persyaratan ketat perdagangan frekuensi tinggi terkait keadilan waktu dan kepatuhan regulasi.
Batasan
Wilayah dan zona yang didukung:
Nama Wilayah
ID Wilayah
Nama Zona
ID Zona
China (Hong Kong)
cn-hongkong
Zona B (Pratinjau Undangan)
cn-hongkong-b
Zona C (Pratinjau Undangan)
cn-hongkong-c
Zona D (Pratinjau Undangan)
cn-hongkong-d
Keluarga instans yang didukung:
Anda dapat memanggil operasi DescribeInstanceTypes untuk mengecek apakah suatu tipe instans didukung. Jika parameter PtpSupport dalam parameter Clock pada respons bernilai supported, maka tipe instans tersebut mendukung PTP. Jika tipe instans tidak mendukung PTP, parameter PtpSupport tidak akan muncul dalam respons.
Keluarga instans tujuan umum g9i, keluarga instans yang dioptimalkan untuk komputasi c9i, dan keluarga instans yang dioptimalkan untuk memori r9i (pratinjau undangan)
Keluarga Instance ECS Bare Metal tujuan umum ebmg9i, ebmc9i, dan ebmr9i (pratinjau undangan)
Keluarga instans yang dioptimalkan untuk komputasi dengan kecepatan clock tinggi hfc9i, keluarga instans tujuan umum dengan kecepatan clock tinggi hfg9i, dan keluarga instans yang dioptimalkan untuk memori dengan kecepatan clock tinggi hfr9i
Citra yang didukung: Citra Linux didukung. Kami merekomendasikan penggunaan versi citra resmi.
Versi kernel Linux harus 4.12 atau lebih baru.
Mengaktifkan atau menonaktifkan PTP untuk Instance ECS
Mengaktifkan layanan sinkronisasi waktu PTP
Mengaktifkan PTP di konsol
Buat instans
Buka tab Peluncuran Kustom di Konsol ECS. Pilih wilayah, tipe instans, dan citra yang mendukung PTP. Lalu, pada bagian Advanced Settings (Optional), aktifkan layanan sinkronisasi waktu PTP.
Untuk instans yang sudah ada
Jika server fisik tempat instans berada tidak mendukung PTP, Anda harus merestart instans tersebut untuk memigrasikannya ke server fisik yang mendukung sebelum dapat mengaktifkan PTP.
Buka halaman dan klik ID instans target untuk membuka halaman detail instans.
Pada halaman Detail Instans, dari daftar drop-down More, pilih .
Pada kotak dialog Set PTP Time Synchronization Service, aktifkan layanan sinkronisasi waktu PTP.
Setelah Anda mengklik OK, jendela Tugas Sinkronisasi Waktu PTP akan muncul.
Klik ID tugas untuk melihat progres tugas. Setelah tugas selesai, kotak dialog akan otomatis tertutup, dan layanan sinkronisasi waktu PTP diaktifkan untuk instans tersebut.
Asisten Cloud telah dipra-instal pada citra publik.
Penggunaan perintah publik dan fitur plugin memerlukan Asisten Cloud.
Perintah publik Asisten Cloud
Buka halaman Asisten Cloud di Konsol ECS dan alihkan ke tab Public Commands.
Temukan perintah
ACS-ECS-EnablePTP-for-linux.shdan klik Execute di kolom Aksi.Pilih instans yang sedang berjalan dan klik Execute.
Plugin Asisten Cloud
Periksa apakah perangkat keras PHC tersedia.
Jika perangkat keras PHC tidak tersedia, kirim tiket.
lspci | grep 500cJika layanan sinkronisasi waktu PTP diaktifkan, perintah tersebut akan mengembalikan informasi berikut:

Jalankan perintah Asisten Cloud untuk memeriksa versinya. Versi harus
2.2.3.631atau lebih baru. Jika versi lebih lama, upgrade Asisten Cloud.acs-plugin-manager --versionKonfirmasi bahwa plugin Asisten Cloud tersedia di wilayah saat ini.
Jika plugin Asisten Cloud tidak tersedia, kirim tiket.
acs-plugin-manager --list | grep ACS-PTP-MonitorInstal driver menggunakan Asisten Cloud.
Perintah ini biasanya selesai dalam waktu 10 menit.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --install --timeout 0Jalankan layanan ptp-monitor.
Perintah ini memperbarui konfigurasi chrony, merestart chronyd, mengaktifkan ptp-monitor untuk berjalan saat boot, dan menjalankan layanan ptp-monitor.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --start
Paket instalasi
Jalankan perintah berikut untuk memeriksa perangkat keras PHC.
lspci | grep 500cJika layanan sinkronisasi waktu PTP diaktifkan, perintah tersebut akan mengembalikan informasi berikut:

Jalankan perintah berikut untuk mendapatkan paket skrip terkompresi. Diperlukan koneksi Internet.
Setelah Anda mengaktifkan PTP untuk Instance ECS, Anda dapat menggunakan skrip
ptp-monitoruntuk penyebaran dan konfigurasi satu-klik.wget https://ptp-monitor-hk.oss-cn-hongkong.aliyuncs.com/ptp-monitor/ptp-monitor-latest.zipJalankan perintah berikut untuk mengekstrak paket tersebut.
yum install -y unzip unzip ptp-monitor-latest.zip -d ptp-monitor-latest cd ptp-monitor-latestPada sistem operasi seperti Ubuntu dan Debian, Anda dapat menjalankan perintah
sudo apt update && sudo apt install unzipuntuk menginstalunzip.Jalankan perintah berikut untuk mengompilasi dan menginstal driver.
bash ptp-monitor.sh --installJalankan perintah berikut untuk memastikan driver PTP telah terinstal.
ptp-monitormengompilasi driver PTP berdasarkan sistem operasi saat ini. Driver tersebut diberi namaptp_cipu.lsmod | grep ptp_cipuJalankan perintah berikut untuk memastikan file perangkat PTP telah dibuat.
ll /dev/ptp*Jika informasi file perangkat dikembalikan, driver berjalan dengan benar:

Jalankan perintah berikut untuk mengonfigurasi chrony, merestart layanan chronyd, dan menjalankan layanan ptp-monitor.
bash ptp-monitor.sh --startSetelah layanan chronyd direstart, sumber jam PTP akan berlaku dalam hitungan puluhan detik. Anda dapat memverifikasi hal ini dengan melihat layanan sinkronisasi waktu PTP untuk instans tersebut.
Menonaktifkan layanan sinkronisasi waktu PTP
Nonaktifkan PTP di konsol
Buka halaman dan klik ID instans target untuk membuka halaman detail instans.
Pada halaman Detail Instans, dari daftar drop-down More, pilih .
Pada kotak dialog Set PTP Time Synchronization Service, nonaktifkan layanan sinkronisasi waktu PTP.
Setelah Anda mengklik OK, jendela Tugas Sinkronisasi Waktu PTP akan muncul.
Klik ID tugas untuk melihat progres tugas. Setelah tugas selesai, kotak dialog akan otomatis tertutup, dan layanan sinkronisasi waktu PTP dinonaktifkan untuk instans tersebut.
Asisten Cloud telah dipra-instal pada citra publik.
Penggunaan perintah publik dan fitur plugin memerlukan Asisten Cloud.
Perintah publik Asisten Cloud
Buka halaman Asisten Cloud di Konsol ECS dan alihkan ke tab Public Commands.
Temukan perintah
ACS-ECS-DisablePTP-for-linux.shdan klik Execute di kolom Aksi.Pilih instans yang sedang berjalan dan klik Execute.
Plugin Asisten Cloud
Jalankan perintah berikut untuk menghentikan layanan ptp-monitor.
Menonaktifkan PTP akan menghapus perangkat PTP. Tindakan ini memperbarui file konfigurasi chrony untuk menghapus sumber jam perangkat keras PTP, merestart layanan chronyd untuk mengembalikan layanan jam default seperti NTP, dan menghentikan program ptp-monitor.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --stopPaket instalasi
Nonaktifkan sumber jam PTP.
Menonaktifkan PTP akan menghapus perangkat PTP. Tindakan ini memperbarui file konfigurasi chrony untuk menghapus sumber jam perangkat keras PTP, merestart layanan chronyd untuk mengembalikan layanan jam default seperti NTP, dan menghentikan program ptp-monitor.
bash ptp-monitor.sh --stop
Menampilkan layanan sinkronisasi waktu PTP untuk suatu instans
Jalankan perintah chronyc sources untuk melihat status sumber waktu yang dikonfigurasi (PTP dan NTP).
Contoh output:
Gambar berikut menunjukkan contoh instans yang telah diaktifkan dan dikonfigurasi layanan sinkronisasi waktu PTP. Instans tersebut memprioritaskan jam perangkat keras PTP untuk sinkronisasi dan mencapai akurasi tingkat nanodetik:

MS: Identifier sumber waktu.PHC0menunjukkan jam perangkat keras PTP, sedangkan alamat IP menunjukkan server NTP.#*menunjukkan sumber sinkronisasi saat ini, artinya instans menggunakan jam perangkat keras PTP untuk sinkronisasi.Stratum: Tingkat stratum sumber waktu. Nilai yang lebih kecil menunjukkan akurasi yang lebih tinggi (0 untuk jam atom atau GPS, 1 untuk sumber presisi tinggi yang terhubung langsung).Poll: Eksponen interval polling. Interval polling saat ini adalah2^Polldetik. Misalnya,Poll=4berarti 16 detik.Reach: Nilai oktal yang menunjukkan tingkat keberhasilan delapan upaya sinkronisasi terakhir.LastRx: Waktu sejak respons terakhir diterima, dalam satuan detik.Last sample: Offset jam dari pengukuran terakhir, dalam formatoffset [raw offset] +/- error. Ini mencerminkan selisih antara waktu sistem dan waktu sumber.
Memantau kesehatan sinkronisasi waktu PTP
Jalankan perintah chronyc tracking untuk memantau dan mengevaluasi kesehatan jam sistem. Perintah ini menyediakan metrik dinamis seperti bias waktu, kesalahan frekuensi, dan latensi jaringan, yang membantu memastikan keandalan aplikasi sensitif waktu seperti perdagangan finansial.
Contoh output:
Seperti ditunjukkan pada gambar berikut, bias waktu berada pada tingkat nanodetik (System time = 1 ns, RMS offset = 1.175 ns), yang memenuhi persyaratan skenario presisi tinggi. Kesalahan frekuensi rendah (5,213 ppm), yang menunjukkan stabilitas jam perangkat keras yang baik:

System time: Bias saat ini antara jam sistem dan jam perangkat keras PTPPHC0.slowmenunjukkan bahwa waktu sistem 1 nanodetik lebih lambat (1 nanodetik = 10⁻⁹ detik).RMS offset: Offset root mean square jangka panjang, yaitu 1.175 nanodetik pada contoh ini. Ini mencerminkan stabilitas sinkronisasi waktu.Frequency: Bias frekuensi jam sistem.slowmenunjukkan bahwa jam lokal 5,213 mikrodetik lebih lambat per detik dibandingkan jam perangkat keras PTPPHC0(ppm = parts per million).Root delay: Latensi jaringan total ke sumber waktu akar. Latensi yang sangat rendah pada gambar menunjukkan lingkungan jaringan yang sangat stabil.
FAQ
Apakah saya dapat mengaktifkan atau menonaktifkan layanan sinkronisasi waktu PTP menggunakan OpenAPI?
Anda dapat mengaktifkan atau menonaktifkan layanan sinkronisasi waktu PTP.
Buat instans: Panggil RunInstances dan atur parameter PtpStatus dalam ClockOptions menjadi enabled atau disabled untuk membuat Instance ECS dengan layanan sinkronisasi waktu PTP diaktifkan atau dinonaktifkan.
Untuk instans yang sudah ada: Panggil ModifyInstanceClockOptions dan atur PtpStatus menjadi enabled atau disabled untuk mengaktifkan atau menonaktifkan layanan sinkronisasi waktu PTP untuk instans tersebut.
Jika panggilan berhasil, ID tugas (TaskId) akan dikembalikan. Anda dapat memanggil DescribeTasks, atur TaskAction menjadi ModifyInstanceClockOptions, dan atur TaskIds ke ID tugas yang sesuai, untuk mengecek status eksekusi tugas secara real-time.
Panggil DescribeInstances dan atur AdditionalAttributes menjadi CLOCK_OPTIONS untuk memastikan apakah layanan sinkronisasi waktu PTP diaktifkan untuk instans tersebut.
Panggil RunCommand dan jalankan perintah terkait untuk menyelesaikan konfigurasi.
Apakah PTP dapat digunakan bersama NTP?
Ya, bisa. PTP tidak memengaruhi NTP. chronyd menggunakan algoritma internal untuk memilih sumber jam terbaik. Berdasarkan konfigurasi, PTP diprioritaskan sebagai sumber jam.
Saat menginstal driver, muncul error "dkms: command not found".
Saat menginstal driver PTP, paket tool yang diperlukan akan diinstal terlebih dahulu. Tool dkms merupakan salah satu dependensi tersebut. Anda harus menyelesaikan masalah instalasi paket dkms. Untuk log error detail terkait kegagalan instalasi driver, lihat /var/log/ptp-cipu-ptp-monitor.log.
Skema 1: Konfigurasi sumber repo mungkin belum diperbarui. Perbarui sumber repo dan coba lagi.
Skema 2: Kunjungi website resmi dkms untuk mendapatkan paket instalasi yang sesuai.
Bagaimana cara mengaktifkan atau menonaktifkan auto-start untuk program ptp-monitor?
ptp-monitor adalah komponen operasi dan pemeliharaan (O&M) yang berjalan di instans. Kami merekomendasikan agar tetap dijalankan, meskipun tidak wajib. Secara default, komponen ini dikonfigurasi untuk berjalan otomatis saat boot.
Nonaktifkan auto-start saat boot.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --disable-serviceAktifkan auto-start saat boot.
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --enable-service
Bagaimana cara menguninstal driver PTP?
Driver PTP diberi nama ptp_cipu. Driver ini diperlukan untuk fitur PTP dan instalasinya tidak memengaruhi instans. Untuk menguninstal driver PTP, jalankan perintah Asisten Cloud berikut:
acs-plugin-manager --exec --plugin ACS-PTP-Monitor --params --uninstall