Ubuntu向けリアルタイムLinux kernelのFAQ
以下で「Ubuntu」向けリアルタイムLinux kernelのFAQが紹介されています。リアルタイムLinux kernel β版
以前紹介したように「Ubuntu 22.04 LTS」向けリアルタイムLinux kernel β版が登場しました。リアルタイムLinux kernelは応答性重視のLinux kernelであり、低遅延を非常に強く要求される分野で活用されるLinux kernelです。
今回紹介する内容は、これに関するFAQです。
1.リアルタイムLinux kernel β版ってどういうもの?
リアルタイムLinux kernelは、アップストリームのリアルタイムパッチを適用したLinux kernelです。「Linux kernel 5.15」がベースになっています。
2.いつ頃安定版(GA版)が出そう?
安定版(GA)リアルタイムLinux kernelのリリースは、2023年4月が目標になっています。3.β版とGA版の違いは?
GA版では最新の安定版Linux kernelにリアルタイムパッチを適用したものになる予定です。また同時に「Linux kernel 5.17」でマージされた「Real Time Linux Analysis(RTLA)」も提供される予定です。
4.Ubuntuが提供するリアルタイムLinux kernelを利用する利点って何?
自分もしくはサードパーティーによってリアルタイムパッチが適用されたリアルタイムLinux kernelと比べUbuntuが提供するリアルタイムLinux kernelを利用する主な利点は、「Canonical」が提供するエンタープライズグレードのサポートを受けられる点です。5.リアルタイムLinux kernelをテストするのにおすすめのハードウェア構成って何?
「Canonical」ではARM/AMD/Intel製のハードウェアでテストしていますが、リアルタイムLinux kernelはサポートしているアーキテクチャーなら特にハードウェア構成を制限しません。そのため特におすすめのハードウェア構成はありません。
6.32bitアーキテクチャーでも動く?
動きません。64bitアーキテクチャーに焦点をあて取り組んでいるためです。
7.NVIDIA GPUドライバーはサポートされるの?
β版ではNVIDIA GPUドライバーをサポートしていません。ただし将来的にサポートされる可能性はあります。
8.full task-isolation modeをサポートする可能性は?
「full task-isolation mode」がメインラインに登場したら、この機能を含められないか検討しています。9.将来のUbuntuでリアルタイムキューと標準的なLinux kernelキューのハイブリッド構成を利用できるようになる予定はありますか?
FIPS 140-2とリアルタイムを同時に有効化したLinux kernelをUbuntuでサポートする予定はありますか?
航空分野で利用されるDO-178のようなセーフティークリティカルアプリの認証を取る予定はありますか?
現状その予定はありませんが、将来的に方針が変更される可能性はあります。10.ユーザーはなぜXenomaiのようなリアルタイムハードを利用せずに、PREEMP_RTを利用するの?
リアルタイムハードは高価であり、特定のハードウェアを要求するためです。11.いつPREEMPT_RTがアップストリームに完全に統合される?
「PREEMPT_RT」は「Linux Foundation」の管轄下にあり「Canonical」の制御下にありません。「PREEMPT_RT」はデファクトスタンダードになっているリアルタイムLinux kernelの実装であり、徐々にメインラインに統合されています。
すでにロックに関連する一部の機能はメインラインに取り込まれていますが、未だに多くの実装がまだ取り込まれていません。
12.PREEMP_RTはどうやってスケジューリングと割り込み遅延を軽減しているの?
「PREEMP_RT」は異なるロックメカニズムと「CFS」と異なるスケジューリングを行っています。「PREEMP_RT」でLinux kernelは、リアルタイム向けのスケジューリングを利用するようになります。
これは「CFS」スケジューラーと比較して高い優先度を持ち、「FIFO(first-in-first-out)」及び「RR(round-robin)」スケジューリングポリシーを提供します。
13.PREEMP_RTによる最大遅延保証はどれくらい?
現状「PREEMP_RT」はいかなる最大遅延も保証していません。14.PREEMP_RTで使われるCPUfreqガバナーは何?
現在CPUfreqガバナーは「CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND」に設定されています。「cpufrequtils」パッケージでパフォーマンスガバナーに切り替えることが可能です。
cpufreq-set -g performance