このページで
cRPDのシャーディングとアップデートIO
シャーディングの理解
BGPプロセスは異なるスレッドに分割されるため、RIBシャーディングを介してマルチコアルーティングエンジン上で同時に実行できるため、コンバージェンス時間が短縮され、パフォーマンスが向上します。BGP RIBシャーディングは、BGP RIBを複数のサブRIBに分割し、各サブRIBがBGPルートのサブセットを処理します。各サブ RIB は、並列処理を実現するために、個別の RPD スレッドによって提供されます。
BGP RIB シャーディングはデフォルトで無効になっています。この機能は、ルーティング エンジンが複数のコアを持つ 64 ビット ルーティング プロトコル プロセス(rpd)でのみサポートされています。この機能は、少なくとも4CPUコアと16GBのメモリを搭載したデバイスで設定することをお勧めします。
ルーティングエンジンでrib-シャーディングを設定すると、RPDはシャーディングスレッドを作成します。デフォルトでは、作成されるシャーディング・スレッドの数は、ルーティング・エンジンのCPUコア数と同じです。必要に応じて、作成するシャード数を指定できます。範囲は現在 1~31 です。
crpdのBGP RIBシャーディングは、 、および テーブルとroute-target
同様bgp.l3vpn.0
bgp.l3vpn-inet6.0
inet6-vpn unicast
bgp.rtarget
inet-vpn
にサポートされています。inet.0
inet6.0
この機能を有効にするには、 階層レベルでをedit system processes routing bgp
設定rib-sharding
します。シャーディングは UpdateIO スレッド機能に依存します。そのため、シャーディングを設定する場合は、UpdateIOスレッド機能が必須となります。updateIOを有効にするには、設定がコミットチェックを[edit system processes routing bgp]
渡すために 階層レベルrib-sharding
でを設定update-threading
する必要があります。
「」も参照
アップデートIOについて
BGP プロトコルは、BGP グループ内のピアに対してメッセージ生成を更新する作業を行います。メインRPDスレッドでのBGP作業は、BGP UpdateIOスレッドと呼ばれる別のスレッドに分割されます。各 UpdateIO スレッドは、1 つ以上の BGP ピア グループの更新を生成する役割を担います。BGPアップデート・スレッドは、異なるアップデート・スレッドによって処理されている他のグループとは独立して、並行してグループのアップデートを構築します。
これにより、多くのグループに分散する多くのピアに広告を出すなど、書き込み負荷の高いワークロードのコンバージェンスが大幅に向上する可能性があります。BGP UpdateIOスレッドは、RIBシャーディング機能とは独立して設定できますが、RIBシャーディングと一緒に使用することが必須です。これは、アウトバウンドBGPアップデートメッセージでのプレフィックスの梱包を改善し、パフォーマンスの向上に役立ちます。
BGP更新スレッドはデフォルトで無効になっています。ルーティングエンジンでupdate-threadingを設定すると、RPDはアップデートスレッドを作成します。デフォルトでは、作成されるアップデート・スレッドの数は、ルーティング・エンジンのCPUコア数と同じです。アップデートスレッディングは、64ビットルーティングプロトコルプロセス(RPD)でのみサポートされています。オプションで、 階層レベルで ステートメントを使用 set update-threading <number-of-threads>
して作成するスレッド数を edit system processes routing bgp
指定できます。範囲は現在 1~128 です。