システム内のゾンビ発見:CPUボトルネックの実体験 ノート

システム内のゾンビ発見:CPUボトルネックの実体験

PinterestのMLプラットフォームチームは、断続的なネットワーク接続の問題によりRayベースのトレーニングジョブがクラッシュするという問題に直面し、PinComputeチームが調査に乗り出しました。3ヶ月にわたる調査の結果、この障害はAWS EC2インスタンス上のENAネットワークドライバーのリセットと相関していることが明らかになりました。CPUの枯渇によって引き起こされるこれらのリセットは、高いシステムCPU使用率と関連していました。当初、チームはヒュージページやメモリ割り当て器の使用など、さまざまな解決策を試しましたが、いずれも問題を解決できませんでした。奇妙なことに、問題はPinterestのAWSアベイラビリティゾーンのうちの1つでしか発生していませんでした。perfとmpstatを使用したプロファイリングにより、単一CPUコアの飽和が発生しているインスタンスが特定されました。perfを使用した時間的プロファイリングにより、断続的に高いCPUリソースを消費するプロセスが原因であることが判明しました。そのプロセスはゾンビプロセスであることが特定されました。ゾンビの発見とそのCPU使用率およびネットワークドライバーのパフォーマンスへの影響は、システムボトルネックのより深い理解につながりました。
CdXz5zHNQW_ETi1Y6sqJq.png