丸山 修孝 ルネサスエレクトロニクス(株) 主幹技術者 |
[背景]組込みシステムにおけるRTOSの重要性
[問題]RTOSのオーバヘッドによる組込みシステムの性能劣化
[貢献]学術的な貢献や応用:RTOSのハードウェア化による組込みシステムの性能向上
[問題]RTOSのオーバヘッドによる組込みシステムの性能劣化
[貢献]学術的な貢献や応用:RTOSのハードウェア化による組込みシステムの性能向上
(a)研究の背景
近年,さまざまな機器が組込みソフトウェアにより制御されている.組込みシステム用ソフトウェアであっても制御すべき内容は複雑であり,複数のソフトウェア・モジュールより構成されるのが一般的である.このように複数のソフトウェア・モジュールからなるシステムにおいてはリアルタイムOS(RTOS)を実装し,この上にアプリケーションソフトウェア(タスクという)を実装する.RTOSは複数のタスクのスケジューリングを行い,またタスク間での同期機能や通信機能など共通で使用できる機能を提供する. RTOSを利用することにより,システムの信頼性向上やソフトウェア開発生産性向上を実現することができるため組込みシステムではRTOSを利用することが望ましい.
(b)対象問題
一方でRTOSは複雑な共通機能を提供するため,そのオーバヘッド時間が問題になる場合がある. ネットワークプロトコル処理は複数の処理が同時に実行されるため,頻繁にタスク切換を行いながら処理が実行される.このため頻繁にRTOS機能がCallされるしたがって,ネットワーク処理におけるRTOS処理のCPU占有率はきわめて高く,実験結果ではプロトコル処理(チェックサムなど単純処理を除く)の3倍ものCPU時間をRTOS処理が占有している.したがってRTOSの性能を向上することができれば大幅にネットワーク性能を向上することが可能である.
機械制御においては高度なリアルタイム処理を実現することが重要であり,RTOSのオーバヘッドがリアルタイム処理を実現する上で障害になり,要求性能が厳しいアプリケーションではRTOSを使用することができない.RTOSの性能を向上させることができればRTOSを使用でき,上記RTOSのメリットを享受できる.
(c)学術的な貢献
本研究では,RTOS性能を著しく向上させため,RTOSのハードウェア化を提案する.RTOSのハードウェア化により,コアの性能を上げることなく(大幅に消費電力・コストを増加させることなく),アプリケーション性能を大幅に向上させることができる.
本研究で開発したハードウェア化RTOS(HWRTOS)の性能を測定した.従来のソフトウェアRTOS(SWRTOS)のAPI実行時間が約300サイクル程度から600サイクル程度であるのに対し, HWRTOSの性能は10サイクル時間前後であり,従来比約30〜60倍の性能を達成した.本研究ではまたマルチコア対応のHWRTOSを提案した.管理情報のロックシステムとしてジャイアントロック方式を採用し,マルチコアRTOS特有の課題であるスタベーションや排他制御の課題を防止する回路を実装した.さらに,オリジナル Coreを8個実装した試作システムを開発し,機能・性能評価を行った結果, SWRTOSではコアを跨いだAPI実行時間が850〜900サイクル時間であったのに対し,開発したマルチコア対応HWRTOSでは25〜27サイクルであった.
本研究により,シングルコアおよびマルチコア組込みシステムにおいて低動作クロックレート,つまり大幅に消費電力・コストを増加させることなく,ネットワーク処理,機械制御処理の高速化の実現を可能にした.
近年,さまざまな機器が組込みソフトウェアにより制御されている.組込みシステム用ソフトウェアであっても制御すべき内容は複雑であり,複数のソフトウェア・モジュールより構成されるのが一般的である.このように複数のソフトウェア・モジュールからなるシステムにおいてはリアルタイムOS(RTOS)を実装し,この上にアプリケーションソフトウェア(タスクという)を実装する.RTOSは複数のタスクのスケジューリングを行い,またタスク間での同期機能や通信機能など共通で使用できる機能を提供する. RTOSを利用することにより,システムの信頼性向上やソフトウェア開発生産性向上を実現することができるため組込みシステムではRTOSを利用することが望ましい.
(b)対象問題
一方でRTOSは複雑な共通機能を提供するため,そのオーバヘッド時間が問題になる場合がある. ネットワークプロトコル処理は複数の処理が同時に実行されるため,頻繁にタスク切換を行いながら処理が実行される.このため頻繁にRTOS機能がCallされるしたがって,ネットワーク処理におけるRTOS処理のCPU占有率はきわめて高く,実験結果ではプロトコル処理(チェックサムなど単純処理を除く)の3倍ものCPU時間をRTOS処理が占有している.したがってRTOSの性能を向上することができれば大幅にネットワーク性能を向上することが可能である.
機械制御においては高度なリアルタイム処理を実現することが重要であり,RTOSのオーバヘッドがリアルタイム処理を実現する上で障害になり,要求性能が厳しいアプリケーションではRTOSを使用することができない.RTOSの性能を向上させることができればRTOSを使用でき,上記RTOSのメリットを享受できる.
(c)学術的な貢献
本研究では,RTOS性能を著しく向上させため,RTOSのハードウェア化を提案する.RTOSのハードウェア化により,コアの性能を上げることなく(大幅に消費電力・コストを増加させることなく),アプリケーション性能を大幅に向上させることができる.
本研究で開発したハードウェア化RTOS(HWRTOS)の性能を測定した.従来のソフトウェアRTOS(SWRTOS)のAPI実行時間が約300サイクル程度から600サイクル程度であるのに対し, HWRTOSの性能は10サイクル時間前後であり,従来比約30〜60倍の性能を達成した.本研究ではまたマルチコア対応のHWRTOSを提案した.管理情報のロックシステムとしてジャイアントロック方式を採用し,マルチコアRTOS特有の課題であるスタベーションや排他制御の課題を防止する回路を実装した.さらに,オリジナル Coreを8個実装した試作システムを開発し,機能・性能評価を行った結果, SWRTOSではコアを跨いだAPI実行時間が850〜900サイクル時間であったのに対し,開発したマルチコア対応HWRTOSでは25〜27サイクルであった.
本研究により,シングルコアおよびマルチコア組込みシステムにおいて低動作クロックレート,つまり大幅に消費電力・コストを増加させることなく,ネットワーク処理,機械制御処理の高速化の実現を可能にした.
(2015年6月7日受付)