Phoronix: FreeBSD 13 BETA Benchmarks - Performance Is Much Better

I saw that yesterday. And I find the result astonishing: most benchmarks improve by a factor of 1.5 to 2. Even those benchmarks that are purely CPU bound (like floating point or memory limited benchmarks). This tells me that 12.2 has been running at 0.5 to 0.67 of what the hardware is capable of. What has been holding it back? What was the bottleneck? Where does the improvement come from?

It really looks too good to be true.
 
Someone pushed the 'Turbo' button on the hardware this time.

2017-03-17-image.jpg
 
Dear DutchDaemon, I have a complaint about this forum, and it is major: There are only two "reaction" smileys one can select for posts, namely "thumbs up" and "shaking hands". We (meaning: you, the administrators) really need to add a "rolling on the floor laughing" to that list. Because your post above was funny, and deserves that.

Seriously, short of a turbo button, it's hard to explain how this improvement is possible. Phoronix unfortunately has a track record of publishing stuff that's either superficial or nonsensical.
 
FreeBSD is aimed more at the text preferring user. So just use ROTFL and don't complain about lack of GUI tools. (Sorry, couldn't resist, don't hit me, I have an injured shoulder right now).
 
FreeBSD is aimed more at the text preferring user. So just use ROTFL and don't complain about lack of GUI tools. (Sorry, couldn't resist, don't hit me, I have an injured shoulder right now).
This shoulder? No? How about this one?

It would be funnier if that box is actually under Dutchdaemon's desk right now.
 
This shoulder? No? How about this one?

It would be funnier if that box is actually under Dutchdaemon's desk right now.
I will not deny that, in an era long long ago, I actually had something like this under my desk. A desk that endured much yelling because the tip of my shoe would hit that turbo button from time to time, making everything grind to a halt. Just not often enough to make it immediately clear why stuff ... just ...... stopped ........... performing. So that was a pain every time. Until I found out that I could do that to co-workers.
 
A post on Heise Online (google-translated below) suggests this:

You have to imagine this. A top-class programmer just knelt deeper and FreeBSD got twice as fast:


What did he do? "Lock-Free" data structures introduced! Every access, every event is first passed through a structure of several parallel queues. Access is disjoint. Each CPU core receives at least 3 queues. While one queue is being written, another is being read and the "Todo Tasks" in the 3rd queue are then sorted, e.g. according to prion criteria. And basically N times. With 16 cores, in order to avoid any collision, I have to reserve 3 queues exclusively for each of its 15 neighboring cores.

That's about it, actually. But this eliminates all synchronization mechanisms, mutexes, locks, semaphores, latches ...
 
Will this improvement get backported to older supported releases?
 
A post on Heise Online (google-translated below) suggests this:
I read that thread on Heise; it seems to be a debate between Kli-Kla-Klawitter, Urfahraner Auge and Gernotius. It has no concrete information, nothing about what was changed where, and no link to actual kernel changes. It is a general discussion of lock-free data structures in the abstract. Looking at the discussion of what has been changed in version 13, the only thing that I can find is related to lock-free data structures is that a few (certainly very skilled) people did some work on the pf implementation and perhaps bridge networking. But improving pf and networking can not lead to a massive performance change on all applications. Matter-of-fact, I can't understand how improving kernel internal synchronization to use lock-free data structure leads to massive improvements in benchmarks that are user-space CPU and floating point constrained; those benchmarks should be spending nearly zero time in the kernel.

The whole Phoronix benchmark is really hard to understand and believe.
 
There is also a thread about the very topic on the German BSD forums, and user Yamagi seems to have a profound idea what have changed and what may have lead to the performance gains:


In English via the Google transalator:
 
Thank you for finding that thread. I think the two big ones for CPU-limited workloads (not IO or networking) are probably Intel P-states, for fine-grained clock boost, and NUMA improvements, so the code runs on a CPU that's close to the data. I don't know how much difference NUMA makes on single-socket high core count Intel chips (haven't looked in ~5 years on the data paths). Could those two explain double-digit percent improvements? Perhaps.
 
… The whole Phoronix benchmark is really hard to understand and believe.

If I recall correctly, there is (somewhere) an acknowledgement that the Test Suite is not intended to cater for everything that's possible with FreeBSD. Words to that effect.

1638337414366.png


Larabel is a known Linux fanboi …

The word "Linux" is prominent in page titles, mission statement etc.. As far as I know, the Linux orientation – from around 2005 – was never a secret.

If Phoronix' guy were actually 'ignorant or uninterested in the BSDs', then Phoronix wouldn't have the 'BSD' tag even there. BSD-related news are not a very frequent occurrence at Phoronix, true. But then again, I have yet to see another site that is not a blog, and keeps up with BSD's at a similar (or faster) pace. I do agree that some benchmarking articles are not that well-written, and I sometimes have to make personal mental adjustments as I read through them.

IMHO FreeBSD-related news published by Phoronix compares favourably to what's published at e.g. <https://www.freebsd.org/news/>. Re: the official FreeBSD site,

Much of what's flashed is not truly news flash-worthy.

– newsflashes amongst the links at <https://www.freebsd.org/news/>.

Phoronix Test Suite

I should encourage users (and readers) to participate here:

Phoronix Test Suite - Phoronix Forums

The description at <https://www.freshports.org/benchmarks/phoronix-test-suite/#description> originated in 2010.



Last but not least, Phoronix Forums discussion of the article linked from the opening post:

<https://www.phoronix.com/forums/forum/software/bsd-mac-os-x-hurd-others/1237711>
 
 
I should encourage users (and readers) to participate here:

Phoronix Test Suite - Phoronix Forums

The description at <https://www.freshports.org/benchmarks/phoronix-test-suite/#description> originated in 2010.



Last but not least, Phoronix Forums discussion of the article linked from the opening post:

<https://www.phoronix.com/forums/forum/software/bsd-mac-os-x-hurd-others/1237711>
Yeah, no thanks. No way am I going swimming in those troll-infested waters.
 
Yeah, no thanks. No way am I going swimming in those troll-infested waters.
FreeBSD forums have their share of trolls, too. Good to know that the PTS suite is available as a FreeBSD port. So now it's a matter of figuring out how to run PTS on FreeBSD, or at least learning how to use openbenchmarking.org to harvest the data to back up the outlandish-sounding claims about FreeBSD performance.
 
Back
Top