広範囲に影響を与える Linux 4.10 の 3 つの小さな変更

Linuxの進化は決して止まりません。Linus Torvalds は、新しいカーネル バージョン (4.11) にさらに多くの変更を組み込むために熱心に取り組んでいます。ただし、現在の Linux 4.10 では、パフォーマンスを効果的に向上させ、前例のないさまざまな機能セットを実現できる 3 つのグループの変更も見つかりました。

以下では、お客様、クラウド サービス プロバイダー、および Linux アプリケーションに重要な影響を与える可能性のあるこれらの変更について見ていきます。

1. GPUを仮想化する

GPU が、仮想マシンで適切にシミュレートすることが非常に難しいハードウェアのクラスに属していることは疑いの余地がありません。一般に、仮想マシンはカスタム ドライバーを提供しますが (非常に遅い)、グラフィックス呼び出しはゲストとホストの間で変換する必要があります (非常に遅い)。もちろん、理想的なソリューションは、ゲスト内でメインと同じグラフィックス ドライバーを実行し、必要なすべての呼び出しを GPU に直接送信することです。

しかし、単に実行できるだけでは十分ではなく、結局のところ、「バトルフィールド 1」のような大規模なゲームを仮想マシンで実行したいと考えるユーザーもいるかもしれません。これは、GPU によって提供されるすべてのリソース (CUDA などのライブラリによって提供される GPU 高速化プロセスを含む) を、通常の非仮想マシン デバイスと同様に仮想マシン内で実行できることを意味します。

Intel Corporation は、上記の目標を達成するために特別に設計された、GVT-G と呼ばれる一連のプロセッサ拡張機能を導入しました。ただし、オペレーティング システム レベルで GVT-G をサポートできるようになったのは、Linux 4.10 になってからです。KVM (KVMGT として知られる) を通じてこの機能をサポートすることに加えて、Intel は Xen および QEMU ハイパーバイザーのグラフィック サポートにも貢献しました。

カーネルでの GVT-G の直接サポートは、サードパーティ製品がカーネルの調整を必要とせずにリソースを利用できることを意味します。これは、Docker がさまざまなネイティブ Linux 機能を DevOps ソリューションに変えた方法と似ており、その成功の根源は、そのような機能がほとんどの最新の Linux ディストリビューションで利用できることです。

2. より優れたキャッシュ制御テクノロジー

今日の CPU は強力な処理速度を備えています。ただし、メイン メモリからデータをフェッチできる速度によって CPU のパフォーマンスが制限されるため、キャッシュを使用してデータをできるだけ CPU の近くに保持する必要があります。キャッシュ容量という制限要因に加えて、以前のオペレーティング システムにはキャッシュ管理にも欠点がありました。Linux 4.10 は、さまざまな新しいテクノロジとツールを提供します。

まず、Linux 4.10 は、Haswell 以降のチップセットで利用可能な機能である Intel Cache Allocation Technology (CAT) をサポートしています。CAT を使用すると、L3 (および以降の L2) キャッシュ スペースを特定のタスクに割り当てて予約できます。つまり、アプリケーション固有のキャッシュを他のアプリケーションによってフラッシュすることはできません。CAT は、キャッシュ ベースのタイミング攻撃に対するある程度の保護も提供します。明らかに、最新のコンピューティングの隅々が攻撃ベクトルとして悪用される可能性があります。

この機能に加えて、perf c2c も付属しています。新しいシステム ツールは、複数のソケットと Non-Uniform Memory Access (略して NUMA) を備えたシステム用です。この場合、各スレッドは異なる CPU 上で実行されるため、同じメモリ セグメントを変更しようとすることで非効率に実行される可能性があります。Perf c2c はこのパフォーマンスの問題を効果的に解決できますが、CAT と同様に、これも Intel プロセッサにのみ適用できます。

3. ライトバック管理

KernelNewbies.orgは関連するレビュー記事で、「Linuxは当初から、メモリに書き込まれたデータをプロセスを通じてディスクに同期する(つまり、バックグラウンドでの書き戻し)ことで批判されてきた」と指摘した。バージョン 4.10 では、I/O リクエスト キューのリクエスト レイテンシが監視され、レイテンシが高くなる可能性のある操作 (特に書き込み集中型の操作) は一時停止され、他のスレッドが正常に実行できるようになります。

ほぼ同じことを行うもう 1 つの実験的な機能は、RAID5 ライトバック キャッシュ (デフォルトでは無効) を提供することです。これは、RAID5 アレイ内の複数のディスクへの書き込み操作を統合できることを意味します。もう 1 つの実験的な機能であるハイブリッド ブロック ポーリング (デフォルトではオフ) は、膨大なデータ スループットでデバイスをポーリングする新しい方法を提供します。このタイプのポーリングはパフォーマンスを向上させますが、ポーリングの頻度が高すぎると問題が発生する可能性があります。新しいポーリング メカニズムにより、CPU リソースを過剰に消費することなくパフォーマンスが向上します。

上記の調整は、クラウド コンピューティング インスタンスにかなりのプラスの影響を与える可能性があります。Amazon は、ニーズに合わせたさまざまなインスタンス タイプを提供しており、カーネル レベルでの改善により、読み取り操作と書き込み操作のバランスを改善できます。したがって、Linux 4.10 のこれらの小さな変更はテクノロジー業界全体から温かく歓迎されることは確実です。

 

おすすめ

転載: blog.csdn.net/u014389734/article/details/131277997