Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.0bgp.l3vpn-inet6.0inet6-vpn unicastbgp.rtargetinet-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 です。