はじめに:
Concurrent社のRedHawk Linuxオペレーティングシステムは、タイムクリティカルな環境またはハードリアルタイム環境を必要とするリアルタイムアプリケーション向けに設計されています。そのユーザーレベルのコマンドは、Red Hat Enterprise LinuxおよびCentOSと完全に互換性があります。このホワイトペーパーでは、いくつかのネットワーク・インタフェースカード(NIC)上のTCP/IPおよびUDP/IPプロトコルの平均往復時間を2で割った(RTT/2)を調べることにより、これらのLinuxカーネルがネットワーク遅延に与える影響を分析します。また、システムに負荷がかかっている場合、Concurrent社のRedHawkカーネルは、追加の手順やユーザー設定を行うことなく、レイテンシとジッターの点でRed HatおよびCentOSカーネルよりも常に優れていることを示します。RedHawkからの追加のユーザーレベルのコマンド(具体的には、shieldコマンドとrunコマンド)は、Linuxカーネル固有の同様のコマンドライン構成メカニズムに匹敵しますが、パフォーマンスが大幅に向上します。
検証環境:
このネットワーク性能試験は、Intel Xeon 3.0 GHzクアッドコアプロセッサを搭載した2台の同一のテストマシン上で実行しました。設置されたサブネット上のテストマシン間には、追加のネットワークトラフィックなしで専用のサーバーとクライアントの関係を確立しています。また、テストマシン間のNICカードを、Mellanox社パッシブ銅線InfiniBand QSFP 2mケーブル(40 Gb/s)を介して直接リンクしました。
このテストは、以下のカーネルとNICを使用しました。
Kernel:
● RedHawk 7.5.2
● PREEMPT_RTを使用したRHEL 7 RT
● CentOS 7
NIC:
● Solarflare SFN8542デュアルポート40Gbit QSFP+とOpenOnload
● Mellanox ConnectX-5 CX555A VPI/FDR/EDR InfiniBand 100GbitデュアルポートQSFP28 PCI Express 3.0 x16
● Intel Omni-Path HFI Silicon 100シリーズ
平均往復時間(RTT/2)で測定されるレイテンシテストを実行し、TCP/IPおよびUDP/IP転送プロトコルを使用して3つの異なるNICの各カーネル間で比較をしました。各カーネルについて、システムに追加の負荷をかけた場合と不可をかけない場合のレイテンシをテストしました。負荷なしのテストは、他のユーザープロセスを実行せずにテストを実行します。レイテンシは、CPUシールドの有無にかかわらずシステムに負荷がかかった状態でさらにテストされます。この実験でのシールドとは、RedHawkカーネルCPUシールド機能の実装(shieldコマンドを使用)、またはLinuxのコマンドライン制限isolcpusで、テスト用に単一のCPUを分離することを指します。これらの関数は両方ともカーネルによるCPU使用量をユーザーレベルのコマンドを使用して、特に目的とするタスクに制限することを意図しています。この場合、CPU 1がシールドされ、すべてのネットワークタスクに割り当てられている間に、両方のテストシステムに負荷がかかります。すべてのネットワークカードには、CPU 1への割り込みアフィニティも与えられます。単一のCPUですべてのネットワークタスクを実行するために与えられた特異性は、ベンチマークの目的で行われこの実験でパフォーマンスを最適化する手段としてではありません。
テストマシンは、Solarflare Onloadレイテンシベンチマークガイドで推奨されている次のコマンドを使用してベンチマークテストを実施しました:
● systemctl stop cpupower
● systemctl stop irqbalance
● systemctl stop firewalld
● ethtool -Cデバイスrx-usecs 0適応-rxオフ
● すべてのネットワークカード割り込みに対して、SMPアフィニティをCPU 1に設定する
● tuned-admプロファイルのネットワーク遅延
● sysctl net.core.busy_poll = 50
● sysctl net.core.busy_read = 50
レイテンシデータは、openonload.orgにあるsfnettest-1.5.0のsfnt-pingpongユーティリティを使用して取得されました。本書では、RTT/2とジッターはナノ秒で報告されますが、マイクロ秒に変換しています。sfnt-pingpongユーティリティは、1バイトから65,536バイトまでの複数のパケットサイズのRTT/2とジッターを報告します。TCPおよびUDP転送プロトコル間でデータをさらに比較しました。カーネル間の比較は、32バイトのパッケージサイズで標準化しています。
ネットワーク・インタフェースカード:
Solarflare製 デュアルポート40Gbit QSFP+ネットワークアダプターは、正確な時刻同期とハードウェアタイムスタンプを40GB/10GBイーサネットと組み合わせています。また、アダプターは、カーネルバイパスを高速化するユーザーレベルのTCP/IPネットワークスタックを提供するOnloadをサポートし、非常に低いレイテンシを提供します。
Onloadスタックには、送信バッファと受信バッファ、開いている接続、および関連するポート番号とスタックオプションが含まれます。Onloadは、カーネルからユーザーへの割り込みを排除することでCPUのオーバーヘッドを削減し、ネットワークアダプターがネットワークの受信呼び出しを直接処理する間、アプリケーションをユーザー空間に残し、それらの義務をカーネルから取り除きます。
Mellanox製 ConnectX-5イーサネットアダプターカードは、高性能、Web 2.0、クラウド、データ分析、ストレージプラットフォームを最大化するための新しい加速エンジンを促進します。このテクノロジーは、仮想スイッチとルーターのオフロードにより、クラウドとNFVプラットフォームの効率を改善するために転送速度を上げることを目的としています。
Intel Omni-Pathホストファブリックインタフェースシリコン100シリーズアダプターは、パケットごとの処理オーバーヘッドを削減し、マルチコアスケーリングを実現する大容量パケット転送サポートにより、効率を向上させます。ホストファブリックインタフェースアダプターは、リンク転送パケット(LTP)のトラフィック制御を緩和して効率的なワイヤー転送を行います。一方、Omni-Pathアーキテクチャー(OPA)は、待ち時間とスループットを最適化するスイッチング決定を行うことを目的としています。
各NICに対するオペレーティングシステムの比較:
以下に示すデータは、RedHawkのカーネルがシステムに負荷がかかったときに、他のオペレーティングシステムよりも一貫して少ないジッタで相互作用することを示しています。次のグラフは、バイト単位の転送パケットサイズとナノ秒単位の標準偏差時間を示しています。すべてのパケットサイズでRTT/2倍の競争力を備えているため、ジッターが大幅に減少し、リアルタイムアプリケーションに焦点を当てた一貫性の信頼性が高まります。以下に示すレイテンシ標準偏差の比較は、CPUシールド方法が実装されている場合、RedHawkテストはすべてのパケットサイズでRed HatおよびCentOSテストよりもほぼ50%少ないジッタを一貫して実行していることを示しています。
上のグラフは、パケットサイズをバイト単位で示しレイテンシRTT/2時間をナノ秒単位で示しています。システムに負荷があり、シールドがないインスタンスでは、RedHawkは、Solarflare製およびMellanox製 InfiniBandアダプターを実装するときに、比較的短い待ち時間を示します。シールドと負荷の両方が存在する場合、3つのカーネルすべてが互いに1マイクロ秒以内に実行される傾向があります。
オペレーティングシステムに対するNICの比較:
RedHawk®は、同じNIC上の他のオペレーティングシステムと比較して、より優れたレイテンシ標準偏差値を示しますが、Onloadを備えたSolarflare製NIC(オレンジ色)は他のネットワークアダプターよりもジッターを最も改善します。
まとめ:
上記の表は、システムに負荷がかかっているときにRedHawkカーネルが提供するパフォーマンスの利点を強調しています。シールドされた条件下での平均往復遅延時間は同様ですが、RedHawkはさらに、Red Hatリアルタイムカーネルと比較して標準偏差をほぼ50%削減します。この一貫性の強化は、リアルタイムのアプリケーションパフォーマンスを確保するために必要な信頼性の向上に直接つながります。Onloadを使用すると、RTT/2およびジッターがTCPおよびUDPプロトコル全体で一貫して向上します。
——————————————————————–
原文ドキュメント:Concurrent社
Comparison_of_Real-Time_Network_Performance.pdf
Comparison of Real-time Network Performance of RedHawk™ Linux® 7.5.2 and Red Hat® Operating Systems
関連製品
iHawk:RedHawk Linux コンピュータプラットフォーム
Concurrent社について
Concurrent社は、産業および防衛市場向けの高性能リアルタイムLinuxコンピューターシステム、ソリューション、ソフトウェアの業界屈指のプロバイダーです。ハードウェアインザループおよびマンインザループシミュレーション、データ収集、および産業システムに重点を置いており、航空宇宙および防衛、自動車、エネルギー、金融などの業界にサービスを提供しています。コンカレント本社はフロリダ州ポンパノビーチにあり、北米、ヨーロッパ、アジアにローカルオフィスがあります。
コンカレント社のRedHawk Linuxは、Intel x86およびARM64プラットフォーム用のオープンソースLinuxオペレーティングシステムの業界標準リアルタイムバージョンです。 RedHawk Linuxは、タイムクリティカルかつハードなリアルタイム環境で必要な保証されたパフォーマンスを提供します。RedHawkは、モデリング、シミュレーション、データ収集、プロセス制御、イメージングシステムなどの幅広いサーバーおよび組み込みアプリケーション向けに最適化されています。