Slashdot Mirror


Microsoft Reports OSS Unix Beats Windows XP

Mortimer.CA writes "In a weblog entry, Paul Murphy mentions a Microsoft report (40 page PDF) that in many instances FreeBSD 5.3 and Linux perform better than Windows XP SP2. The report is about MS' Singularity kernel (which does perform better than the OSS kernels by many of the metrics they use), and some future directions in OS design (as well as examination of the way things have been done in the past)." From the post: "What's noteworthy about it is that Microsoft compared Singularity to FreeBSD and Linux as well as Windows/XP - and almost every result shows Windows losing to the two Unix variants. For example, they show the number of CPU cycles needed to "create and start a process" as 1,032,000 for FreeBSD, 719,000 for Linux, and 5,376,000 for Windows/XP."

14 of 442 comments (clear)

  1. 44 pages and the main question is still unanswered by TripMaster+Monkey · · Score: 4, Insightful

    Here's an interesting snippet I found while perusing the PDF...thought I'd share.
    On the other hand, this paper does not validate our goal of increased dependence. Measuring that aspect of a system is significantly more challenging than performance. We do not yet have results for Singularity.
    Interesting...Singularity is ostensibly supposed to be about stability, but the 44-page paper has no data on this. Kinda like saying, "Our new bulletproof vest is 40% lighter than our leading competitors, and twice as flexible. How well does it stop bullets, you ask? Sorry...we do not yet have results for that benchmark.".

    Wake me when a paper comes out about Microsoft's new stability-oriented OS that actually addresses that particular aspect of the product.
    --
    ____

    ~ |rip/\/\aster /\/\onkey

  2. Singularity is truly an intriguing system. by CyricZ · · Score: 5, Insightful

    Singularity is a very interesting system. But that's not surprising, when you consider some of the brains behind it: Galen Hunt, Wolfram Schulte, Ulfar Erlingsson, Rebecca Isaacs, and many others who are well-known for their research.

    In twenty or so years we may look back at Microsoft Research with the same admiration we have for Bell Labs.

    --
    Cyric Zndovzny at your service.
    1. Re:Singularity is truly an intriguing system. by yurnotsoeviltwin · · Score: 5, Insightful

      You definitely have a good point there. Everyone around here bashes Microsoft obviously, and for good reason. Their business practices can get a bit on the shady side sometimes, though they problably aren't deserving of quite the amount of hate they get around these parts. But their programming and research, particularly research, isn't that shabby, and certainly isn't "evil." Remember, M$ doesn't just sell operating systems, it makes them too, and to do that you have to have brains. I think some people around here need to give at least the engineers and researchers in Microsoft a little more respect.

    2. Re:Singularity is truly an intriguing system. by LowneWulf · · Score: 4, Insightful

      I've seen talks and papers that have come out of Microsoft research, and while it may look good as a website summary, the quality of the actual projects and results varies wildly. They may talk big, but in the end, I've only ever seen a couple of projects out of MSR that were even worth talking about, and the research labs of places like IBM, HP, and even Sun do many far more interesting things.

      One other big problem from MSR - on the occasional project that's actually good, they somehow manage to kill it, or at least never tech transfer it into products. I cry when I think of some of the awesome dev technologies MSR was working on a few years ago that never made it out.

  3. Re:44 pages and the main question is still unanswe by man_of_mr_e · · Score: 4, Insightful

    Well, that's sort of to be expected. Stability is not as easy to measure as other things, since you need benchmarks over a long period of time. Further, since it's still a research OS, it's likely in constant flux and doesn't have the same kind of stability hardening of a retail OS.

  4. Microsoft Research is not Microsoft. by Kickasso · · Score: 4, Insightful

    Microsoft is not Microsoft Research. Microsoft Research folks use and make free software, and in general are not ideologically bound to the parent organisation.

  5. Re:What's the point of CreateProcess benchmarks? by CyricZ · · Score: 4, Insightful

    It's not so much about its ability to start thousands of processes. What is important is that it takes Windows XP five times as long as FreeBSD to create a single process, and seven times as long as Linux. That's a significant difference.

    --
    Cyric Zndovzny at your service.
  6. Give me a fucking break by Wonko42 · · Score: 5, Insightful
    I've been seeing this damn report hailed all over the Internet for the last few days as Microsoft saying Unix is better than Windows, but apparently nobody has actually read the report.

    For one thing, Windows is not slower than Unix in most of the tests. It's slower than Unix in some of the tests and faster in others. For another, these benchmark results are for low-level things like spawning processes and threads. Any programmer who knows anything about Unix and Windows will tell you that threads are cheaper in Windows and processes are cheaper in Unix, because that's how they were designed. So of course Windows is going to be slower than Unix at creating processes, and of course Unix is going to be slower than Windows at creating threads.

    The only thing worth reporting about this thing is the performance of Singularity, which looks like it's shaping up to be an excellent modern kernel.

    1. Re:Give me a fucking break by Wonko42 · · Score: 4, Insightful

      Yes. It's the "almost every" that I have an issue with, because it's a blatant exaggeration. I've also seen that phrasing used in several news articles about the report. But when I looked at the actual report, I saw plenty of tests where Windows actually beat Unix. I didn't bother counting, but I'd estimate that the two came out pretty evenly matched, with Unix maybe slightly ahead. In any case, no matter which one beat the other more times, these are very low-level tests. Nobody's going to notice these differences unless they're running a high-traffic server or doing some really heavy-duty computing.

  7. Typical slashdot post exaggerations by chris09876 · · Score: 4, Insightful

    The scenario stated in the slashdot post does show a situation where linux performs better than Windows. ...but after looking through the "performance" section of the whitepaper, it's pretty much the only case where linux is better. Windows appears to beat linux on quite a few other tests (such as memory use of a 'hello world' program, the executable size, and even some of the 'cost of basic operations' tests)

  8. Re:Processes v. threads by Todd+Knarr · · Score: 4, Insightful

    Exactly. NT got it's process model from VMS, and process creation was a very heavyweight operation. Unix, by contrast, had a very lightweight process creation operation. Hence NT needed threads to provide a faster alternative to processes, while Unix (whose processes were almost as cheap to create as NT threads) didn't really need threads for anything other than a marketing checklist (about the only thing Unix threads get you that processes don't is fully-shared address space, and I'd argue that's often more a problem than an advantage).

  9. Wow is this ever misleading by tqbf · · Score: 4, Insightful

    Here's the table from the paper, ranked best-worst, W=windows, F=freebsd, L=linux, S=singularity:

    Read Cycle Counter: W: 2, F: 6, L: 6, W: 2, S: 8

    ABI Call: S:87, L:437, W:627, F:878

    Thread Yield: S:394, W:753, L:906, F: 911

    2-Thread ping-pong: S:1207, W:1658, L: 4041, F: 4707

    2-Message ping-pong: S:1452, L: 5797, W: 6244, F: 13304

    Process Creation: S: 300000, L: 719000, F: 1032000, W: 5376000

    The only stat in this table that Windows trails on is process creation. And anybody who has ever ported Unix code to Win32 knows exactly why: Windows is thread-oriented, and Windows systems don't tend to use helper programs or demand-forking to get work done. Which might be why Windows beats Unix in the thread benchmarks, but not in the IPC benchmarks. On the more general benchmarks, like cycles to issue a system call, Windows falls smack in the middle --- and, again, Windows has a slightly different take on what is and isn't a system call.

    Drawing comparisons between Singularity and normal operating systems here is silly. Singularity doesn't have processes in the conventional sense; since there's no hardware dependencies on "process" creation in Singularity, IPC and forking are much faster.

    Which is why this benchmark is reasonable inside the Singularity tech report (they're trying to demonstrate that there's a major performance benefit in rethinking boundaries between programs), but totally unreasonably outside that context: these are micro-benchmarks, like the ones CISC and RISC people throw at each other, and don't describe the amount of time it takes to complete a high-level task. Time to execute a system call is meaningful only in the context of how many system calls it takes to complete the task you're measuring.

  10. Did you actually read it? by cyclopropene · · Score: 5, Insightful
    Interesting...Singularity is ostensibly supposed to be about stability, but the 44-page paper has no data on this. Kinda like saying, "Our new bulletproof vest is 40% lighter than our leading competitors, and twice as flexible. How well does it stop bullets, you ask? Sorry...we do not yet have results for that benchmark.".

    You didn't really read it, did you? From TFA(bstract).

    ...Singularity demonstrates the practicality of new technologies and architectural decisions, which should lead to the construction of more robust and dependable systems.

    The point of the paper is NOT to demonstrate a fully working uber-dependable system, but to validate the practicality of the architecture that is under development, and the new technologies being included. That's why they have the section on performance, with the preface (right above your quote, btw):

    If Singularity's goal is more dependable systems, why does this report include performance measurements? The answer is simple: these numbers demonstrate that [the] architecture that we proposed not only does not incur a performance penalty, but is often as fast as or faster than more conventional architecture[s]. In other words, it is a practical basis on which to build a system.

    That's the point of the paper. I understand, however, that you might have been in too much of a rush to get first post that you didn't understand the point of the paper...

    --
    Shouldn't you be doing something useful?
  11. Re:That explains a lot by pthisis · · Score: 4, Insightful

    Yawn, same old stuff - read the rest, Windows is better at thread switching. That makes up for the slow process creation. Windows programmers know that processs creation is slow, and thread creation is quick.

    As a result, you get tons of unstable Windows applications because to get any reasonable concurrency you have to throw out the years of hard work that OS designers put into having protected memory.

    Threads vs. processes isn't "two different ways of doing the same thing". Barring a massive implementation boondoggle, you make that choice based on whether you want memory protection or not. These numbers highlight a massive boondoggle, which takes the correct choice away from the application author in many cases.

    --
    rage, rage against the dying of the light