FreeBSD's Network Bridge Code Scores A 500% Performance Improvement
Thanks to a FreeBSD Foundation Community Grant, FreeBSD 13 will be bringing up to a 5x performance improvement for if_bridge, the kernel code for network bridge device support.
FreeBSD is already known to perform well within enterprise network infrastructure but it turns out for if_bridge there has been a performance bottleneck hitting some large operators like France's Orange telecom company. Due to heavy contention on a single mutex for this network switch code, there was a limit of processing around 3.7 million packets per second. But in making use of epoch on FreeBSD 13-CURRENT for allowing greater concurrency without needing a lock/mutex, the performance opened up to being able to handle around 18.6 million packets per second.
The actual scaling may get even better on very large core count systems with this improved if_bridge code offering greater concurrency rather than being held up by a mutex.
More details on this massive if_bridge performance win for FreeBSD via FreeBSDFoundation.org.
FreeBSD is already known to perform well within enterprise network infrastructure but it turns out for if_bridge there has been a performance bottleneck hitting some large operators like France's Orange telecom company. Due to heavy contention on a single mutex for this network switch code, there was a limit of processing around 3.7 million packets per second. But in making use of epoch on FreeBSD 13-CURRENT for allowing greater concurrency without needing a lock/mutex, the performance opened up to being able to handle around 18.6 million packets per second.
The actual scaling may get even better on very large core count systems with this improved if_bridge code offering greater concurrency rather than being held up by a mutex.
More details on this massive if_bridge performance win for FreeBSD via FreeBSDFoundation.org.
29 Comments