update-threading
Syntax
update-threading { number-of-threads; group-split-size; } }
Hierarchy Level
[edit system processes routing bgp]
Description
Enables BGP update thread. If you configure update-threading on a routing engine, RPD creates update threads.
Sharding requires Update/IO thread. If
rib-sharding
is configured andupdate-threading
is not configured, the commit check fails.RPD would restart automatically when rib-sharding or update-threading configuration is changed.
Options
number of threads
—the number
of update threads created. If you configure update-threading on a
routing engine, RPD creates update threads. By default, the number
of update threads created is same as the number of CPU cores on the
routing engine. Optionally, you can specify the number-of-threads
you want to create.
group-split-size
—the large groups are divided into fragments based
on the configuration of the group-split-size
(The size here is the
number of peers). The feature is enabled only after a
group-split-size
number is provided, until then the feature
remains disabled (since the split size would be 0). The objective of the feature is
to share the load with different threads since multiple threads are alway available
to process. This group-split-size
statement defines the size that
we are using to split the peer group. The preferred size value for this statement is
0 to 2000.
You can adjust the group-split-size
value according to the
requirement. There are two general tips for finding a reasonable
group-split-size:
- Do not make it too large so that the system is not evenly distributed. For example, when we have one group of 1000 peers and 10 available threads, setting split-size to 100 is better than 200 because it allows the system to utilize all 10 threads for 100 peers per thread compared to only 5 will be used for 200 peers per thread.
- Do not make it too small so that it takes the unnecessary overhead of splitting groups. For example, if we have 10 groups (each group contains 103 peers) and 10 available threads, setting split-size to 103 will be better than 100 because splitting a group of 103 to 100 and 3 will give us unnecessary overhead.
Range: 1-128 threads
Required Privilege Level
system—To view this statement in the configuration.
system-control—To add this statement to the configuration.
Release Information
Statement introduced in Junos OS Release 19.4R1.
group-split-size
statement introduced in Junos OS Release
21.4R1.
Support for NSR with sharding introduced in Junos OS Release 22.2.