Announcement

Collapse
No announcement yet.

FreeBSD's Network Bridge Code Scores A 500% Performance Improvement

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by pal666 View Post
    5x is 400%
    The FreeBSD Foundation published those numbers directly in the title: 500% if_bridge Performance Improvement. So it's not Michael this time.

    Comment


    • #12
      I am not too familiar in this area but, I suppose this this good news for the virtualization network stack too?

      Comment


      • #13
        It really had to be not optimal before.

        Comment


        • #14
          Originally posted by Space Heater View Post

          Epoch is essentially FreeBSD's version of Linux's RCU.
          Indeed. Most of the RCU patents have now expired, so FreeBSD developers could start using it (and work around the couple of related implementation techniques that are still patented).

          Comment


          • #15
            Originally posted by jacob View Post

            Indeed. Most of the RCU patents have now expired, so FreeBSD developers could start using it (and work around the couple of related implementation techniques that are still patented).
            There's interesting work under way in FreeBSD that looks even better than RCU:
            https://people.freebsd.org/~jeff/smr.pdf
            https://people.freebsd.org/~jeff/smrmem.pdf
            Here is a (timestamped) video presentation on the work:
            https://youtu.be/ZXUIFj4nRjk?t=697

            Comment


            • #16
              Originally posted by jacob View Post

              Indeed. Most of the RCU patents have now expired, so FreeBSD developers could start using it (and work around the couple of related implementation techniques that are still patented).
              "most" is not suficient for any lawyer. Luckily for the BSDs, epoch is better and RCU was not the end.

              Comment


              • #17
                Originally posted by wikinevick View Post

                "most" is not suficient for any lawyer. Luckily for the BSDs, epoch is better and RCU was not the end.
                "most" in the sense that it is now possible to implement a variation of it ("epoch") without infringing on the ones that remain. Epoch *IS* a form of RCU, the difference between it and the Linux version(s) is in object reclamation rules. It makes no sense to say that epoch is better than RCU any more than that a synchronized{} block in Java is better than a mutex: it *is* a mutex. The Epoch implementation in FreeBSD is better in some ways than the one in Linux as it doesn't have nearly as many weird special cases and doesn't rely on too many "clever" tricks, on the other hand Linux is more efficient in scenarios with many readers and few writers. Besides both are constantly evolving.

                Comment


                • #18
                  Originally posted by wikinevick View Post

                  "most" is not suficient for any lawyer. Luckily for the BSDs, epoch is better and RCU was not the end.
                  FreeBSD was always years behind Linux when comes to locking and SMP, so I doubt their implementation is in half as good as Linux RCU. I also doubt epoch is better:

                  Our analysis helped us to identify the main source of overhead in EBR (epoch based reclaim) and decrease it, resulting in our new epoch based reclamation (NEBR) scheme. Furthermore, understanding the impact of reclamation schemes on algorithm performance enables fair comparison of different algorithms—in our case,lock-free and concurrently readable lists and hash tables.The results of our analysis indicate that QSBR is, in fact,the scheme best suited to an OS kernel environment. Our performance data from the Linux kernel shows that lockless aproaches using QSBR are practical and can outperform locking approaches by a large margin.
                  http://csng.cs.toronto.edu/publicati...159/jpdc07.pdf
                  Last edited by Volta; 26 April 2020, 06:16 AM.

                  Comment


                  • #19
                    Originally posted by jacob View Post

                    "most" in the sense that it is now possible to implement a variation of it ("epoch") without infringing on the ones that remain.....
                    "most in any sense is exactly what lawyers don't want. There is uncertainty of how far RCU can be implemented and IBM's lawyers are not going to make statements that clarify the situation. Epoch is a clean room alternative and while it is clearly more modern, there is no easy way to compare, as in benchmark, one above the other without taking many other implementation issues into account. Still, tests are welcome.

                    Comment


                    • #20
                      Originally posted by Volta View Post

                      FreeBSD was always years behind Linux when comes to locking and SMP, so I doubt their implementation is in half as good as Linux RCU. I also doubt epoch is better:



                      http://csng.cs.toronto.edu/publicati...159/jpdc07.pdf
                      I will agree with the first part of the claim. Linux has many more developers and SMP has always been ahead. However, FreeBSD has the benefit of remiplementation: it can always avoid making the errors linux made. And linux is far from perfect.

                      Comment

                      Working...
                      X