Slashdot Mirror


Benchmarking the Scalability of BSD and Linux

Fefe writes "I recently did some benchmarks for a talk about scalable network programming I held at Linux Kongress 2003. The benchmark results turned out to be surprising enough to present them on their own. This ought to end those pesky flame wars about whose IP stack or memory management scales better. Or maybe not."

11 of 433 comments (clear)

  1. FreeBSD may be dying but it's fast! by seanadams.com · · Score: 4, Interesting

    Can anyone explain the discontinuities in the FreeBSD plots? Intuitively I would guess that something is breaking at high load, rather than getting miraculously faster. The author suggests that a clever optimization is kicking in, but I wonder if his tests were actually ensuring that the calls succeed.

    Also watch out as you read the graphs - just to keep you on your toes, he changes the colors in every one!

    1. Re:FreeBSD may be dying but it's fast! by WindBourne · · Score: 2, Interesting

      The process locks that slow down linux in SMP versions and prevent its doing x amount of work for each processor added are being done away with by Matt by subbing a job isolation scheme that assures each job runs on its own cpu rather than handing each call off to a freshly assigned one.
      If I understand what you wrote, that approach will work well for something with near static process creation. However, if you are constantly forking and having the number of processes/threads being created at rapid rates, it will actually be slower and utilize the resources poorly. Basically, you allocate a process to a CPU based on current loads and then it stays on the CPU. Nice and easy. But assume that you fork 5 processes. These are distributed between the 2 processors. But then 2 exit. That leaves 3 running. If they were allocated on the first CPU, that would mean that the 2'nd gets no utilitization. Linux has locks, but now, they are minimized. Yeah, it sux to create these, but when trying to create a 1000 processes/threads and utilize the 8-16 CPU's that will be used in the near future, the Linux approach will scale dramatically better.
      The real trick is not to move back to the old job approach of mainframes (which is roughly what you describe), but to lower the costs of using all the resources. I think that 2.6 has done just that. In addition, it allows for nice scaling on 1024 CPUs.

      --
      I prefer the "u" in honour as it seems to be missing these days.
  2. Open Source Software clearly superior by jgardn · · Score: 4, Interesting

    The winner in this case is Open Source software.

    The article is very fair and very well thought out. It is almost like reading a research paper. It looks like he is inviting criticism, insight, and corrections, rather than trying to force the experiments into a pre-determined outcome.

    Such a thing is not possible in the proprietary world. Any study done on proprietary software has to be tainted with opinion and the experiments must be skewed. Read the EULAs. Some EULAs won't even allow you to publish the results of such tests.

    Open Source software, of the BSD kind and the GPL kind, has totally changed the way we think about and work with software. One day, we will be able to scientifically determine what software we need to suit our needs. We will know ahead of time exactly what limits and what capabilities each piece of software has. IT managers will be able to sort through real facts based on real research, rather than a bunch of shallow articles and biased reports. Software will survive on its merits alone.

    The whole industry is going to benefit by this, in a large, large way. The question one day will no longer be "Microsoft or Linux?" but "Which Open Source software should we use, and why?"

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
    1. Re:Open Source Software clearly superior by dbarclay10 · · Score: 2, Interesting

      "superier to what? I missed the point only half as much as you did, at least it it appears to me so."

      In the context, FOSS is superior to closed-source software whose EULA forbids the publishing of benchmarks.

      For instance, in this case the published benchmarks show a number of tasks that OpenBSD is very poorly-suited for. Last guy *I* knew who tried to publish similar benchmarks about Oracle compared to MS SQL Server got cease-and-desisted by the Oracle folk.

      Cappice? :)

      --

      Barclay family motto:
      Aut agere aut mori.
      (Either action or death.)
  3. Don't miss to notice the recursion... by presroi · · Score: 2, Interesting

    Topic of this paper is

    "Scalable Network Programming
    Or: The Quest For A Good Web Server (That Survives Slashdot)"


    What a coincidence!

    By the way, fnord web server has at least once survived one slashdotting-event. 4 seconds of googleing result in this comment which should have let to a stream of visitors.

    I hope fefe will publish the numbers of visitors and the behavior of its web server as soon as possible.

  4. Re:Theo is going to be pissed.... by Anonymous Coward · · Score: 1, Interesting
    I read that T.Deraadt email thread when I first looked at OpenBSD, and my initial impression was that Theo had a real baaaaadddd attitude. I do know for a fact that a lot of the NetBSD folks were upset to see him leave and fork off his own version of the OS, and to lose him as a developer. But in reading his email he obviously has a problem with taking any criticism, and had no problem with jumping down someone's throat with a flamethrower and foul language. Denial, its not just a river in Egypt...

    Not that I wouldn't use OpenBSD, or any other operating system that met my technical needs, whatever the personality of the people involved. I've dealt with enough bad attitudes from commercial OS vendors in my years in the industry to be able to deal with it if I have to. It just seems that *BSD has an extra heaping helping of bad attitudes that make commercial vendors look like pikers.

    If you *really* read that email thread, you would see the attitude loud and clear. "We don't think that it helps anything for you to tell someone he's a f**khead when he's posting a message trying to help with the OS development." "F**K YOU, *I* want control of the source and if you don't like it I'll fork my own off!"

    That's my impression of it... He sounded like an immature little upset kid to me. The development of any of the O.S. OS's is a group effort, and having one person think they have all the answers and have to be the one in control is dead wrong. So, now he *has* control of his own fork of BSD, and lost the ability to maintain many of the various platform ports because he has no developers. Thus, the OpenBSD page says that for a VAX port, for instance, "support can be easily ported over from NetBSD". Why these problems are so prevalent under FreeBSD/OpenBSD/NetBSD remains something of a mystery. These systems seem to be self selective in their attraction to weirdos and big egos.

    The split had nothing to do with the quality of his coding work, and everything to do with his nasty attitude towards people... and NOT just the people of NetBSD Core, but other people who were just civilians trying to help out, or looking for help.

  5. Improving the graphs by hey! · · Score: 2, Interesting


    Also watch out as you read the graphs - just to keep you on your toes, he changes the colors in every one!


    The author should use a graphing technique Edward Tufte calls "small multiples". In that you lay out a series of thumbmails of the each graph series. The eye can quickly scan down the thumbmails and get a rough feeling for how each series compares.

    This would avoid the problem where graphs overlay each other and with the inconsistency between graphs in the plotting conventions.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  6. open BSD, slowliness by lunardude · · Score: 2, Interesting

    In The article, The author mentions that he finds "unacceptable", or embarassing, a few things about openbsd, mainly concerning it's general speed and scalability.

    ALthought not beeing an expert in bsd nor in linux, maybe i'm rong, but isn't OpenBSD made to be secure, and not the fastest operatin system ( additionally, comparing oragnges to apples, by testing release/current/stable, wasn't the best way of comparing those OSes) ????

    By implementing a few feature in the OpenBSD stack and Kernell, I guess that the devellopers are delibetatelly sacrifying performance in order to get an Os less vulnerable to DOS and other vulnerabilities

    It owuld be interesting to compare the same OSes in a security test to find out which OS is more secure, if speed and scalability isn't the only issue in a OS...

  7. I seriously question the author's objectivity by zamurai · · Score: 2, Interesting

    Felix is more than opinionated about Linux vs. BSD. Check the qmail mailing list archives for his rants with BSD users about filesystem and other performance issues. In particular, he's had a number of run-ins with those on the list who use OpenBSD--the one he labels a `stinker'.

  8. Re:Theo is going to be pissed.... by Predius · · Score: 2, Interesting

    See the url above. Those 'dead' architectures that noone's using, the very fact that they ARE maintained demonstrates someone is using them enough to keep it working. Myself, I push a 386 and a SE/30. Both are more than fast enough for my purposes.

    Many people don't have the luxury of grabbing a P4 or Opteron as there whims demand. Supporting older hardware also does not slow an OS down. If done properly, it forces you to think about how to do things RIGHT so you don't eat unnecessary cpu cycles.

  9. Real point: they show improvement by iabervon · · Score: 2, Interesting

    The interesting point is that all of these operating systems seem to be getting faster. It seems to come down to how many recent developments have been integrated into the version being tested, not any inherent differences between operating systems. This is, of course, as it should be: the source for all of these operating systems is available, and there are even frequently papers describing the techniques. If a technique is, in fact, better, it should eventually be adopted by all of them, and so your results will depend on how much has been adopted in the version you're testing.

    It is encouraging to see that all of these developers are competing with the real opponent, which is not each other or even Microsoft, but the slashdot effect. After all, the goal should not be simply to be better than the others, but to be sufficient for the user's purpose, which is not hampered but rather assisted by sharing all of your tricks. It can sometimes seem like there are endless wars between Linux and BSD, but, behind the scenes, the sides actually share information. Never as much as they'd like, but always more than people think.