@techreport{oai:ipsj.ixsq.nii.ac.jp:00218143,
 author = {小堀, 和人 and 李, 忠翰 and 廣津, 登志夫},
 issue = {1},
 month = {May},
 note = {近年普及の進んでいるマイクロサービスアーキテクチャでは,多数のモジュールが目的や状況に応じて柔軟に連携しあうため,構成が複雑になりやすくシステム全体を通した性能分析や負荷状況の把握が困難である.このような分散した複数のモジュールからなるサービスの実行状況の監視や性能の分析のためには分散トレーシングが用いられる.分散トレーシングでは,各マイクロサービス上で収集した統計情報の整合性を確保するため,サーバ間の高精度な時刻同期が重要である.Linux 上の高精度時刻同期プロトコル (Precision Time Protocol: PTP) の実装では,NIC のドライバ上でパケットのタイムスタンプを取得することで時刻同期の精度を向上させることができるが,これはドライバの実装に依存するためより汎用な仕組みで実現することが望ましい.本研究ではカーネルが提供する機能の一つである eBPF を用い,可搬性の高い高精度時刻同期を実現した.その設計と実装について述べるとともに,PTP マスタとの同期のずれの推移を元に,本提案実装がドライバ依存の実装と同等の性能を持つことを示す., The microservice architecture is widely used in recent years. In this architecture, there are many modules and they collaborate with each other based on their objective and functionality. In order to monitor the microservices, the distributed tracing is generally used. For the precise monitoring results, the high precision time synchronization is important and a timestamping method is normally used on NIC driver. However, the timestamp precision and synchronization depend on NIC and NIC driver implementation. Thus, it is desirable to realize a portable implementation of high precision time synchronization. In this research, we propose a portable precision time synchronization method using extended Berkeley Packet Filter (eBPF). The proposed method filters Precision Time Protocol (PTP) packets in Linux Kernel and provides the time synchronization method using both monotonic and real time timestamps. In our time synchronization experiments with PTP grandmaster, the proposed method has the similar performance in comparison with NIC driver implementation.},
 title = {高精度時刻同期機構のカーネル内汎用実装},
 year = {2022}
}