RedHawk 6.0の新しい機能
● Real-time にオプティマイズされたグラフィクス専用デバイスドライバ
≫ NVIDIA グラフィクスドライバ 270.41 (vs. 190.42)
≫ ATI グラフィクスドライバ 8.773 (ファーストリリース)
≫ xorg.conf ファイルは自動的に生成されるようになりました。
● GPU コンピューティング・エンジン
≫ CUDA 4.0 (vs. 3.0)は、標準提供
◇ CUDA 4.0 は、64-bit版のみサポートされます。
≫ ATI Stream は、ご要求に応じて提供されます。 (RIQ)
● RedHawk に特有な機能
≫ mlockall_pid()
別のプロセスをメモリ常駐することができます。
◇ ソースコードなしでリアルタイムの応答を改善することが出来ます。
◇ 概要
#include <mlockall_pid>
int mlockall_pid(intflags, pid_tpid);
int munlockall_pid(pid_tpid);
gcc[options …] file –lccur_rt…
◇ 例
mlockall_pid(MCL_CURRENT|MCL_FUTURE, p1);
≫ ページフォールト発生時に SIGBUS シグナルで通知させることができます。
◇ 概要
CONFIG_PROC_PID_SIGBUS_PAGEFAULTS
mlockall(MCL_CURRENT|MCL_FUTURE);
◇ 例
$ ./simulation &
[1] 1092
$ echo 1 > /proc/1092/sigbus_pagefaults
≫ RAMディスクシールディング
◇ 概要
CONFIG_BLK_DEV_RAM_NUMA
◇ 例
$ echo 2 > /proc/driver/ram/ram1/nodemask ←NUMA node 1 (0x10)
$ mke2fs –jvm0 /dev/ram1 4096
$ mkdir/mnt/ramdisk
$ mount –t ext3 /dev/ram1 /mnt/ramdisk
≫ NUMAシールディング
◇ 概要
どんなシールドコマンドの「CPULIST」でも、「n」接頭辞を使うことによって、
すべての
NUMA ノードでCPUを指定することができます
◇ 例
shield -i0-2 ←CPUのディフォルト
shield -a n1,n3
shield -l c1 -p c1,c3,n2
≫ runコマンドの新しいスケジューリングポリシー
◇ 対話型でないジョブのための SCHED_BATCH (P0)
◇ 非常に低いプライオリティジョブのための SCHED_IDLE (P0)
◇ 概要
--policy|-s: fifo, rr, other, batch, idle
◇ 例
run -s idle ./statmon
run –s batch –p 1257
≫ 新しい SCHED_RESET_ON_FORK 属性 のサポート
◇ チャイルドプロセスは、リアルタイムスケジューリングポリシーを継承せず、SCHED_OTHER で生成されます。
◇ runコマンドの-rオプションでサポートされます 。
◇ 概要
--resetonfork|-r 但し--policy|-s=fifo|rrと同時に使用する事
◇ 例
run -r -s fifo -P 80 ./statmon
run -r 5 ←間違った使用法 (ポリシーが指定されていない)
≫ NUMA CPUトポロジーを見る新しいrunコマンドオプション
$ run -M n
Node MemSize MemFree Cpus
0 2048 MB 17 MB 0x0000,00000fff
2 2048 MB 219 MB 0x0000,00fff000
4 2048 MB 295 MB 0x000f,ff000000
6 2048 MB 190 MB 0xfff0,00000000
$ run -M c
Node MemSize MemFree Cpulist
0 2048 MB 17 MB 0-11
2 2048 MB 219 MB 12-23
4 2048 MB 295 MB 24-35
6 2048 MB 190 MB 36-47
RedHawk6.0の特徴
RedHawk6.0のインストール手順
RedHawk6.0の変更点
RedHawkのリアルタイム機能
RedHawk6.0プロダクト