Slashdot Mirror


Multicore Requires OS Rework, Windows Expert Says

alphadogg writes "With chip makers continuing to increase the number of cores they include on each new generation of their processors, perhaps it's time to rethink the basic architecture of today's operating systems, suggested Dave Probert, a kernel architect within the Windows core operating systems division at Microsoft. The current approach to harnessing the power of multicore processors is complicated and not entirely successful, he argued. The key may not be in throwing more energy into refining techniques such as parallel programming, but rather rethinking the basic abstractions that make up the operating systems model. Today's computers don't get enough performance out of their multicore chips, Probert said. 'Why should you ever, with all this parallel hardware, ever be waiting for your computer?' he asked. Probert made his presentation at the University of Illinois at Urbana-Champaign's Universal Parallel Computing Research Center."

11 of 631 comments (clear)

  1. I hate to say it, but... by bennomatic · · Score: 0, Troll

    ...I do a lot more waiting on my XP machine than on my Mac. Almost identical hardware, but when I'm opening an XLS file, Outlook and Word grind to a halt on the PC. Sometimes, closing a window locks up the whole system for 30 seconds. Shutting down takes an eternity, but the only thing worse than that is how slow the system gets after I leave it running for more than 4 days straight.

    My Mac, on the other hand, can stay running for months at a time, and maybe once a month I have to force quit an application. But even then, it's to access that application, not anything else.

    --
    The CB App. What's your 20?
    1. Re:I hate to say it, but... by ceoyoyo · · Score: 1, Troll

      Starting out slow isn't really a solution to the "getting slow" problem.

    2. Re:I hate to say it, but... by drsmithy · · Score: 1, Troll

      That is simply not true.

      It's very true. However, this:

      In fact, that is what Grand Central Dispatch (Snow Leopard, OS X 10.6) is all about. The OS handles the threads, not the programmer.

      Has nothing to do with what I wrote.

      Not only does it work, it is the wave of the future. Eventually, all machines and OSes will work that way because no programmer wants to jump through outrageous hoops to deal with 128 cores. Or even 4.

      The programmer still has to design his programs to do useful things with those threads. That was my point. The best scheduler in the world is useless when confronted with a single-threaded application (or one that is effectively so), or a non-parallelisable problem.

      Windows does just fine scheduling across multiple CPUs, has been doing it since before OS X even existed, and was designed from day 1 for it. It can't do anything about poorly written applications, however, and neither can any other OS.

  2. Re:waiting by feepness · · Score: 0, Troll

    (I've never seen Explorer appear seemingly before the Win+E key is released).

    And I soooo wanted to give your post geek creed... :(

  3. Re:This is new?! by hitmark · · Score: 1, Troll

    there have been various complains about a "eternal spinning beachball" in the past, no?

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  4. Re:This is new?! by ebonum · · Score: 0, Troll

    It is good to know that MS intends to fill all the available cores in my machine with background processes and crap I don't need or want.

    I was wondering why it took this long.

  5. Re:Multithreading is the problem, not the answer by DaGoodBoy · · Score: 0, Troll

    Agreed. There are certain classes of problems for which threads provide an elegant solution, but it is not the answer for every problem. The same with Object Oriented techniques; they really help in some cases. Unfortunately, there is a tendency in our industry to treat whatever this years popular tool or developmental concept as some kind of panacea and everything that has gone before as some kind of remedial solution for technological dinosaurs.

    The truth is less cut and dried. UNIX philosophy still applies (small, discrete applications; clean interfaces; in separate process spaces), despite the inherited, object oriented model being in vogue. Threads are good for the kinds of parallel problems they solve, but you can't beat an straight-forward event loop for asynchronous performance and lack of obscure timing issues. Sometimes you just need an old fashioned FIFO for IPC, rather than some kind of sophisticated OS managed queuing system.

    I'm old, but I've seen a lot. Most problems I've found in software development design / architecture is someone with a degree using the latest college-taught solutions to solve real-world problems and inadvertently making them almost impossible to solve.

    --
    My God! It's full of Voids!
  6. Legacy What? by Plekto · · Score: 1, Troll

    The key may not be in throwing more energy into refining techniques such as parallel programming, but rather rethinking the basic abstractions that make up the Microsoft operating systems model.

    There. Fixed it.

    Windows is a lot like Apple's old OS 6/7/8 was - old and haggard and full of legacy cruft that just needs a complete ground-up re-write to address. Sure, it looks pretty and runs fairly decently now, but it's plainly also at the end if its life-cycle and showing extreme signs of stress.

    Apple took an enormous risk in making a clean break from the past and it seems to be working well for them. Microsoft needs to as well. I doubt that it will, though, as it tends to operate more like GM than anything else. Tons of levels of bureaucracy and a general unwillingness to do serious innovation. After all, what worked in the past should work in the future? Right?

    Let's hope that they figure it out sooner rather than later. Or else it's going to get very very lonely at the top.

  7. Re:This is new?! by drsmithy · · Score: 0, Troll

    1.) Microsoft decides it's finally time to re-design Windows from the ground up. They hold 95% of the market, so it is they who must make this change.

    Why would they do this ? They already have an OS that was designed from day 1 for multiprocessor systems and is, at worst, on par with every alternative platform.

    Before too long you'll end up with a hypervisor-OS that merely tells the applications which CPU it gets and where its memory is. The OS will be shoved further into the background, as it should be, and everything will be just plain cooler.

    What do you think happens _now_ ?

  8. Been there, done that... by courcoul · · Score: 1, Troll

    How comes that, after a Microsloth lackey talks about "rethinking OS's" and gets everyone hot and horny with mental masturbations of what needs to be done to that disgrace to Computer Sciences called Windows, not a single mention has been made to the fact that Sun Microsystems developed the Niagara processor, with 8 cores capable of running 4 concurrent threads each, for a massive total of 32 concurrent threads in a single chip. And how the Solaris O.S. has evolved to a massively multithreaded system capable of using that processing capability. And how that was done in the past century. But since at the time Microsloth was too busy extorting our money with Lentium single core/thread processors, all that technology was conveniently ignored. Now that the low hanging fruit is gone and the going's rough, they will want us to believe they "invented" together with their Intel cohorts the multicore/multithread/paralell processing idea so they can raise the price of Windoze 8?

  9. Re:Grand Central? by Jane+Q.+Public · · Score: 0, Troll

    You're still doing it manually! With Task Parallel Library you still have to use Parallel.Invoke()!!! And if you want parallelism, you still have to take the trouble to use PLINQ.

    It just doesn't compare. It doesn't even approach having threading and thread management built into the OS. And I never claimed that it was the most efficient. But it is still the only mainstream OS that does that. At all.