著者
小堀 和人 李 忠翰 廣津 登志夫
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2022-OS-155, no.1, pp.1-9, 2022-05-19

近年普及の進んでいるマイクロサービスアーキテクチャでは,多数のモジュールが目的や状況に応じて柔軟に連携しあうため,構成が複雑になりやすくシステム全体を通した性能分析や負荷状況の把握が困難である.このような分散した複数のモジュールからなるサービスの実行状況の監視や性能の分析のためには分散トレーシングが用いられる.分散トレーシングでは,各マイクロサービス上で収集した統計情報の整合性を確保するため,サーバ間の高精度な時刻同期が重要である.Linux 上の高精度時刻同期プロトコル (Precision Time Protocol: PTP) の実装では,NIC のドライバ上でパケットのタイムスタンプを取得することで時刻同期の精度を向上させることができるが,これはドライバの実装に依存するためより汎用な仕組みで実現することが望ましい.本研究ではカーネルが提供する機能の一つである eBPF を用い,可搬性の高い高精度時刻同期を実現した.その設計と実装について述べるとともに,PTP マスタとの同期のずれの推移を元に,本提案実装がドライバ依存の実装と同等の性能を持つことを示す.