ハードウェア ノイズを正確に測定するオプションは、Linux 6.3 カーネルに統合されます。

Linux カーネルのマスコット、Tux

Linux カーネルは、Linux オペレーティング システム (OS) のバックボーンであり、コンピューターのハードウェアとそのプロセスの間の基本的なインターフェイスです。

最近、Linux カーネルのバージョン 6.2 がリリースされました。 これには一連の非常に優れた機能が付属しており、ハードウェア互換性の改善に加えて、何よりも「Rust For Linux」の改善を継続しています。間違いなく一時的なバージョンです。 Linux 6.3 のさまざまな改善への多くのウィンドウを開きます (カーネル 6.2 のリリースについて詳しく知りたい場合は、詳細を確認できます。 この投稿で).

Linuxカーネルの次のバージョンになるものについては、確認を通じて実行されるさまざまな機能が調整されています。 重要な機能 に追加された Linux 6.3 は 新しいツール rtla ヒューノイズ.

rtla hwnoise (リアルタイム Linux スキャン ハードウェア ノイズ) ハードウェア関連のノイズを検出して定量化するツールです. 割り込みを無効にして、実行中の osnoise トラッカーの定期的な概要を取得します。

割り込みとスレッドスケジューリングを無効にすることで、 マスク不可能なハードウェアと割り込み関連のノイズのみが許可されます.

ツールのメンテナーによる説明によると、後者の tノイズトレーサー構成も可能 プロッターの出力を収集します。 要約すれば、 rtla hwnoise は osnoise と同様の機能を提供します (オペレーティング システムのノイズ) マスク不可能な割り込み (NMI) とハードウェア関連のノイズのみを表示します。

原則として、ハードウェア ノイズはゼロにする必要があります Linux。 しかし、 これは必ずしもそうではないことがわかりました。 オペレーティング システムの操作では、XNUMX つの主要なノイズ源に直面する可能性があります。

オペレーティング システムの操作によるノイズと、ハードウェアに関連するノイズ。 たとえば、ハイ パフォーマンス コンピューティング (HPC) のコンテキストでは、オペレーティング システムのノイズ (osnoise) は、オペレーティング システム内のアクティビティが原因でアプリケーションが経験する干渉を指します。 Linux のコンテキストでは、NMI、IRQ、SoftIRQ、およびその他のシステム スレッドがシステム ノイズを引き起こす可能性があります。 その場合、

Linuxでは、 他にもあるかもしれませんが XNUMX つの主な実行コンテキストがワークロードに干渉する可能性があります: マスク不能割り込み (NMI)、マスク可能割り込み (IRQ)、softirq (遅延 IRQ アクティビティ)、およびスレッドです。 これらのシステム関連のノイズに加えて、ハードウェア関連の負荷も、たとえば SMI を介してノイズを引き起こす可能性があります。

rtla hwnoise ツールが設計されたのは、この最後のケースです。 ハードウェア関連のノイズ測定および監視ツールがどのように機能するかをよりよく理解するには、Linux osnoise ツールを参照することをお勧めします。

Linux には、オペレーティング システムのノイズを測定するためのツールが XNUMX 種類あります。 XNUMX つはワークロードに基づいており、もう XNUMX つは追跡に基づいています。 通常、ワークロードベースのツールは、既知の期間でマイクロベンチマークを実行し、マイクロベンチマークの計画期間と実際の処理時間との差を測定します。 ワークロードが経験する可能性のあるオペレーティング システム ノイズの量を定義することは得意ですが、ワークロード ベースのツールは、オペレーティング システム ノイズの根本原因を特定することはできません。

トレースベースの方法では、Linux カーネルのトレース機能を利用して、オペレーティング システムのノイズの原因を特定します。 ただし、これらのトレースベースの方法では、ワークロードがノイズをどのように認識するかが考慮されていません。 それが、osnoise ツールが設計された理由です。 ワークロードベースおよびトレースベースの方法を最大限に活用して、オペレーティング システムのノイズの根本原因を示し、ワークロードがノイズをどのように認識しているかを考慮します。

osnoise の次に、rtla osnoise ツールがあります。 これは osnoise プロッターへのインターフェースです。 トラッカー osnoise は、利用可能な時間を測定するカーネルでループを実行します。 これは優先設定で行い、softirq と IRQ を有効にして、実行中のすべてのノイズ源を許可します。

rtla hwnoise を使用すると、ハードウェアによって送信された偽の命令によって盗まれたマイクロ秒単位を気にするユーザーと開発者は、これらのノイズを正確に測定し、それに応じて決定を下すことができます。リアルタイム操作では、プロセッサによって得られるマイクロ秒単位の時間に価値があることを知っています。

出典 https://git.kernel.org


Googleで優先ソースとして追加する