Hi, What's more important for a bird, the clock speed of a single processor core or the number of physical cores? For example, which is the better choice: 8x2.2 GHz or 4x3.8 GHz Kind regards, Mike
Hello, On Sat 01 Nov 2025 21:48:22 GMT, Mike Neo wrote:
Hi,
What's more important for a bird, the clock speed of a single processor core or the number of physical cores? For example, which is the better choice: 8x2.2 GHz or 4x3.8 GHz
Kind regards, Mike
I always prefer the performance per core. Even if bird3 is multi-threaded, you’ll always have some locks between the threads (eg. compute and actual next-hop from BGP using OSPF). And on pure routing, the higher the frequency is, the fastest the packet is routed. -- Alarig
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right? niedz., 2 lis 2025 o 00:24 Alarig Le Lay via Bird-users < bird-users@network.cz> napisał(a):
Hello,
On Sat 01 Nov 2025 21:48:22 GMT, Mike Neo wrote:
Hi,
What's more important for a bird, the clock speed of a single processor core or the number of physical cores? For example, which is the better choice: 8x2.2 GHz or 4x3.8 GHz
Kind regards, Mike
I always prefer the performance per core. Even if bird3 is multi-threaded, you’ll always have some locks between the threads (eg. compute and actual next-hop from BGP using OSPF). And on pure routing, the higher the frequency is, the fastest the packet is routed.
-- Alarig
And isn't it true that the speed of a single core is very important for routing daemons (control plane), but less so for packet forwarding (data plane), which can be parallelized between cores, especially in Linux? niedz., 2 lis 2025 o 07:05 Mike Neo <neomikemac@gmail.com> napisał(a):
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
niedz., 2 lis 2025 o 00:24 Alarig Le Lay via Bird-users < bird-users@network.cz> napisał(a):
Hello,
On Sat 01 Nov 2025 21:48:22 GMT, Mike Neo wrote:
Hi,
What's more important for a bird, the clock speed of a single processor core or the number of physical cores? For example, which is the better choice: 8x2.2 GHz or 4x3.8 GHz
Kind regards, Mike
I always prefer the performance per core. Even if bird3 is multi-threaded, you’ll always have some locks between the threads (eg. compute and actual next-hop from BGP using OSPF). And on pure routing, the higher the frequency is, the fastest the packet is routed.
-- Alarig
It’s also what I understood. On Sun 02 Nov 2025 07:40:12 GMT, Mike Neo wrote:
And isn't it true that the speed of a single core is very important for routing daemons (control plane), but less so for packet forwarding (data plane), which can be parallelized between cores, especially in Linux?
niedz., 2 lis 2025 o 07:05 Mike Neo <neomikemac@gmail.com> napisał(a):
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
niedz., 2 lis 2025 o 00:24 Alarig Le Lay via Bird-users < bird-users@network.cz> napisał(a):
Hello,
On Sat 01 Nov 2025 21:48:22 GMT, Mike Neo wrote:
Hi,
What's more important for a bird, the clock speed of a single processor core or the number of physical cores? For example, which is the better choice: 8x2.2 GHz or 4x3.8 GHz
Kind regards, Mike
I always prefer the performance per core. Even if bird3 is multi-threaded, you’ll always have some locks between the threads (eg. compute and actual next-hop from BGP using OSPF). And on pure routing, the higher the frequency is, the fastest the packet is routed.
-- Alarig
Hello! On Sun, Nov 02, 2025 at 07:05:42AM +0100, Mike Neo wrote:
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
Yes, every individual bgp protocol instance indeed runs in a single thread, and there is no good reason to split it because most of the time it's the network which is slower than BGP. If you run just several bgp instances, you don't need to care about the performance at all, even if you load a full table from all of them. As soon as you start running many bgp instances, you may use more threads. Yet, in the end it may be best to say what is your expected load and we may then tell you what may be the performance chokepoints and how many threads may work for you. Have a nice day! Maria -- Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
Hello! I need to configure a simple BGP router to support 1-2 full BGP peers and one IX peer. The total traffic supported is 1-2 Gbps. I'm planning two BGP routers based on Ubuntu + Bird (version 2 or 3). Each router has two Intel X520-DA2 cards, one CPU, and 32GB of RAM. I'm considering: 1. CPU: - 8x2.2 GHz or 4x3.8 GHz, or maybe something else? - should I run HT or not? 2. Architecture: iBGP + VRRP or VRRP only? 3. Which Bird version? Anything else I should think about? Kind regards, Mike niedz., 2 lis 2025 o 16:20 Maria Matejka <maria.matejka@nic.cz> napisał(a):
Hello!
On Sun, Nov 02, 2025 at 07:05:42AM +0100, Mike Neo wrote:
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
Yes, every individual bgp protocol instance indeed runs in a single thread, and there is no good reason to split it because most of the time it’s the network which is slower than BGP.
If you run just several bgp instances, you don’t need to care about the performance at all, even if you load a full table from all of them.
As soon as you start running many bgp instances, you may use more threads. Yet, in the end it may be best to say what is your expected load and we may then tell you what may be the performance chokepoints and how many threads may work for you.
Have a nice day! Maria
– Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
I would use 4x3.8 in that case, without HT. But for VRRP I don’t see the point, bird doesn’t implement it. On Sun 02 Nov 2025 22:14:17 GMT, Mike Neo wrote:
Hello! I need to configure a simple BGP router to support 1-2 full BGP peers and one IX peer. The total traffic supported is 1-2 Gbps.
I'm planning two BGP routers based on Ubuntu + Bird (version 2 or 3). Each router has two Intel X520-DA2 cards, one CPU, and 32GB of RAM.
I'm considering:
1. CPU: - 8x2.2 GHz or 4x3.8 GHz, or maybe something else? - should I run HT or not? 2. Architecture: iBGP + VRRP or VRRP only? 3. Which Bird version?
Anything else I should think about?
Kind regards, Mike
niedz., 2 lis 2025 o 16:20 Maria Matejka <maria.matejka@nic.cz> napisał(a):
Hello!
On Sun, Nov 02, 2025 at 07:05:42AM +0100, Mike Neo wrote:
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
Yes, every individual bgp protocol instance indeed runs in a single thread, and there is no good reason to split it because most of the time it’s the network which is slower than BGP.
If you run just several bgp instances, you don’t need to care about the performance at all, even if you load a full table from all of them.
As soon as you start running many bgp instances, you may use more threads. Yet, in the end it may be best to say what is your expected load and we may then tell you what may be the performance chokepoints and how many threads may work for you.
Have a nice day! Maria
– Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
@Maria Matejka <maria.matejka@nic.cz> What are your recommendations? pon., 3 lis 2025 o 18:53 Alarig Le Lay <alarig@swordarmor.fr> napisał(a):
I would use 4x3.8 in that case, without HT. But for VRRP I don’t see the point, bird doesn’t implement it.
On Sun 02 Nov 2025 22:14:17 GMT, Mike Neo wrote:
Hello! I need to configure a simple BGP router to support 1-2 full BGP peers and one IX peer. The total traffic supported is 1-2 Gbps.
I'm planning two BGP routers based on Ubuntu + Bird (version 2 or 3). Each router has two Intel X520-DA2 cards, one CPU, and 32GB of RAM.
I'm considering:
1. CPU: - 8x2.2 GHz or 4x3.8 GHz, or maybe something else? - should I run HT or not? 2. Architecture: iBGP + VRRP or VRRP only? 3. Which Bird version?
Anything else I should think about?
Kind regards, Mike
niedz., 2 lis 2025 o 16:20 Maria Matejka <maria.matejka@nic.cz> napisał(a):
Hello!
On Sun, Nov 02, 2025 at 07:05:42AM +0100, Mike Neo wrote:
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
Yes, every individual bgp protocol instance indeed runs in a single thread, and there is no good reason to split it because most of the time it’s the network which is slower than BGP.
If you run just several bgp instances, you don’t need to care about the performance at all, even if you load a full table from all of them.
As soon as you start running many bgp instances, you may use more threads. Yet, in the end it may be best to say what is your expected load and we may then tell you what may be the performance chokepoints and how many threads may work for you.
Have a nice day! Maria
– Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
@Alarig Le Lay <alarig@swordarmor.fr> thx Who can add additional recommendations? pon., 3 lis 2025 o 18:53 Alarig Le Lay <alarig@swordarmor.fr> napisał(a):
I would use 4x3.8 in that case, without HT. But for VRRP I don’t see the point, bird doesn’t implement it.
On Sun 02 Nov 2025 22:14:17 GMT, Mike Neo wrote:
Hello! I need to configure a simple BGP router to support 1-2 full BGP peers and one IX peer. The total traffic supported is 1-2 Gbps.
I'm planning two BGP routers based on Ubuntu + Bird (version 2 or 3). Each router has two Intel X520-DA2 cards, one CPU, and 32GB of RAM.
I'm considering:
1. CPU: - 8x2.2 GHz or 4x3.8 GHz, or maybe something else? - should I run HT or not? 2. Architecture: iBGP + VRRP or VRRP only? 3. Which Bird version?
Anything else I should think about?
Kind regards, Mike
niedz., 2 lis 2025 o 16:20 Maria Matejka <maria.matejka@nic.cz> napisał(a):
Hello!
On Sun, Nov 02, 2025 at 07:05:42AM +0100, Mike Neo wrote:
As far as I understand it, BIRD 3 implements multithreading by allowing different protocol instances or routing tables to run on separate worker threads, but each individual bgp protocol instance itself still operates mostly in a single-threaded manner. Right?
Yes, every individual bgp protocol instance indeed runs in a single thread, and there is no good reason to split it because most of the time it’s the network which is slower than BGP.
If you run just several bgp instances, you don’t need to care about the performance at all, even if you load a full table from all of them.
As soon as you start running many bgp instances, you may use more threads. Yet, in the end it may be best to say what is your expected load and we may then tell you what may be the performance chokepoints and how many threads may work for you.
Have a nice day! Maria
– Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
participants (3)
-
Alarig Le Lay -
Maria Matejka -
Mike Neo