[openrtm-users 02919] Re: OpenRTM-aist用のリアルタイム性を強化した実行コンテキスト

Masaharu Shimizu shimi @ furo.org
2013年 10月 11日 (金) 11:20:46 JST


未来ロボット技術研究センターの清水です。

横やり&手前味噌ですいません。

RTMのRT_PREEMPT Linux環境下でのリアルタイム化については、すでに、0.4の時代に
実現されており、ソースコード、論文なども公開しております。

https://sites.google.com/site/roboticstools/HOME/RTM/RealTimeRTM

清水 正晴, 戸田 健吾, 林原 靖男, 大和 秀彰, 古田 貴之, “Linux標準機能を利用
したRTミドルウェア周期実行機能のリアルタイム化 -ハプティックジョイスティック
による全方位移動電動車椅子操縦システムへの適用-”, 計測自動制御学会論文集,
Vol. 46, No. 1, pp. 16-23, 2010.

#サイトにもありますが、産総研の方々が公開してくださったソースコードを元にし
ています。ありがとうございます。

これをうけて?
RTM1.0では、標準でリアルタイム実行コンテキストが実装されているはずです。<安
藤さんフォローお願いします

管さんのWEBにも有りますが、Ubuntuを利用すると、標準リポジトリにリアルタイム
対応のカーネルがあるので、簡単に試せて良い時代です。

ここから、RTMというかLinuxのリアルタイム化の話で、すこし、本MLとは話題がずれ
てしまうので簡単にしますが、

管さんのWEBで5msのジッターとの記述がありましたが、ページフォルトの可能性もな
きしもあらずですが、SMIの影響をを疑ってみたらいいです。

SMIは、OSから無効にする以外に対処できない割り込みなので、マザーボードのBIOS
の作り等により、大きな時間、OSに処理が戻ってこないことがあるためです。

BIOSでSMIで無効にするオプションがあるか、SMIを無効にするドライバモジュールを
読み込むことで対処できます。
後者のドライバモジュールでは、BIOSで対象レジスタが書き込み不可になっていると
効果がありませんが。

ただし、SMIは、System management interruptsの略でですが、読んで字のごとくの
機能を提供しているので、無効にすると、いろいろな影響が出るかもしれないことを
記しておきます。

#IBM製のPCは、この辺意識していてい、SMIが大きな時間、処理をOSからとらないよ
うに設計されていたりするらしいです。

後、最近のx86のCPUはマルチコアがほとんどなので、リアルタイムのプロセスのみ
を、特定のコアに割り付ける方法(CPUアフィニティ)も良くとられます。
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_MRG/2/
html/Realtime_Tuning_Guide/sect-Realtime_Tuning_Guide-General_System_Tuning-
Interrupt_and_Process_Binding.html

というわけで、まとめるとRT_PREEMPT Linux環境下でのリアルタイム処理は、

1,SMIを適切に処理する
2,アプリケーションをPOSIXのRT APIを使って適切に書く
3,リアルタイム化したいプロセスのみ特定のCPUコアに割り付ける(CPUアフィニ
ティ)

をおこなうと、所謂、ハードリアルタイムを実現でできるところまで、来ています。
#ジッター性能は、さらに専用にチューニング・リアルタイム化されたLinuxの方が
性能が良い場合が多いですが

以上、参考になればとおもいます。



> -----Original Message-----
> From: openrtm-users-bounces @ openrtm.org
> [mailto:openrtm-users-bounces @ openrtm.org] On Behalf Of Kei Okada
> Sent: Friday, October 11, 2013 9:58 AM
> To: OpenRTM-aist mailing-list for generic users
> Cc: Ryohei Ueda
> Subject: [openrtm-users 02918] OpenRTM-aist用のリアルタイム性を強化した
> 実行コンテキスト
>
> 岡田です.
>
> お世話になります.菅さんのFBで素晴らしい記事を見つけました.
> ぜひ使ってみたいので,メインストーリームにはいるといいな,と思います.
>
>
> http://mohammedari.blogspot.jp/2013/10/openrtm-aist.html?m=1
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users



More information about the openrtm-users mailing list