ソフトウェアプラットフォームの開発 ソフトウェアプラットフォ ムの開発

リ
タイム性を保証す
SpaceWireのリアルタイム性を保証する
ソフトウ アプラ トフ
ソフトウェアプラットフォ
ソフトウェアプラットフォームの開発
ムの開発
SpaceWireは宇宙機向けネットワーク規格として国内外の科学衛星への採⽤が始まっている。SpaceWireをより多く
の宇宙機や宇宙分野以外へも適⽤するために,SpaceWire上でのデータ転送にかかる時間を保証するためのリアルタ
イム性保証⼿法と,それをサポートするソフトウェアプラットフォームの開発が必要であると考えられる。
SpaceWireリアルタイム性保証⼿法検討会
SpaceWire-Dの懸念点
SpaceWire
Dの懸念点
・実効転送レートが低い
実効転送レ トが低い
名古屋⼤学,JAXA,宇宙関連企業に呼びかけて,2011年6⽉より検討会を発⾜
<2011年度の主な活動>
250 00
250.00
例:リンクレート:200Mbps
パケ トサイズ
パケットサイズ:256バイト
バイト
実効転送レート:30Mbps(15%)
p
・SpaceWireのリアルタイム性保証に関する要件収集
・SpaceWireを採⽤したプロジェクトで得られた知⾒や課題の整理
S
Wi を採⽤したプロジ クトで得られた知⾒や課題の整理
・成果:「SpaceWireリアルタイム性保証⼿法ガイドライン」の策定
200.00
150.00
・RMAPターゲットがH/Wで
あることを前提に設計
<2012年度の主な活動>
Time-Slot interval(us)
Average Data Rate(Mbps)
100.00
50.00
ターゲットがソフトウェア実装の場合は
さらにタイムスロット間隔が必要
・SpaceWire-Dをベースとする拡張・追加した提案プロトコルの検討、策定
・提案プロトコルをサポートするソフトウェアプラットフォームの開発
0.00
32
64
128
256
512
1024
2024 4096
RMAPのパケットサイズと実効転送レート
リアルタイム性保証⼿法による提案プ ト ルの策定
リアルタイム性保証⼿法による提案プロトコルの策定
・SpaceWireのリアルタイム性保証の考え⽅
p
・ネットワークをタイムスロットと呼ばれる単位で時分割する
・各タイムスロットで1つのRMAPトランザクションのスケジューリングを予め決定する
各タイム
ト
ト ンザクシ ン
ケジ
リングを予め決定す
・スケジュールの決定にはパケットの経路とそこで流れるパケットの最⼤滞留時間から算出
スケジュ ルの決定にはパケットの経路とそこで流れるパケットの最⼤滞留時間から算出
・SpaceWire-Dを拡張・追加した提案プロトコル
A
A
Subnet 2
・モードの概念の導⼊
モ ドの概念の導⼊
B
E
・サブネットの概念の導⼊(図1)
B
D
C
F
・柔軟なタイムスロットの導⼊(図2)
D
G
C
E
・分割RMAPトランザクションの導⼊
分割
ト
ザクシ
導⼊
Subnet 1
Subnet 2
Subnet 1
・任意の上位レイヤをサポート
任意の上位レイヤをサポ ト
▶ n=0,m=6
,
time-slot
time-code 0
time-code 0
▶ n
n=2
2,m
m=6
6
time-slot
・指定したタイムスロットにトランザクションを決定し送信するSpaceWire-D仕様を
指定したタイムスロットにトランザクションを決定し送信するS
Wi
D仕様を
ベースに拡張・追加した提案プロトコルを策定 開発
ベースに拡張・追加した提案プロトコルを策定,開発
・RMAPトランザクション,SpaceWireパケットに導⼊可能
RMAPトランザクション,SpaceWireパケットに導⼊可能
・RMAPパケットのメモリアクセス保護機能(HRP2カーネル利⽤時)
▷アプリケーションは時間管理を気にせずトランザクションを発⾏できる
⾼信頼性RTOS(TOPPERS/HRP2カーネル)の開発
・JAXAと共同開発した⾼信頼RTOS(HRPカーネル)の次バージョン
と共同開発した⾼信頼
(
カ ネル) 次バ ジ ン
・MMUだけでなくMPUを搭載したプロセッサもサポ
ト
・MMUだけでなくMPUを搭載したプロセッサもサポート
・プログラムのコードやメモリ配置をコンフィギュレータにより決定
・プログラムのコ
ドやメモリ配置をコンフィギュレ タにより決定
・メモリ保護情報を静的に⽣成
メモリ保護情報を静的に⽣成
ネットワ ク
ネットワーク
トポロジ
スケジュール情報
決定アルゴリズム
通信要求定義
…
<?xml version="1.0" encoding="UTF-8"?>
<spacewire>
<subnet id=“subnet1”>
id subnet1 >
<mode>normal</mode>
<fdirInterval>5</fdirInterval>
<timeslot>15625</timeslot>
<router id="CPURouter1">
<port number="1”’ />
<portt number="2”
b "2” //>
</router>
…
トポロジの記述例
各ノードのスケジュール情報
6
5
1
0
2
7
63
8
4
3
4
6
5
63
0
15
4
7
15
time-code 0 1 2 3 4 5 6 7 8
extended 0 0 0 0 0 0 0 0 0
ti
time-code
d
S
Wi ミドルウェアの開発
ミドルウ アの開発
SpaceWire
・SpaceWireのネットワークトポロジと通信要求より,
i
ネ ト
クトポ ジと通信要求より
各ノ ドのタイムスロットへのRMAPトランザクションの
各ノードのタイムスロットへのRMAPトランザクションの
割付を決定する⽀援ツール(外部ツール)
割付を決定する⽀援ツ
ル(外部ツ ル)
・複雑なネットワーク設定のスケジュール情報を機械的に⾏う
複雑なネットワ ク設定のスケジュ ル情報を機械的に⾏う
▷ネットワーク設計とアプリケーション設計の分離が可能にな
る
4
3
0
time-slot
ソフトウェアプラットフォ ムの開発
ソフトウェアプラットフォームの開発
スケジュ ル情報決定ツ ルの開発
スケジュール情報決定ツールの開発
2
▶ n=2,m=4
,
図1 サブネットの例
SpaceWireデバイスドライバAPIの策定
p
・SpaceWireミドルウェア向けデバイドライバAPIをボードメーカと策定
p
1
7
6
5
4
3
2
1
0
8
16
62 63 0 1 2 3 4
0 0 1 1 1 1 1
63
0
63
62 63 0
3 3 0
図2 タイムスロットの例
User
U
Application
User
U
Application
User
U
Application
S
SpaceWire
Wi Middleware
Middl
RMAP layer
SpaceWire-D+
p
layer
y
TOPPERS/HRP2 Kernel
SpaceWire Device Driver
SpaceWire I/F Device
開発中のSpaceWire搭載ボード
ソフトウェアプラットフォーム階層図
成果物の取り扱い
TOPPERSプロジェクトより公開(予定含む)
プ ジ クトより公開(予定含む)
・TOPPERS/HRP2カーネル
ネ
・SpaceWireミドルウェア
・SpaceWireトポロジXMLスキーマ
ポ
・スケジューリングツール
NCESより公開
・SpaceWireリアルタイム性保証⼿法ガイドライン