Dependable Responsive Multithreaded Processor

信学技報
TECHNICAL REPORT OF IEICE.
社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
Dependable Responsive Multithreaded Processor における
低遅延リアルタイム実行
溝谷 圭悟†
羽鳥 雄介†
久村 雄輔†
高須 雅義†
千代 浩之††
山崎 信行††
† 慶應義塾大学 大学院理工学研究科
†† 慶應義塾大学 理工学部
E-mail: †{mizotani,hatori,yusuke,takasu,chishiro,yamasaki}@ny.ics.keio.ac.jp
あらまし 近年の組込みリアルタイムシステムにおいて,ハードリアルタイムタスクとソフトリアルタイムタスクの混
在するシステムが多く存在する.ソフトリアルタイムタスクは優先度が低くスループットが重要視される一方で,ハー
ドリアルタイムタスクは高い優先度を持ち短い周期で実行される.本研究では Dependable Responsive Multithreaded
Processor を用いて,高優先度のハードリアルタイムタスクをリアルタイムスケジューラから分離してより短い周期
で実行を行う低遅延リアルタイム実行機構を提案する.また,同時に低優先度のタスクはリアルタイムスケジューラ
によりスケジューリングを行うことで全体のスループットを保つ.実機評価では低遅延リアルタイム実行機構により
50 µs の周期でタスクを実行し,低遅延リアルタイム実行機構によるオーバヘッドとジッタが充分に小さいことを示す.
キーワード 組込みリアルタイムシステム,リアルタイムスケジューリング,同時マルチスレッディング
A Low Latency Real-Time Execution on
Dependable Responsive Multithreaded Processor
Keigo MIZOTANI† , Yusuke HATORI† , Yusuke KUMURA† ,
Masayoshi TAKASU† , Hiroyuki CHISHIRO†† , and Nobuyuki YAMASAKI††
† Graduate School of Science and Technology, Keio University
†† Faculty of Science and Technology, Keio University
E-mail: †{mizotani,hatori,yusuke,takasu,chishiro,yamasaki}@ny.ics.keio.ac.jp
Abstract In recent embedded real-time systems, there are many systems with both hard real-time tasks and soft
real-time tasks. While a soft real-time task has a low priority and its throughput is important, a hard real-time task
has a high priority and is executed in a short period. In this paper, we propose a low latency real-time execution
mechanism which separates a hard real-time task with a high priority from the real-time scheduler and executes that
task in a shorter period. We implement this mechanism by use of Dependable Responsive Multithreaded Processor.
At the same time, low priority tasks are scheduled by the real-time scheduler, and hence the entire throughput is
maintained. In our experimental evaluation, the low latency real-time execution mechanism executes a task in the
period of 50 µs, and hence we show that its overhead and jitter are enough small.
Key words Embedded Real-Time System, Real-Time Scheduling, Simultaneous Multithreading
1. 序
論
近年では組込みリアルタイムシステムの多機能化に伴い,同
れるようなハードリアルタイムタスクでは,デッドラインまで
にタスクの実行が必ず完了することが要求される.このような
タスクは高い優先度が与えられ,短い周期での実行が要求され
じシステム内でハードリアルタイムタスクとソフトリアルタイ
る.一方で,画像処理などのソフトリアルタイムタスクでは,
ムタスクが混在する場合が多く存在する.モータ制御に代表さ
デッドラインまでにタスクの実行が完了できなかったとしても
—1—
システムにとって致命的なエラーにならない.このようなタス
始ジッタとして定義する.τi,j における相対開始ジッタ RRJi,j
クではリアルタイム性よりもスループットが重要視される場合
は RRJi,j = |(si,j − ri.j ) − (si,j−1 − ri,j−1 )| で定義される.
が多い.また,ソフトリアルタイムタスクは多くの場合でハー
2. 2 リアルタイムスケジューラ
ドリアルタイムタスクよりも優先度が低く,長い周期が与えら
リアルタイムシステムにおいてリアルタイム性を満たしつ
れる.
つ複数のタスクを処理するためにはリアルタイムスケジュー
このようにハードリアルタイムタスクとソフトリアルタイ
ラが必要である.代表的なリアルタイムスケジューリングア
ムタスクの混在するシステムにおいては,リアルタイム性と
ルゴリズムとして Earliest Deadline First(EDF)[2] や Rate
スループットの両立が要求されるため,リアルタイム性を満た
Monotonic(RM)[3] がある.このようなアルゴリズムを用い
す範囲でタスクにプロセッサ時間を割り当てるリアルタイムス
て,リアルタイムスケジューラはリアルタイム性を満たす範囲
ケジューラが必要となる.特にモータ制御などのハードリアル
で複数のタスクをスケジュールし,システムのスループットを
タイムタスクは,精度の高い制御のためにより短い周期と小
向上させる.
さいジッタでの実行が要求される.しかしながら,組込みリア
一方で,スループットが重要視される画像処理に代表される
ルタイムシステムで用いられるプロセッサでは,コストや消費
ようなソフトリアルタイムタスクとは異なり,モータ制御のよ
電力などの制約から汎用のプロセッサよりも低い周波数で動作
うなハードリアルタイムタスクでは制御の精度を高めるために
させることが望ましい.このようなプロセッサ上では,リアル
より短い周期での実行が要求される.特にモータ制御などのタ
タイムスケジューラによってスケジューリング時に実行するタ
スクでは実行周期のジッタが小さいことも要求される.実行周
スクの選択などのオーバヘッドが発生するため,数十マイクロ
期が短いほどジッタによる影響は大きくなるため,短い周期で
秒単位の周期実行は非常に困難であり,数百マイクロ秒からミ
の実行ではジッタを抑えることもより重要となる.しかしなが
リ秒単位での周期実行が限界であることが多い.本研究では
ら,リアルタイムスケジューラではスケジューリングの各処理
優先度付き Simultaneous Multithreaded(SMT)プロセッサ
によってオーバヘッドが発生するため,数百マイクロ秒単位で
である Dependable Responsive Multithreaded Processor(D-
の周期実行が限界であることが多く,スケジュールするタスク
RMTP)[1] を用いた,非常にオーバヘッドの小さい低遅延リア
数に応じてオーバヘッドも変化するためジッタも非常に大きい.
ルタイム実行機構を提案する.優先度の低いタスクは時間粒度
図 1 にリアルタイムスケジューラによるタスクの実行例を示す.
の粗いリアルタイムスケジューラでスケジューリングを行い,
同時に実行可能なスレッド数は 2 とする.タスクがリリースし
優先度が高くより短い周期での実行が必要なタスクは低遅延リ
てから実行開始するまでにリアルタイムスケジューラによる処
アルタイム実行機構を用いてスケジューラの管理するタスクと
理が行われるためにより短い周期での実行が難しく,リアルタ
は別に実行する.このような低遅延リアルタイム実行機構を実
イムスケジューラの処理の時間の変動によって大きなジッタが
装することで,数十 MHz 単位のプロセッサ周波数で数十マイ
発生する.
クロ秒周期でのタスク実行を実現する.本研究では実機上で提
また,小さなジッタでの短い周期実行を可能とする Linux
案した機構の実装を行い,低遅延リアルタイム実行機構とリア
カーネルに対応したリアルタイム OS として ART-Linux [4] の
ルタイムスケジューラのオーバヘッドを測定し比較を行う.ま
開発が行われている.ART-Linux ではハードリアルタイムタス
た,提案した機構で実際に 62.5 MHz の動作周波数で 50 µs の
ク実行時のスケジューラによる遅延を削減するために,タスク
周期でタスクを実行し,そのジッタを測定して評価を行った.
をスケジューラから分離してオーバヘッドの小さな周期実行を
本論文の構成は次のとおりである.まず,2. で背景につい
可能とするシステムコールを提供している.これにより Linux
て述べる.次に,3. で本研究が対象とするプロセッサである
との互換性を保ちつつミリ秒単位の周期実行を実現し,タスク
D-RMTP について述べる.4. で低遅延リアルタイム実行機構
実行時のジッタを小さく抑えることに成功している.しかしな
について述べ,5. で実機評価およびその考察を行う.最後に,
がら,Linux カーネルをベースとしているためにオーバヘッド
6. で結論を述べる.
は大きく,GHz 単位の周波数のプロセッサ上でマイクロ秒単位
2. 背
景
のジッタが発生している.
本研究では D-RMTP と D-RMTP 向けに独自開発した OS [5]
2. 1 システムモデル
を用いることでよりオーバヘッドとジッタのより小さい低遅延
本研究が対象とする組込みリアルタイムシステムにおけるシ
リアルタイム実行機構の実装を行い,数十 MHz の動作周波数
ステムモデルについて述べる.システムには n 個の独立した周
期タスクで構成されるタスクセット Γ = {τ1 , τ2 , . . . , τn } が与
えられる.各タスク τi は (Ci , Ti , Di ) のパラメータを持つ.Ci
は最悪実行時間,Ti は周期,Di は相対デッドラインである.今
でありながら数十マイクロ秒での周期実行を実現する.
3. Dependable Responsive Multithreaded
Processor
回扱うモデルでは相対デッドラインは周期に等しいものとする.
3. 1 D-RMTP の概要
また,τi の j 番目のインスタンスを τi.j とし,そのリリースの
D-RMTP は組込みリアルタイムシステム向けに開発された
時刻を ri,j ,実行を開始する時刻を si,j ,実行が完了する時刻を
優先度付き SMT プロセッサである [1].D-RMTP は 1 つのプ
fi.j とする.本論文ではタスクの実行におけるジッタを相対開
ロセッサ内で最大 8 スレッドまで同時実行可能であり,同時実
—2—
図 1 リアルタイムスケジューラによるタスクの実行例
Fig. 1 Execution Example of Tasks by Real-Time Scheduler.
図 2 スレッドの状態遷移
Fig. 2 State Transition of Thread.
表 1 D-RMTP の構成
Table 1 Outline of the D-RMTP.
Clock frequency
62.5 MHz
Active Thread
8
Fetch Width
8
Integer Register
32 bit × 32 entry × 8 set
Floating Point Register
64 bit × 8 entry × 8 set
ALU
4 + 1 (Divider)
FPU
2 + 1 (Divider)
Branch Unit
2
Memory Access Unit
1
表 2 スレッド制御命令
Table 2 Thread Control Instruction.
命令
内容
mkth
新たにスレッドを生成する
delth
指定したスレッドを削除する
runth
指定スレッドを Active Thread RUN 状態に遷移させる
stopth
指定スレッドを Active Thread STOP 状態に遷移させる
stopslf
自身を Active Thread STOP 状態に遷移させる
bkupth 指定スレッドをコンテキストキャッシュに退避する
bkupslf 自身をコンテキストキャッシュへ退避する
rstrth
指定したキャッシュスレッドを復帰させる
行する各スレッドのハードウェア資源の利用に対して優先度を
swapth
アクティブスレッドとキャッシュスレッドを交換する
設定することができる.これにより低い動作周波数で高いス
swapslf
自身と指定したキャッシュスレッドを交換する
ループットを実現すると同時に,高優先度スレッドのリアルタ
イム性を満たす.
表 1 に D-RMTP の構成を示す.キャッシュは命令キャッシュ
4. 低遅延リアルタイム実行機構
およびデータキャッシュを 32 KByte ずつ備え,SRAM は 64
4. 1 概
KByte,SDRAM は 64 MByte を備えている.本研究ではメ
本研究ではより短い周期と小さいジッタでの実行を実現する
要
モリアクセスによる遅延を軽減するために SRAM 上でソフト
ため,リアルタイムスケジューラからハードリアルタイムタス
ウェアの実装を行う.
クを分離して D-RMTP の機能を用いて周期実行する低遅延リ
3. 2 スレッド制御機構
アルタイム実行機構を提案する.低遅延リアルタイム実行機
D-RMTP は 1 つのプロセッサ内で同時実行可能なため,ス
構では,高優先度のハードリアルタイムタスク 1 つに対して
レッドの管理と制御を行うスレッド制御機構を持つ.図 2 に
D-RMTP の 8 つあるハードウェアコンテキストの内 1 つを専用
D-RMTP におけるスレッドの状態遷移図を,表 2 にスレッド
で割り当ててリアルタイムスケジューラを介さずにハードウェ
制御命令の一覧を示す.表 2 中のスレッド制御命令によって図
アタイマによる周期実行を行う.また,以降ではこの低遅延リ
2 に示されるように状態が遷移する.プロセッサが実行するス
アルタイム実行機構により実行されるタスクを Non-Scheduler
レッドはハードウェアコンテキストを持ち Active Thread RUN
Task と表記する.これによりオーバヘッドの小さい周期実行
の状態にあるスレッドのみである.Active Thread STOP の状
を実現するが,ハードウェアコンテキスト 1 つでタスクを 1 つ
態のスレッドはハードウェアコンテキストは持っているが実行
しか実行できないためにスループットは低下する.そこで,同
されず,Cache Thread の状態のスレッドは専用のオンチップ
時に低優先度のタスクは従来のリアルタイムスケジューラによ
メモリであるコンテキストキャッシュ [6] に退避されている.ま
り実行することで,全体のスループットを保つ.この時,低遅
た,D-RMTP は割込みによってスレッドの状態を遷移させるこ
延リアルタイム実行機構のスレッドは高優先度に,リアルタイ
とができる.Active Thread STOP の状態にあるスレッドに対
ムスケジューラによって実行されるタスクのスレッドは低優先
して割込みが発生した場合,対象のスレッドは Active Thread
度に設定することで,同時実行により高優先度のハードリアル
RUN の状態に遷移して割込みベクタへと処理が移る.
タイムタスクのリアルタイム性が損なわれることのないように
する.
図 3 に低遅延リアルタイム実行機構とリアルタイムスケジュー
ラによるタスクの実行の様子を示す.図 1 と同様に同時に実行
—3—
図 3 低遅延リアルタイム実行機構とリアルタイムスケジューラによ
図 4 D-RMTP 用評価キット
るタスクの実行例
Fig. 3 Execution Example of Tasks by Low Latency Execution
Fig. 4 Evaluation Kit for D-RMTP.
Mechanism and Real-Time Scheduler.
可能となる.
されるスレッド数の合計は 2 とする.最高優先度のタスクを
Non-Scheduler Task とし,それ以外の低優先度タスクをリア
5. 評
価
ルタイムスケジューラにより実行する.Non-Scheduler Task
5. 1 評 価 環 境
の実行にはリアルタイムスケジューラのオーバヘッドが発生し
本研究で実装を行った低遅延リアルタイム実行機構について
ないため,より短い周期と小さいジッタでの実行が可能とな
実機評価を行う.図 4 に D-RMTP 評価キットの外観を示す.
る.また,図 1 と比べて周期の短いタスクをリアルタイムスケ
D-RMTP 評価キットは D-RMTP SoC と SDRAM,Flash な
ジューラから分離したことで,スケジューラ呼び出しの回数が
どを集積した System in Package(SiP)を搭載している.SiP
減りカーネルコードの実行によるシステム全体のオーバヘッド
の他には各種 I/O 用のピンや FPGA,発振器などを搭載して
が減少する.
おり,この評価キットを用いて実機評価を行う.
4. 2 実
装
次に,実機評価に用いた各パラメータについて述べる.比較
低遅延リアルタイム実行機構の実装方法について述べる.D-
および同時実行するリアルタイムスケジューラとして,低優先
RMTP は 8 つのハードウェアコンテキストそれぞれに対して
度タスクのスループット向上のためにシングルスレッドで最適
ハードウェアタイマを持っている.これにより,Non-Scheduler
な EDF スケジューラを選択する.評価用タスクは ALU による
タスクは自身が割り当てられたハードウェアコンテキストのタ
演算を繰り返す四則演算タスクと主記憶へのアクセスを頻繁に
イマと,表 2 中の自身へのスレッドの停止命令(stopslf)を用
行い配列の各要素の加算を繰り返す配列演算タスクの 2 種類を
いることでリアルタイムスケジューラから独立した周期実行を
用意する.各タスクは Non-Scheduler Task の場合は実行時間
行う.
約 10 µs で最高優先度のタスクは周期 50 µs,それ以外のタス
また,低遅延リアルタイム実行機構ではオーバヘッドを可能
クは周期 80 µs とする.最高優先度の Non-Scheduler Task の
な限り小さく抑えるために,タイマ割込み発生時には割込みベ
リリース処理中に,低優先度タスクが処理を行い競合を起こす
クタからの復帰処理のみを行う.しかしながら,リアルタイム
状況で評価するためにこのように周期をずらして実行する.ま
スケジューラはタイマ割込み発生時にスケジューリングの処理
た,EDF でスケジュールするタスクは周期 5 ms で実行時間約
を行う必要があり,この 2 つの処理を併用可能とするためには
500 µs で実行する.今回は同時実行するスレッド間で主記憶へ
判定と分岐の処理が必要となる.このような処理を行うと低遅
のアクセスが競合した場合の評価を取るために,タスクはキャッ
延リアルタイム実行機構で余分なオーバヘッドが発生してしま
シュを無効にして実行する.一方で,リアルタイムスケジュー
うため,D-RMTP の機能を用いて余計な命令を実行することな
ラの処理中は低遅延リアルタイム実行機構とのオーバヘッドの
く異なる 2 種類の割込み処理を実装する.D-RMTP では例外
比較評価の公平性のためにキャッシュを有効にしている.
および割込み発生時に,登録されたアドレスに例外および割込
5. 2 オーバヘッドの評価
みの種類に応じたオフセットを加えたアドレスへとプログラム
低遅延リアルタイム実行機構と EDF スケジューラの,周期タ
カウンタを移す.そこで,低遅延リアルタイム実行機構はハー
スクの到着からタスクを実行開始するまでのオーバヘッドを計
ドウェアコンテキストのタイマを,リアルタイムスケジューラ
測した.評価結果はハードウェアタイマのカウンタ値を取得し
は D-RMTP の System on Chip(SoC)内のパルスカウンタ
て,タイマ割込みが発生してから周期タスクに戻るまでのサイ
のタイマをそれぞれ使用することで,割込み発生時に判定と分
クル数を計測した.測定時間 100 ms における平均値を評価結
岐処理を行わずにそれぞれの異なる処理を行うことができる.
果として用いた.図 5 にオーバヘッドの評価結果を示す.タス
このように実装を行うことで,低遅延リアルタイム実行機構は
クはシングルスレッド実行として,Non-Scheduler Task 1 個の
割込み発生時にほとんど命令を実行せずに割込みから復帰する
場合(Non1)と EDF スケジューラでタスクを 1 個(EDF1),
ことができ,なおかつ既存のリアルタイムスケジューラと併用
3 個(EDF3),6 個(EDF6)スケジュールした場合で比較を
—4—
表 3 相対開始ジッタの評価結果
70
Table 3 Evaluation Result of Relative Release Jitter.
60
Non1 Non2 Non3 N1E1 N1E3 N1E6
Overhead [µs]
50
ALU
40
30
MEM
20
最大値 [µs]
0
0.096 0.416
0.352
0.624
0.464
平均値 [µs]
0
0.010 0.033
0.004
0.007
0.012
標準偏差 [µs]
0
0.018 0.067
0.020
0.042
0.048
最大値 [µs]
0
0.400 0.768
0.320
0.368
0.432
平均値 [µs]
0
0.040 0.113
0.011
0.032
0.069
標準偏差 [µs]
0
0.080 0.160
0.039
0.058
0.068
10
0
高優先度タスクに与えられた周期である 50 µs から離れるほど
Non1
EDF1
EDF3
EDF6
図 5 カーネルによるオーバヘッド
Fig. 5 Overhead by Kernel Code.
相対開始ジッタが大きいことを示す.更に,図 7(b) を拡大した
ものを図 8 に示す.
D-RMTP は優先度付き SMT であり,最高優先度のスレッ
ドは優先的にハードウェアの資源を使用することができるが,
行った.シングルスレッド実行ではカーネルによるオーバヘッ
完全に競合をなくすことはできず最高優先度のスレッドにお
ドはタスクの処理内容に依存しないため,四則演算タスクのみ
いても相対開始ジッタが生じている.表 3 より Non-Scheduler
で評価を行った.グラフの縦軸は計測したオーバヘッドの時間
Task の数やスケジュールするタスク数の増加に伴い競合の発
を表している.
生が多くなり相対開始ジッタが増加していることが見て取れる.
図 5 より低遅延リアルタイム実行機構ではタイマ割込みが
また,低遅延リアルタイム実行機構はタイマ割込み発生からタ
発生してから周期タスクの実行を再開するまでに 0.944 µs と,
スク実行再開まで極少数の命令しか実行しないため,四則演算
数十マイクロ秒周期でのタスクの実行を充分に実現可能とす
タスクとの競合により発生する相対開始ジッタは小さいが,主
るオーバヘッドに抑えることができている.一方で,EDF ス
記憶へのアクセスが頻発する配列演算タスクを実行した場合,
ケジューラはタスクが 1 個の場合でも 13.695 µs のオーバヘッ
主記憶へのアクセスで競合が発生するために相対開始ジッタは
ドが発生し,タスク数を増やすとリリース処理の増加によって
大きくなる.特に図 7(b) および図 8 より EDF スケジューラの
オーバヘッドは更に増加する.今回はスケジュールする全タス
タスクの周期 5 ms ごとにタスクの実行によって相対開始ジッ
クを同じ周期として評価を行ったが,この結果から周期の異な
タが発生している様子が見て取れる.しかしながら,50 µs の
るタスクをスケジュールした場合にリリースするタスク数の変
周期に対して相対開始ジッタは最大でも約 1.5%程度で平均値
化によって大幅なジッタが発生することが予想できる.よって
では 0.3%以下と,数十マイクロ秒単位の周期でタスクを実行
リアルタイムスケジューラではより周期の短いタスクの実行は
しても充分に小さいジッタであるといえる.
困難であるといえる.ただし,低遅延リアルタイム実行機構は
1 つのハードウェアコンテキストにつき 1 タスクしか実行でき
ないため,全体のスループットを保つためにはリアルタイムス
ケジューラとの併用が必要となる.
6. 結
論
本研究では優先度付き SMT プロセッサである D-RMTP を
用いて低遅延リアルタイム実行機構の実装を行い,リアルタイ
5. 3 ジッタの評価
ムスケジューラと併用可能とすることで全体のスループットを
最高優先度の Non-Scheduler Task において複数スレッドの
保ちつつハードリアルタイムタスクをより短い周期で実行可能
同時実行によって生じる相対開始ジッタを評価した.オーバ
とした.実機評価により,62.5 MHz の動作周波数でありながら
ヘッドの評価と同様に,ハードウェアタイマのカウンタ値を用
低遅延リアルタイム実行機構におけるタスクの実行開始のオー
いて測定時時間 100 ms における相対開始ジッタの評価を行っ
バヘッドが 0.944 µs と非常に小さい値であることを示した.ま
た.表 3 に四則演算タスクを実行した場合(ALU)と配列演
た,実際に 50 µs の周期でタスクを動作させ,他のスレッドを
算タスクを実行した場合(MEM)の相対開始ジッタの評価結
同時実行させた場合の相対開始ジッタも充分に小さい値である
果をそれぞれ示す.Non-Scheduler Task 1 個(Non1),2 個
ことを示した.
(Non2),3 個(Non3)の場合と,Non-Scheduler Task1 個を
今後の課題としては,低優先度で実行されるリアルタイムス
実行しつつ同時に EDF スケジューラでタスクを 1 個(N1E1),
ケジューラのスケジューラビリティについて評価を行う予定で
3 個(N1E3),6 個(N1E6)スケジュールしてシングルスレッ
ある.また,実際にモータ制御などで用いられるタスクセット
ド実行した場合で比較を行った.また,図 6 と図 7 に N1E6 と
をベンチマークとして用いての評価も行う予定である.
Non2 における測定時間中の最高優先度タスクの実行周期の変
化をそれぞれ示す.横軸はシステム時刻,縦軸は最高優先度の
謝辞 本研究は科学技術振興機構 CREST の支援によるもの
であることを記し,謝意を表す.
Non-Scheduler Task の実行開始の周期を表す.縦軸の値が最
—5—
50.8
50.6
50.6
50.4
50.4
50.2
50.2
Period [µs]
Period [µs]
50.8
50
49.8
50
49.8
49.6
49.6
49.4
49.4
49.2
0
20
40
60
80
49.2
100
0
20
40
Time [ms]
60
80
100
80
100
Time [ms]
(a) 四則演算タスク実行時
(b) 配列演算タスク実行時
図 6 最高優先度タスクの実行周期の推移(Non2)
50.8
50.8
50.6
50.6
50.4
50.4
50.2
50.2
Period [µs]
Period [µs]
Fig. 6 Execution Period Transition of Highest Priority Task (Non2).
50
49.8
50
49.8
49.6
49.6
49.4
49.4
49.2
0
20
40
60
80
100
49.2
0
20
40
Time [ms]
60
Time [ms]
(a) 四則演算タスク実行時
(b) 配列演算タスク実行時
図 7 最高優先度タスクの実行周期の推移(N1E6)
Fig. 7 Execution Period Transition of Highest Priority Task (N1E6).
文
50.8
50.6
Period [µs]
50.4
50.2
50
49.8
49.6
49.4
49.2
0
2
4
6
8
Time [ms]
図 8 実行周期の拡大図
Fig. 8 Magnified View of Execution Period Transition.
10
献
[1] K. Suito, R. Ueda, K. Fujii, T. Kogo, H. Matsutani, and
N. Yamasaki, “The Dependable Responsive Multithreaded
Processor for Distributed Real-Time Systems,” IEEE Micro, vol.32, no.6, pp.52–61, Dec. 2012.
[2] C. L. Liu and J. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” Journal
of the ACM, vol.20, no.1, pp.46–61, Jan. 1973.
[3] J. Lehoczky, L. Sha, and Y. Ding, “The Rate Monotonic
Scheduling Algorithm: Exact Characterization and Average
Case Behavior,” In Proceedings of the 20th IEEE Real-Time
Systems Symposium, pp.166–171, 1989.
[4] 石綿陽一,加賀美聡,西脇光一,松井俊浩,“シングル CPU 用
ART-Linux 2.6 の設計と開発,
” 日本ロボット学会誌,vol.26,
no.6,pp.78–84,Sept. 2008.
[5] 溝谷圭悟,上田陸平,高須雅義,千代浩之,松谷宏紀,山崎信
行,“インプリサイス計算モデルにおける温度を考慮した動的電
圧周波数制御の実機評価,
” 情報処理学会論文誌,vol.55,no.8,
pp.1841–1855,Aug. 2014.
[6] N. Yamasaki, “Responsive Multithreaded Processor for Distributed Real-Time Systems,” Journal of Robotics and
Mechatronics, vol.17, no.2, pp.130–141, April 2005.
—6—