著者
山田 真大 林 和宏 鈴木 章浩 岡本 幸太 小林 良岳 本田 晋也 高田 広章
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2013-OS-126, no.18, pp.1-7, 2013-07-24

組込み向け機器に利用されるハードウェアの高性能化に伴い,組込み OS として Linux などの汎用 OS が搭載されるようになった.組込み機器では,リアルタイム性が重要視されるため,Linux を採用する場合,カーネルに改良を施すことでリアルタイム性を確保している.また,マルチコア CPU を搭載する組込み機器では,Linux が持つ CPU affinity の機能を用いることで,シングルコアでは不可能であった高負荷時におけるリアルタイム性も確保することが可能になった.しかし,CPU コア毎に存在するカーネルスレッドは CPU affinity を適用することができず,また,この処理がまれに引き起こすタイマのカスケード処理には多くの処理時間を必要とし,リアルタイム性を阻害する原因となる.本論文では,マルチコア CPU の各コアを,リアルタイム性を必要とする CPU コアと不要とする CPU コアに分割し,リアルタイム性を必要とする CPU コアでは,タイマのカスケード処理を発生させないよう事前に対策を施すことで,リアルタイム性を確保する手法を提案する.
著者
山田 真大 林 和宏 鈴木 章浩 岡本 幸太 小林 良岳 本田 晋也 高田 広章
出版者
一般社団法人情報処理学会
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS)
巻号頁・発行日
vol.2013, no.18, pp.1-7, 2013-07-24

組込み向け機器に利用されるハードウェアの高性能化に伴い,組込み OS として Linux などの汎用 OS が搭載されるようになった.組込み機器では,リアルタイム性が重要視されるため,Linux を採用する場合,カーネルに改良を施すことでリアルタイム性を確保している.また,マルチコア CPU を搭載する組込み機器では,Linux が持つ CPU affinity の機能を用いることで,シングルコアでは不可能であった高負荷時におけるリアルタイム性も確保することが可能になった.しかし,CPU コア毎に存在するカーネルスレッドは CPU affinity を適用することができず,また,この処理がまれに引き起こすタイマのカスケード処理には多くの処理時間を必要とし,リアルタイム性を阻害する原因となる.本論文では,マルチコア CPU の各コアを,リアルタイム性を必要とする CPU コアと不要とする CPU コアに分割し,リアルタイム性を必要とする CPU コアでは,タイマのカスケード処理を発生させないよう事前に対策を施すことで,リアルタイム性を確保する手法を提案する.With the increase in hardware performance of modern embedded systems, general-purpose operating systems (OS) such as Linux are commonly used as embedded OSs. Furthermore, the use of multi-core CPUs enables Linux to improve its real-time performance even on high-load scenarios which is rather hard to achieve on single-core CPUs thanks to its "CPU affinity" functionality. However, we found two issues in the current version of the Linux kernel: the CPU affinity of some kernel threads cannot be specified; and the use of timer cascading (use of multiple hardware timers to count time) increases the worst-case response time of real-time tasks. In this paper, we classify the cores in a multi-core CPU into 2 different groups: cores which require real-time performance guarantees; and cores which do not require such guarantees. Then, we propose and evaluate a method that improves the real-time performance of the system by disabling timer cascading on cores which require real-time performance guarantees.