リアルタイム性能
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/08 09:05 UTC 版)
「組み込みLinux」の記事における「リアルタイム性能」の解説
リアルタイムな用途では、スループットよりもレイテンシが重要となることが多い。レイテンシを改善するためには、カーネルの設定変更・チューニングの他に、アプリケーション自身も最適化する必要がある。カーネルのレイテンシを測定するためにCyclictestなどのベンチマークや各種トレーサが使われる。Linuxにおけるリアルタイム全般の情報は Real-Time Linux Wiki にまとめられている。ELCヨーロッパ2008においてソニーのFrank Rowandによりターゲットへのレイテンシ最適化の実例がプレゼンテーションされている。また、同氏によってハードウェア/カーネルに付随するリアルタイムの不足点と改善案が提示されている。 かつてのLinuxカーネルはリアルタイム性能が悪かったため、高機能なLinuxカーネルをリアルタイム用途とともに使うために、Linuxカーネルよりも下にリアルタイム性能が高くリアルタイムタスクを実行可能な別のシンプルなカーネルが使われることが多かった。現在はMontaVista、レッドハットなどによりプリエンプション用のパッチセットRT PREEMPTが開発されLinuxカーネルのリアルタイム性能は大きく改善しているものの、他のカーネルとの組み合わせは現在も使われている。 また、Linuxカーネルにはバージョン2.0時点で導入された、アトミックな単一カーネルロックのBKL (Big Kernel Lock)が以前存在していたが、レイテンシ・スループットやスケーラビリティを大きく下げる原因となるため、現在はロックの細分化やロックレス・アルゴリズムへの置き換えなどによって、全てのBKLが削除されている。 現在、RT PREEMPTは"mainline"と呼ばれるリーナス・トーバルズ管理の主要カーネルツリーへのマージを目指している。標準やPREEMPTで有効になった機能の他にCONFIG_PREEMPT_RCUやthreadirqsなど多くの部分が既にマージされているが、まだマージされていないフィーチャーは残っている。
※この「リアルタイム性能」の解説は、「組み込みLinux」の解説の一部です。
「リアルタイム性能」を含む「組み込みLinux」の記事については、「組み込みLinux」の概要を参照ください。
- リアルタイム性能のページへのリンク