環境計測に用いられるOSの リアルタイム性の比較 ー RTLinuxの導入 ー 環境計測 八木英二 検出器 ADC コンピューター I/Oボード メモリ 環境計測 八木英二 アナログ信号 デジタル信号 割り込み信号 現在、放射線計測における計測装置のOSはMS-DOS系が主流です。しかし、それらの汎用性は低く、研究上必要とされる変更が出来ない場合が多い。そこで昨年、研究室ではWindowsを用いた多入力パルス波高分析の開発を行った。その結果、このシステムでは十分な計測速度を確保するために2台のコンピュータが必要であることや、メモリンクという特殊な装置が必要であるなど、装置が複雑なものになった。そこで今回、マルチタスクOSでありリアルタイム性能を持つRTLinuxを用いる事を考えた。実際に放射線計測システムを構築することを考えると、マルチタスクOSを利用することは汎用性も高く、様々な機能が使えることから、大変便利である。 終了信号 14 Feb 2003 環境計測 卒論発表会
本研究の目的 ★Linux、RTLinuxでI/O処理および割り込み処理の速 度、信頼性(割り込みの数え落とし)を比較。 比較内容 割り込み反応速度 割り込み反応速度のばらつき 本研究の目的は、マルチタスクOSであるLinux、RTLinuxでI/O処理および割り込み処理の速度、信頼性を比較し、さらにRTLinuxが計測におけるリアルタイム性を保証している事を実験により実証し、放射線計測システムに利用可能であるかを計測することである。上で述べたLinuxとRTLinuxの比較対照として(@)割り込み平均反応速度、(@)割り込み反応速度のばらつき、(@)割り込みの数え落とし(信頼性)の3つを考えた。また、(@)放射線計測を行う場合、ネットワーク転送や、グラフィック表示を用いる事が多いが、これらの機能は割り込み処理を妨げる原因となることから、これらを負荷として与えた時の各データの変化を計測する事でより放射線計測システムを構築するのに適したOSを探し出す事が可能となる。 割り込みの数え落とし(信頼性) 放射線計測に必要となるネットワーク転送やグラフィック表示を 割り込みの負荷として与え、各データの変化を計測。 14 Feb 2003 環境計測 卒論発表会
Linuxを元にリアルタイム性を拡張したOS。 RTLinuxとは Linuxを元にリアルタイム性を拡張したOS。 計測におけるリアルタイム性を保証 Web SiteからFreeで入手可能 オープンソースなので、自由に参照(改造)可能 Linuxの機能、アプリケーションをそのまま利用可能 利点 次にRTLinuxについて説明します。 (@)RTLinuxとはLinuxを元にリアルタイム性を拡張したOSです。今回私が考えたリアルタイム性というのはあくまでも計測において十分な速度を補償してくれる性能と捕らえました。 RTLinuxを用いる利点として(@)まず、WebsiteからFreeで入手できること、ソースコードがオープンになっており、自由に参照、改造する事が可能である事、さらにLinuxの機能、アプリケーションをそのまま利用する事が可能であることがあります。 14 Feb 2003 環境計測 卒論発表会
RTLinuxの処理の流れ Linux プロセス RT-FIFO スケジューラ Linuxカーネル RTLinuxモジュール リアルタイムカーネル ハードウェア割り込み 次にRTLinuxの仕組みについて簡単に説明します。 RTLinuxは厳密には単体で機能するOSそのものではなく、Linuxカーネルに適用するパッチとして提供されています。 RTLinuxを適用したカーネルを実行すると、図のようにリアルタイムカーネルが最下層で動作します。このリアルタイムカーネルがLinuxカーネルやRTLinuxモジュールと内部で動作するRTLinuxスレッドをスケジューリングすることで、任意の処理をリアルタイム制御することが可能となります。リアルタイムカーネルから見ると、Linuxカーネル本体はRTLinuxモジュールおよびRTLinuxスレッドより優先度の低いプロセスとして動作するため、リアルタイムで処理を行いたい仕事をRTLinuxスレッドに記述することで通常のLinuxとリアルタイム処理を共存させる事を可能にしています。通常のLinuxで使用可能な機能やアプリケーションは、RTLinux上でも同様に動作するため、Linuxの豊富な機能を生かしつつリアルタイム処理を行える点が特長です。 また、 RTLinuxのもう一つの機能として割り込みのディスパッチがあります。 RTLinuxでは、ハードウェアからの割り込みを受けたとき、そのままLinuxカーネルに伝えず、リアルタイムカーネルが一度割り込みを受けてからLinuxカーネル本体に伝えます。 14 Feb 2003 環境計測 卒論発表会
計測システム CPU Celeron 466 MHz メモリ 64 MB ハードディスク 80 GB I/Oボード PCI-2702C 次に実験に用いた装置を紹介します。(@)コンピュータはCPUにセレロン466MHz、メモリが64MB、ハードディスクが80GBです。またI/Oボードはインターフェース社のPCI-2702Cを使い、(@)割り込み信号にはTTL信号を出力できるパルサーを用いました。また、割り込み応答速度を測定できるデジタルオシロスコープ(@)を今回使用しました。 CPU Celeron 466 MHz メモリ 64 MB ハードディスク 80 GB I/Oボード PCI-2702C 使用OS Linux、RTLinux、MS-DOS、Win-DOS 開発言語 C言語 ⇒全てのOSで統一した動き 14 Feb 2003 環境計測 卒論発表会
割り込み応答速度 割り込みの数え落とし測定 実験概要 割り込み応答速度 割り込みの数え落とし測定 デジタルオシロスコープ コンピュータ Linux or RTLinux 画面 表示 ネットワーク 転送 CPU 計算 別処理 割り込み処理 負荷 I/O ボード 割り込み処理 処理結果 出力信号 パルサー 割り込み信号 検知 14 Feb 2003 環境計測 卒論発表会
実験内容① 負荷なし Linux RTLinux 割り込み応答速度 MS-DOS 実験 Win-DOS 4つのOSで比較 ・ 負荷あり 割り込みが入ったときのデータをメモリ上の配列に取り込み、それをユーザー空間に転送(転送負荷)。 ユーザー空間に転送されたデータを10 msおきに画面表示させる。 (表示負荷) 無限ループの計算をさせておく(CPU負荷)。 割り込み処理を行う間、NFSを用いて絶えずデータを他のコンピュータに転送する(ネット負荷)。 各負荷を与えた計測はLinux、RTLinuxのみ。 負荷なし Linux RTLinux MS-DOS Win-DOS 4つのOSで比較 割り込み応答反応速度とばらつきを比較。 速度が速く、ばらつきが少ないほどいい 割り込み応答速度 実験 割り込み信号 割り込み処理信号 時間差を測定 一つ目の実験である、割り込み応答速度実験について詳しく説明します。割り込み信号が入ってから割り込み処理を行うまでにかかる時間を割り込み応答速度とします。この時間差をデジタルオシロスコープを用いて測定しました。まず、ただ単に割り込み処理を行うだけのものつまり、これを負荷なしと言う名前のデータとして、この4つのOSで比較しました。比較対照は速度とばらつきの2点です。放射線計測では速度が速く、ばらつきの少ないものほど利用できるのは言うまでもありません。次に、負荷をかけたときの場合について説明します。今回、放射線計測システムを構築する上で必要となるであろう機能を負荷として考えました。ユーザー空間への転送負荷、表示負荷、CPU負荷、ネットワーク負荷の4つです。負荷をかけたときの測定はLinux、 RTLinuxのみ計測し各データを比較しました。負荷なし、ありとも2000Hzの割り込みを同じ時間測定しました。 14 Feb 2003 環境計測 卒論発表会
割り込み応答速度測定結果 -負荷なし- MS-DOS Win-DOS Linux RTLinux 14 Feb 2003 負荷をかけないときの割り込み応答速度のデータをグラフにしました。横軸に割り込み応答時間縦軸は各応答時間の測定数です。グラフからわかるようにMS-DOS、Win-DOSは割り込み応答速度のピークがRTLinux、Linuxの約半分の4μsほどであり、非常に速いのが特長です。しかし、ばらつきはかなり多く、安定性に欠けるといえます。Linuxもばらつきがあるのがわかる。それに比べ、RTLinuxは速度はDOS系のものに比べると約2倍の遅れはあるが、ばらつきはなく非常に安定しているのがわかる。 14 Feb 2003 環境計測 卒論発表会
割り込み応答平均速度測定結果 time (μs) 負荷なし 2 μs 6 μs 標準偏差 CPU負荷 ネット負荷 14 Feb 2003 環境計測 卒論発表会
RTLinuxがばらつきも少なく、安定している 割り込み応答速度実験 <負荷をかけない場合> 割り込み平均応答速度が一番速い MS-DOS 割り込み応答速度のばらつきがない RTLinux <負荷をかけた場合> RTLinuxがばらつきも少なく、安定している 平均速度も速い 14 Feb 2003 環境計測 卒論発表会
実験内容② 信頼性 計測 割り込み信号の数え落としの発生率 割り込み信号の数え落とし 各周波数 10 kHz、30 kHz、50 kHz、70kHz 負荷なし、負荷ありの比較 次の実験について説明します。今度の実験は、割り込み信号の数え落としの発生率を測定しました。周波数を高くしていき、割り込み信号を高周波にしても数え落としがないか計測しました。周波数は順に10、50、70、80kHzまでとします。今回使用したパルサーの性能上、80khzまでしか出力できなかったので、ここまでで止めました。負荷は割り込み応答速度実験のときと同じです。周波数による数え落としと負荷による数え落としの2点を比較対照としました。割り込み信号の数え落としを見てやることで計測における信頼性を確認することができます。 負荷は割り込み応答速度のときのものと同じ 14 Feb 2003 環境計測 卒論発表会
RTLinuxの計測における信頼性を実証 割り込み信号の数え落とし 測定結果 単位 (%) RTLinuxは50 kHzでも数え落としが発生しない 割り込み信号の数え落としの測定結果を示します。表の数値は各周波数での割り込みの数え落としの割合を(%)であらわした物です。今回、80kHzまで周波数を挙げて測定を行ったわけですが、割り込み信号を80kHzまで高くすると、ボードのRC回路により出力信号の立ち上がりが鈍りだす為、正確な数え落としを測定できていない可能性があります。 50kHzより周波数が低い場合、Linux, RTLinuxとも割り込み信号の数え落としはなかった。表からわかるように、Linuxでは50kHzから負荷を与えることにより割り込みが発生している。一方、RTLinuxは負荷に関係なく、50kHzでも割り込み信号を数え落とすことがない。また、50kHz以上の高周波になってもRTLinuxの数え落としはLinuxに比べると少ない。この実験からRTLinuxの計測における信頼性を実証できました。 Linuxに比べ割り込みの数え落としの発生率は極めて少ない RTLinuxの計測における信頼性を実証 14 Feb 2003 環境計測 卒論発表会
結論 RTLinuxは 放射線計測システムを作製可能 割り込み応答速度実験 割り込み応答速度は非常に安定 ばらつきがない 信頼性がある 割り込みの数え落とし実験 50 kHzまで数え落としはない 放射線計測システムを作製可能 14 Feb 2003 環境計測 卒論発表会
おしまい 放射線計測システム概要 割り込み応答速度実験 まとめ 本研究の目的 割り込み信号の数え落とし実験 割り込み信号の数え落とし実験 割り込み信号の数え落とし 測定結果 結論 RTLinuxとは 割り込み信号の数え落とし 測定結果 RTLinuxの処理の流れ 計測システム 結論 実験概要 割り込み応答速度実験 割り込み応答速度実験測定結果 ‐負荷なし‐ 割り込み応答平均速度測定結果 14 Feb 2003 環境計測 卒論発表会
用語説明 マルチタスク 一つのOS下にて同時に複数のアプリケーションを駆動することが出来るシステム。 シングルタスク 14 Feb 2003 環境計測 卒論発表会
用語説明 カーネル オペレーティングシステムの中核であり、全ての処理に対してスケジュールや資源を割り当て、システムコールなどのサービスを提供する。システムコールとは、オペレーティングシステムに対し必要な機能を呼び出す事である。 RTLinuxスレッド タスクをさらに細分化したもの。プログラム実行の最小単位。 RT-FIFO ユーザーのRTLinuxスレッドとアプリケーションの間に存在する情報交換機能。この機構を用いることで、双方のスレッドが非同期的に処理することが可能となる。 NFS(Network File System) ネットワーク上で他のコンピュータのディスクを自分のコンピュータのディスクのように利用する方法。 14 Feb 2003 環境計測 卒論発表会
Linux プロセス(ユーザー空間) 割り込みの ディスパッチ ハードウェア割り込み カーネル空間 スケジューリング間隔 10 ms程度 スケジューラ Linuxカーネル ハードウェア割り込み RTLinuxモジュール RTLinuxスレッド RT-FIFO スケジューラ Linuxカーネル スケジューラ リアルタイムカーネル ハードウェア割り込み 14 Feb 2003 環境計測 卒論発表会
LinuxとRTLinuxの違い Linux リアルタイム性を要求しない処理を行う アプリケーション RTLinux ライブラリ ユーザー空間 デバイスドライバ カーネル空間 RTLinux モジュール タイムクリティカルな処理を行う PCIボード デバイスドライバ PCIボード 14 Feb 2003 環境計測 卒論発表会