@techreport{oai:ipsj.ixsq.nii.ac.jp:02002122, author = {若林,大起 and 石黒,健太 and 河野,健二}, issue = {11}, month = {May}, note = {近年,コードの肥大化・複雑化などを背景に,タスクスケジューラには不具合が入りやすくなっており,LinuxやFreeBSD標準搭載のものでも性能に大きな影響を与える不具合が発見されている.クラッシュといった明確な障害を伴わないことが多いスケジューラの不具合は,一般的なデバッグ手法をそのまま適用することが難しく,これまで発見に多くの時間を要してきた.これまでは,カーネルのスケジューリング・アルゴリズム部分のみを換装し,同一処理を実行した際の性能を比較することで不具合を探すアプローチが取られてきた.スケジューラの動作は電力制御などの機構からも影響を受ける一方で,既存研究ではこのようなアルゴリズム以外の機構が原因となる不具合を発見することが難しい.本論文では,このようなスケジューリング・アルゴリズム以外の変更によって,スケジューリングに無視できない悪影響が及ぶ「ファントム・スケジューリング問題」が発生することを指摘する.異なるカーネルバージョン間で同一ベンチマークを実行し,実行時間が変化したワークロードにおいてGitコミット単位での性能比較を繰り返し行うことで,ファントム・スケジューリング問題に該当する不具合を検出した.分析の結果,amd-pstateドライバにおけるコア優先度の有効化コミットにより発生したスケジューリング挙動の変化によって,PARSECベンチマークにおける特定のワークロードの性能が大幅に劣化することを特定した.原因としてスレッドが起床した際にアイドルコアが選択されない点を指摘し,改善案を示した.}, title = {包括的なカーネル差分比較によるLinuxタスクスケジューラの不具合検出}, year = {2025} }