Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Microsoft Software Linux

Microsoft Reports OSS Unix Beats Windows XP 442

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."
This discussion has been archived. No new comments can be posted.

Microsoft Reports OSS Unix Beats Windows XP

Comments Filter:
  • by TripMaster Monkey ( 862126 ) * on Friday November 11, 2005 @02:56PM (#14010279)

    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.
    • by man_of_mr_e ( 217855 ) on Friday November 11, 2005 @03:02PM (#14010331)
      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.
      • Insightful? How about "apologetic bull"?

        My job is in QA. Your statement says that my job is impossible. Here are a few ways you can test stability:

        1) See if the OS comes back online after a power cycle
        2) Insert and remove device drivers
        3) Send mangled data across the various data busses
        4) Run programs that try to allocate all the memory
        5) Run programs that try to hog all the CPU
        6) Run a program that fills the hardisk/erases the hardisk/refills the hardisk
        7) Do all the above all at the same time

        The OS is
        • by man_of_mr_e ( 217855 ) on Friday November 11, 2005 @08:11PM (#14012767)
          I didn't say your job was impossible, but your job is only testing a small subset of reliability. Reliability is also whether or not the OS stays up for a year at a time, or whether it has long term memory leaks. Reliability also has to do with weird race conditions that only show up after several programs interact for a significant amount of time, etc...

          What you're testing is simple stuff, stuff that's easy to identify. There's a whole other class of reliability testing that's far more long term.
    • I just have to bow before the guy who can read a 44 page pdf and post an intelligible, coherent comment on it in less than two minutes. I just have to ask - where do you get that kind of caffeine?


    • by trondd ( 824943 ) on Friday November 11, 2005 @03:18PM (#14010503)
      You clearly don't know much about what makes an operating system stable... Stability depends partly on how much error checking the compiler is capable of doing, partly on how people write software (design) and partly on how well the operating system is designed to separate processes and different parts from each other. Singulary addresses all of these issues: Its mainly writen in a "safe" language which is strongly typed and does lots of compiletime check and it is a microkernel operating system which (at least in theory) prevents your cheezy usb webcam driver from crashing the kernel. Most other unix wannabe systems are writen in the ancient language C :), and run monolithic kernels.

      But singularity isn't all new, it just implements old ideas: Occam and QNX!

      But in my opinion, Singularity just might be the most interessting os to emerge in the last years. It will be interesting to see how long it will take the free software world to come up with something similar :) (btw, I am a long term happy gnu/linux user, and have no plan of switching...)
    • Are these guys non-native speakers or what? Dependance is a bad thing, dependability is good.

    • by cyclopropene ( 777291 ) on Friday November 11, 2005 @04:03PM (#14010898)
      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...

  • Too Telling (Score:5, Funny)

    by teknopagan ( 912839 ) <bigdaddyj.gmail@com> on Friday November 11, 2005 @02:57PM (#14010290)
    Isn't it telling that the idea of Microsoft telling the truth is considered front page news on /.?
    • Re:Too Telling (Score:4, Interesting)

      by websaber ( 578887 ) on Friday November 11, 2005 @03:13PM (#14010454)
      This is the real big threat to the open source community. Once Microsoft becomes honest whith themselves they might start making real progress on the engineering side of their product. Marketing will get you so far when you have no more competition but good engineering can make it stick.
      • Re:Too Telling (Score:3, Interesting)

        by PickyH3D ( 680158 )
        Why is that a threat?

        A great product is a great product regardless of who makes it. I thought OSS was a big deal because it emphasised great engineering with openness. So, if you can't handle the heat, then stay out of the kitchen.

    • Re:Too Telling (Score:2, Insightful)

      by PickyH3D ( 680158 )
      I think it's more telling that the paper shows Linux or FreeBSD as performing better in a few tests, which is the reason it was able to appear on the front page.

      I'm happy though that MS may be taking Singularity seriously. Maybe we will see their OS in 2011-2015 based on it? Unless some sort of major shift in its purpose occurs, then I would definitely jump ship from whatever I am on then, to that and I will definitely port/develop my software for the OS.

    • telling for whom? Microsoft or Slashdot?
  • by ciroknight ( 601098 ) on Friday November 11, 2005 @02:58PM (#14010303)
    hmm funny, the last step is Acceptance. Too bad it seems Microsoft skipped the "bargaining" step.
  • by CyricZ ( 887944 ) on Friday November 11, 2005 @03:00PM (#14010315)
    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.

  • I guess this explains why linux boxes do so much better than windows boxes at high load, it takes the windows computer almost 8x as long to start a new process! That's something where a little bit of optimising really helps =)
    • And even once started, it is slow. I find Windows desktops to be HORRIBLE multitasking environments. Try unzipping a large file in the background and the machine comes to a crawl. On Linux you hardly even notice it unless you try to do something that requires lots of CPU. I mean, obvoiusly you're not going to get 100% CPU for each process, but the desktop shouldn't crawl.

      I always found it amusing that Windows and Mac users used to think that multitasking meant just having Word and IE open at the same time.
    • 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. Using Threads over Processes is not the same model you generally use in the Linux world which prefers Processes to threads.

      Even the Blog author makes the same comment: "So why is this interesting? Because their test methods reflect Windows internals, not Unix kernel design." yet he will still draws out
      • by pthisis ( 27352 ) on Friday November 11, 2005 @04:45PM (#14011304) Homepage Journal
        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.
        • 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.

          Throw out years of hard work? Give me a break! It almost seems that you are blaming the poor quality of modern threaded applications on Windows! That's rich!

          Concurrency is difficult to use correctly no matter what technology you use. Inter-process shared/mapped memory is just as susceptible to race condi

  • by Kickasso ( 210195 ) on Friday November 11, 2005 @03:03PM (#14010349)
    Microsoft is not Microsoft Research. Microsoft Research folks use and make free software, and in general are not ideologically bound to the parent organisation.
  • by Kevin Burtch ( 13372 ) on Friday November 11, 2005 @03:04PM (#14010359)
    I bet the person who put that report on MS's site has been drooling over the severance package... ;-)

  • by Wonko42 ( 29194 ) <ryan+slashdot@wo[ ].com ['nko' in gap]> on Friday November 11, 2005 @03:05PM (#14010368) Homepage
    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.

    • Are you saying that Paul Murphy's statement that, "almost every result [in the published report] shows Windows losing to the two Unix variants." is inaccurate?

      (I'm not being sarcastic: I haven't yet had time to read the full report, and would genuinely like to know.)
      • by Wonko42 ( 29194 ) <ryan+slashdot@wo[ ].com ['nko' in gap]> on Friday November 11, 2005 @03:24PM (#14010551) Homepage
        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.
    • Depends (Score:3, Insightful)

      by jd ( 1658 )
      There's been a lot of work on improving the threading under Unix variants. M:N threading models, zero-copy where data structures are identical, etc. It is entirely possible, if not probable, that some cases of threading will actually be faster under some u*ix-like OS' than Windows. Because there has also been a lot of work on security models under u*ix-like OS' (role-based memory encapsulation, etc) which are inherently slooooow, there will certainly be u*ix-like OS' which are slower at starting new process
    • Actually, both thread creation and process creation are much faster on Linux than Windows. However the margin is smaller for threads.

      I agree that the report is meaningless for the purposes suggested in this slashdot write-up. If anything, it tells us that something coming out from MS Research has the potential to kick the asses of both Windows and Linux.
  • by ackthpt ( 218170 ) * on Friday November 11, 2005 @03:06PM (#14010374) Homepage Journal
    XP sucks memory.

    The future: Longhorn will suck far more memory than XP.

    They must be in cahoots with the memory makers, alert Rambus!

  • by 222 ( 551054 )
    From TFA...

    "So why is this interesting? Because their test methods reflect Windows internals, not Unix kernel design. There are better, faster, ways of doing these things in Unix, but these guys - among the best and brightest programmers working at Microsoft- either didn't know or didn't care."

    So, Windows still loses at times when using what seems to be a biased (or simply uninformed) testing method? Loelz.
  • by Anonymous Coward on Friday November 11, 2005 @03:10PM (#14010414)
    NT (and its latter incarnations like XP and so forth) are desgined to use threads rather than process for multi-processing/concurrency, I understood. Is Win XP less efficient in multi-threading than BSD/Linux? The history of threads in UNIX seems more later bolt-on - UNIX was designed with multi-process model, I think.

    No I didn't RTFA.
    • by Todd Knarr ( 15451 ) on Friday November 11, 2005 @03:22PM (#14010536) Homepage

      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).

  • by Anonymous Coward on Friday November 11, 2005 @03:10PM (#14010421)
    is also the number of cycles needed to crash a process.
  • Wohoo! (Score:3, Funny)

    by AlXtreme ( 223728 ) on Friday November 11, 2005 @03:11PM (#14010433) Homepage Journal
    Finally a proper microkernel OS design by Microsoft! prof Tanenbaum would be proud!

    Come on, who cares about statistics? I'm glad they're actually doing something useful: CS research!

    Oh wait, this is /.: Die M$ XP, DIE! *pinky to mouth*
    • I'm glad they're actually doing something useful: CS research!

      No, the equivalent of 'R&D' on the microsoft campus is R&P, or 'Research and Patent'. Like most of their would-be innovations, they are born into formaldehyde, destined to serve as court room exhibits; the last thing microsoft can afford, is a lively, competitive software industry spurred by brilliant implementations and ideas.

      To satisfy your inevitable curiosity, peruse their fine patent collection [uspto.gov]. Plenty of 'research' and 'innovatio

  • Typical (Score:5, Interesting)

    by Bogtha ( 906264 ) on Friday November 11, 2005 @03:13PM (#14010451)

    This is pretty typical. Microsoft's biggest competitor is their old software, so their new offerings have to look good against it.

    Remember Windows 95's marketing? "32-bit memory protection makes it uncrashable!" Remember Windows 98's marketing? "Even more stable than 95!" Remember Windows 2000's marketing? "Based on an NT core, it's more stable than the crash-prone Windows 9x!"

    Its revisionist history. The only way to get a somewhat accurate picture is if you compare their current claims with what they've said about new technology in the past.

  • by ichin4 ( 878990 ) on Friday November 11, 2005 @03:13PM (#14010456)

    This article takes a very interesting report on a reference implementation of some innovative ideas in OS design and reduces it to a couple of entirely peripheral, seat-of-the-pants benchmarks that support the "OSS rulez!" thesis.

    Even people like me, who have only a basic knowledge of OS architecture, can tell you that processes are lightweight in Unix and heavyweight in Windows. The lightweight objects in Windows are threads, which is why Windows makes so much use of threads, while Unix spawns processes left and right.

  • by chris09876 ( 643289 ) on Friday November 11, 2005 @03:13PM (#14010458)
    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)
  • This isn't Microsoft (Score:5, Interesting)

    by The Pim ( 140414 ) on Friday November 11, 2005 @03:14PM (#14010467)
    This is Microsoft Research. They have the same independence as university researchers--that is how Microsoft lures them away from academia. These guys are making honest comparisons to Linux and FreeBSD, because that is what they do as good researchers. Microsoft is enlightened enough not to interfere.
    • supporting quote (Score:5, Interesting)

      by The Pim ( 140414 ) on Friday November 11, 2005 @03:57PM (#14010837)
      Quote from a Microsoft researcher:
      It's very nice working for an outfit that lets you do full-time research, doing pretty much what you want to do. Microsoft generally has fairly bad press, but I think that this is something that Microsoft should really brag about, because they pay lots of people to do essentially very freely directed research. They don't correct our papers, they let us go to whatever conferences we want to. I'm publishing at a higher rate than I did at the university.
      (Simon Peyton Jones, 2001 [newsforge.com])
  • Waking up? (Score:3, Interesting)

    by headkase ( 533448 ) on Friday November 11, 2005 @03:20PM (#14010517)
    Instead of paying rapt attention to what Microsoft is doing what I would like to see the OSS community do is consciously form more organizations that would as an express purpose chip away at Microsoft's software base. What I mean by this is make sure your program runs on Windows for now. Get people using OSS and used to the idea so that the next time average-joe needs some software he'll search for an OSS program first. Then once that mindshare has been established begin to work towards the more core functions like the OS itself. Who knows, Microsoft might at some point simply open up the source of Windows to counter a loss of control to OSS if they see that their customers are truly ready to abandon ship. And to build that feeling in customers give them options - if all their useful software is OSS then they can swap out the lower levels (like Linux for Windows) without feeling any transition pain at all because their software applications didn't change at all only the plumbing did.
    Ballmer's right, it is all about developers. OSS developers can introduce OSS values into the Windows "ecosystem" for lack of a better word and see what happens.
  • by danaris ( 525051 ) <danaris@nosPAM.mac.com> on Friday November 11, 2005 @03:22PM (#14010540) Homepage

    Entirely OT, I know, but...

    Why is it that some people seem to think that all OS names, when they have a qualifier of some kind attached to the generic term, need a slash to separate them? Just because GNU/Linux is written that way does not mean it's some kind of law, people...

    It's Windows XP. That's WINDOWS {SPACE} XP. And Mac OS X. Spaces. No slashes.


    I don't know why I even bother...

    Dan Aris

  • by tqbf ( 59350 ) on Friday November 11, 2005 @03:25PM (#14010555) Homepage

    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.

  • Windows performed better then Free BSD on all the micro-tests but one, and better then Linux on half of them.

    Oh well, this is slashdot, can't expect editors to, you know, edit anything or even bother to read what they post.
  • by Colin Smith ( 2679 ) on Friday November 11, 2005 @03:45PM (#14010729)
    I bet you don't get a dancing paperclip with Linux, do you?

  • This is not true (Score:5, Informative)

    by RedLaggedTeut ( 216304 ) on Friday November 11, 2005 @05:24PM (#14011640) Homepage Journal
    Actually results are mixed; and they even seem to indicate that Linux seems to excel at nothing but quick process startup (which is cool if you do lots of shell scripting, maybe compiling too)

    According to the benchmarks published there

        - at most OS jobs like threading/process creation, Singularity is at least twice as fast as linux, Linux is very fast at process creation, while XP is good at threads

        - in File Operations FreeBSD and Linux beat XP and Singularity at random reads

        - in File Operations XP beats Linux and Singularity at sequential reads, with the exception of FreeBSD being fastest if blocksize is high(and very bad for small blocksize)

        - linux executable sizes are larger than these of the other OSes, (whatever that means, more good coding, or less bad code SCNR)

    Please bear in mind that a benchmark does not tell whether the "slower" OS actually invested more time in doing some smart stuff that pays off in some other way. In particular, I would not be surprised if an experimental OS like Singularity did less.

    partial repost from http://slashdot.org/comments.pl?sid=167223&cid=139 45599 [slashdot.org]
  • by Ticklemonster ( 736987 ) on Saturday November 12, 2005 @12:45AM (#14013862) Journal
    I am a recent convert to Ubuntu, but I do Unreal Tournament mapping which can't be done in Ubuntu, so I had a dilemma. I was about to learn how to dual boot when I found out about VMware player, and setting up a virtual machine to run XP. I set it up, and honestly, XP runs faster this way than it ever did on a regular install. No, I can't install stuff like video drivers I need, but the drivers that install with XP work well enough to run the unreal editor. I wonder if someone could test XP in VMware in Ubuntu against XP on a hard drive and see what kind of difference there is. I sure seems like XP is way faster than it ever was.

    Shame to have to set up like this just to run unreal editor, though. Oh, for you gamers out there, UT runs so much smoother and faster in Ubuntu, it's not funny. UT2k4 (has linux installer on the 1st cd) runs way better in Ubuntu also. You might want to check it out if you have a spare hard drive you can play around with.

When you make your mark in the world, watch out for guys with erasers. -- The Wall Street Journal