Next Windows To Get Multicore Redesign 417
eldavojohn writes "A Microsoft executive announced that the next Windows will be fundamentally redesigned to handle the numerous cores of present and future processors. The article notes that the NT technology underneath Vista has been able to take advantage of multiple processors since 1993, and can now handle 32 or 64 cores. And since Microsoft completely rewrote the 20-year-old GDI/GDI+ model for Vista, what more can (or should) they parallelize? It will be interesting to see how Microsoft tackles the race conditions and deadlocks that come with pervasively multithreaded software and in the past complicated attempts (like that of BeOS) to utilize multiple CPUs. Do you think it's it a smart move to further complicate an operating system to take advantage of multiple cores, or should Microsoft stick to its knitting while applications take advantage of (possibly) more resources?"
Um... (Score:4, Insightful)
Re: (Score:2)
Re:Um... (Score:5, Insightful)
Re: (Score:2, Insightful)
What about the path to that end?
Mr. Softy had significant features that had to be conceived, marketed, implemented, then yanked.
How unfair of you to just blow off WinFS as if it never existed.
What this world needs is more fairness.
Boo hoo.
Re: (Score:3, Interesting)
-nB
Re:Um... (Score:5, Informative)
Uhh.. come up with a new story and read other technical sites besides Slashdot. Windows Vista has a helluva lot of new features in the OS besides the GUI. Some examples that come to mind.
JOhn
Re: (Score:2, Interesting)
Didn't they only just fundamentally rewrite Windows Vista?
No. And this latest comment from a non-technical commentator (Microsft employee or otherwise) is worth about as much as those saying Vista was "fundamentally rewritten".
OTOH, given the massive level of technical ignorance about Windows on Slashdot, the responses to this article should make for amusing (if predictable) reading.
Next annoucement (Score:5, Funny)
This feature will not be included in the upcoming release of Windows.
Re:Um... (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3, Informative)
Not quite... (Score:4, Interesting)
FX!32 was for running applications, not the operating system. Think of it like rosetta for Mac OS X Intel.
NT was actually built from the ground up to be portable cross-platform (in fact, the dev platform was the Intel i860 an then the MIPS R4000, both RISC chips). Everything runs on top of a Hardware Abstraction Layer (HAL) that takes care of the differences between various platforms.
NT was a very elegant operating system, which isn't surprising seeing as it was the brain-child of Dave Cutler famous for VMS.
Re: (Score:3, Informative)
Re:Um..no. (Score:5, Insightful)
There is nothing wrong with using a proven design from another product in a new product. OpenOffice.org has stolen from MS-Office, Firefox has stolen from Opera, Thunderbird has stolen from Outlook Express, Linux has stolen from UNIX, the GIMP has stolen from Photoshop, Evolution has stolen from Outlook, and so on, and so forth...
Not every single piece of software needs to be 100% unique and original. Taking an old design and improving it is a very valid method of designing something new. <obligatory_car_analogy>Heck, every single car today is a total rippoff of the Ford Model T</obligatory_car_analogy>
Re: (Score:3, Interesting)
Indeed no piece of software can be 100% original. Else we get into silly situations. Imagine if every new software development project couldnt use, say, drop down menus cause they didnt invent them.
Think of the licensing... (Score:5, Funny)
And so it goes.
Re:Think of the licensing... (Score:5, Funny)
Re: (Score:2)
I think I ran that on my Atari 800. Or was it the Commodore 64? I distinctly remember, that MULE didn't like to work. It kept running away if I didn't keep an eye on it!
(Cue theme music [youtube.com]. *wacka* *wacka*, *wacka* *wacka* Dun-da-da-dun...)
Re:Think of the licensing... (Score:4, Funny)
Think of the Gaming... (Score:3, Insightful)
Any OS that doesn't provide support may find itself outdistanced from an OS that does. Of course, if an OS doesn't have a very large game base to begin with, then they won't have much to lose either.
Re:Think of the licensing... (Score:5, Informative)
Re: (Score:3, Insightful)
I don't know, it's pretty goddamned funny to those of us who run Linux...
Re: (Score:3, Insightful)
At the time, a simplistic way to distinguish between "reasonably big iron which was bought by someone who obviously had money to burn" and "ordinary desktop PC" without doing all sorts of strange tests would be simply to count the number of processors. You'll have one in most PCs, 2 in a high powered workstation. Any more than that, it's pretty much guaranteed to be a server class machine.
From a marketing perspective, it's common practise to carve a market up into
So... 6+ years? (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
Ummmm...OS X? Linux? *BSD?
Re:So... 6+ years? (Score:5, Funny)
Re:So... 6+ years? (Score:5, Funny)
Finally! (Score:3, Funny)
And just to get a few jokes out of the way:
Finally! Something that will run Vista!
-and-
Does it come bundled with Duke Nukem Forever?
Oh great... (Score:5, Insightful)
How is that helping their customers? Oh yeah, DELL is their customer, not us.
Re: (Score:3, Interesting)
Re: (Score:3, Interesting)
I probably would have installed XP Pro because on paper, that Vaio was outstanding. Just plain ran out of time. Besides, the Macbook Pro looks great with their new truebright screens and the battery life is acceptable. The Vaio just barely squeaked out 2 hours with the power pr
64 cores is enough for everyone (Score:2, Funny)
Re: (Score:2)
Multi-processing in general (Score:5, Interesting)
(1) OS and language support in the form of threading models
(2) OS and language support in the form of scheduling algorithms
(2) Application support in the form of using those threading models to develop program components that can run concurrently.
Let Microsoft focus on #1 and #2, and application developers focus on #3. The OS should not, IMHO, try to take a program that is not written to take advantage of multiple processors, and run it in a concurrent environment. That's just asking for trouble!
Advanced threading models that allow application developers better control over how their threads are executed, and scheduling algorithms that distribute threads across the multiple cores and processors, will pave the way for application developers to write applications that can truly benefit from a multi-core environment.
As an application developer, one of the biggest problems I've encountered in developing multi-threaded applications is the ability to easily control what can run concurrently, and what can't. I have almost no ability to tell the operating system which threads I want to run concurrently, and which I want it to time-share.
Let Microsoft, and language developers, focus on the first two tasks. Make the tools available to application developers, and let application developers take advantage of those tools.
Re:Multi-processing in general (Score:5, Funny)
Re:Multi-processing in general (Score:4, Insightful)
But you can even in most of the more primitive threading models.
All it takes is having a resource and a lock...
If there is anything that really annoys me as an administrator and 'power' user, it is those developers who think they know better what else is happening on my machine then the OS or me as its admin. This is why resource based decisions on concurency are strongly prefered over the developer being able to enable/disable concurency at a whim. Sure, it forces you as a developer to think a lot more about it, but know what, that is a one time process. The consequences of not putting in that thought occur everytime the program is used.
Re: (Score:3, Interesting)
Developers should be focusing on makeing an application that works well; concurrency makes that much more difficult.
At some point we'll reach a cut off where the added instability of the code will not justify concurrency inside of an application (and I know I don't want every application built to have to conform to concurrency - because the skills to do that consistently well are not
But will... (Score:4, Insightful)
How many years has Windows had this obvious, annoying flaw?
There's an option.... (Score:3, Informative)
See if you can find it...
Re: (Score:2, Informative)
See how your windows machine hangs when it does not receive a response from the IDE in a timely manner.
It's very visible when the drive has trouble reading the inserted disc.
The OS hangs after the IDE requests, and it is very annoying. You have a 'dead in the water' PC until either the drive succeeds to read the disc, or you succeed in having it ejected (or you switch off the PC).
Re: (Score:2)
But they REALLY BROKE it since approximately the stupid active desktop, since now the taskbar freezes too.
Re: (Score:3, Interesting)
Does multicore result in complicated code? (Score:4, Interesting)
Surely some individual modules may become more complicated, but the system as a whole would probably end up a lot cleaner.
Re: (Score:2)
What: like making the graphics renderer one module, the window manager another, the web browser another, email processor another, CD ripper another, encoder another, toolbar another, clock another etc... ?
Follow but rarely lead? (Score:3, Informative)
Off-topic, but this highlights a major problem with Linux. They follow, but rarely lead. The only exception to this that springs to mind is filesystems. Linux has perhaps a few too many, but they are certainly pushing well beyond what MS is doing. Other than that, it's hard to find any area in Linux where they are doing things substantially better than Windows from a "feature" perspective.
I think you'd find that there are other areas where Linux is well ahead of Windows, beyond filesystem support and research. The following are just the ones right off the top of my head:
Finally! (Score:2, Funny)
I can't be the only one ... (Score:5, Funny)
Re: (Score:2)
Re: (Score:3, Funny)
Tags: oldnews, vista
What about the adoption of 64-bit? (Score:5, Insightful)
Now I'm no supporter of Microsoft. I personally hate them. But you have to see where I'm coming from.
I recently built a new PC for my parents. It was a simple box with a Sempron 3000, 1gb DDR, 80Gb HDD, etc. It was all 64-bit compatible so I though Vista Home Premium 64-bit would be the best way to go. Their scanner isn't supported, their antivirus isn't supported, and the devices and software they use that DO work on Vista, are all running in 32-bit mode because there is no equivalent for 64-bit.
Please lets implement the great technology we have before concentrating on the future.
Re: (Score:3, Informative)
None of this is MS's fault. You have the same problem there always is when upgrading your OS. The only companies more pathetically backwards than scanner/printer companies are "security" companies.
I hear NOD32 has a 64-bit version. NOD32 is also less likely to break your network/OS on a whim than Symantec's shovelware.
Re:What about the adoption of 64-bit? (Score:5, Interesting)
The big issue with pushing out 64-bit only with Vista is Intel not releasing 64-bit processors until more recently. AMD released the Athlon 64 long before Intel came out with their 64-bit Core2 Duos. The older Pentium-D and Core Duo multi core processors are still only 32-bit. This prevents people with the original Intel Mac books from running 64-bit Windows on it. It was also the reason that boot camp was needed to get Windows running easily on Macbooks. The Macbook doesn't have a standard BIOS, it has EFI. The 64-bit versions of Windows XP and Server 2003 where the only versions of Windows would support EFI pre-Vista. But the Macbook's processors where only 32-bit.
You also ran into the chicken and the egg issue with your parent's computer. Manufactures don't want to release updated 64-bit drivers for old obsolete hardware to get people to but new hardware; however, people don't want to have to buy all new hardware when they can simply install a 32-bit OS and everything will continue to work. By having 32 and 64-bit versions of Vista Microsoft allows people with older hardware to keep using what they always have while forcing manufactures to create 64-bit drivers if they want to receive WHQL approval. So in 5 years the majority of hardware available will have 64-bit drivers available.
As for only 32-bit versions of applications. Microsoft just killed off the ability to run 16-bit applications in Vista. Also how is it their fault that other software companies aren't releasing 64-bit versions or their software? With Vista being the first consumer level 64-bit Windows OS there is more incentive to release both 32-bit and 64-bit binaries. It will take time but it will happen.
Finally you might want to go rag on Apple a little more and not just Microsoft. They are in control of their hardware platform; however, they decided it was OK to stick with 32-bit processors with the initial move to Intel. There was already a huge shift due to the move from PowerPC to x86. Why not also move the OS and applications to 64-bit as well?
Re: (Score:2)
The 64-bit version of Windows XP and Server 2003 support EFI on the Itanium releases only. The x64 versions still support BIOS only. Vista still does not support EFI on the x64 releases either.
Re: (Score:3, Informative)
Why do you care so much? (Score:2)
Because an OS is software that runs on top of hardware. People that use computers want the most powerful computer they can afford. If an OS manufacturer wants to be chosen by consumers, then it will have to support new hardware technology. If you don't want to be on the bleeding edge of technology then don't be, life is possible without the latest-greatest-fastest.
Re: (Score:2)
Re: (Score:2)
This is just the same as the 10 year gap between the 386 and proper 32-bit support.
NT was mutiprocessor from the start. (Score:4, Informative)
The big problem with NT is its "Message Passing" architecture, whereby
various components of the OS talk to each other by putting messages on queues
(In the *nux model you just call the function you need.)
The weakness of the architecture is that the component handling any one
message queue is automatically single threaded and tied to a single processor.
Which is OK for 2 or four processor systems but in 16 or 34 processor
systems 12 or 30 of your processors are wasted.
However I expect the idea of any resources being available to the application
is an anathema to Redmond so they will fix this problem to ensure that VISTA
keeps its design goal to consume 90% of available resources.
Mooooreeeee, Croaked The Slobbering Fiend... (Score:2, Insightful)
However I expect the idea of any resources being available to the application is an anathema to Redmond so they will fix this problem to ensure that VISTA keeps its design goal to consume 90% of available resources.
That's why I swore I'd never use Vista. It's damned interesting how when I upgrade/throw a new Linux distro onto my 4-year old (and still reasonably-powerful) laptop, there's frequently a performance gain, not a drop-off. I don't want to use an operating system that won't run smoothly on a system with less than 1GB of RAM, that's insane. If Microsoft rejiggers Windows to take advantage of these cores, I'm sure one or two iterations down the line, Windows will need 4GB of RAM and 4 3Ghz cores just to tick o
Re: (Score:2)
resources are meant to be used, not hoarded. if RAM is available for a cache, RAM should be used for a cache.
Re:NT was mutiprocessor from the start. (Score:5, Interesting)
an excercise [sic] in computer science masturbation. It may feel good, but
you don't actually get anything DONE. Nobody has ever shown that it
made sense in the real world. It's basically just much simpler and
saner to have a function call interface, and for operations that are
non-local it gets transparently _promoted_ to a message. There's no
reason why it should be considered to be a message when it starts out."
- Linus Torvalds, 1999
Re: (Score:3, Informative)
In kernel mode, there are thread pools for general [microsoft.com] and DPC [microsoft.com] work items, each with multiple threads, expanded based on the number of CPUs and by load.
"Fundamental Redesign" (Score:2)
Re: (Score:2, Insightful)
I had been hoping Vista would be like ME - quickly replaced and forgotten.
You forget that at the time there was already a microsoft alternative they could work off of. The old x98 technology is completely dead and the NT technology is on life support with Vista. If Microsoft wishes to introduce a new technology this time, it will be a ground-up design. I just hope SOME operating system (be it microsoft or otherwise) which is stable and supports multiple processors emerges as the dominant operating system for development in the near future. For now, it's Ubuntu for me!
Need it now, not later and need apps (Score:5, Insightful)
And preferably this year, not 2009
Re: (Score:2)
However, having a core dedicated to the app, with the OS and background processes running on a different core, is quite nice as well.
Speak for yourself! (Score:3, Insightful)
Personally I have a quad core setup (2 opteron 265's) and it's routinely up over 50% (not doing media encoding).
One possibility (Score:2, Informative)
Now I know why Vista was so late! (Score:2)
Microsoft's programmers were so tired from the complete redesign between Windows 95 and Windows 2000, and the complete redesign between 2000 and XP, and the complete redesign between XP and Vista. They've written three operating systems almost from scratch in the past twelve years!
dual core P1's (Score:2)
not to be pessimistic (Score:2)
OSX (Score:2)
A question for someone who understands this stuff - what's the difference between the way Vista and OSX handle multicore processors? Would Apples OSX need to be redesigned to use multicore processors more effectively? Apple already sell 8 core machines - are these not using the multicore as effectively as they could?
Re: (Score:2)
The problem for Windows is in software, not hardware. OS X, and some other Unix variants, automatically find all the cores and use them because they're written to do it. This is a fundamental design of the operating system. Windows only uses one core, and would need to be reprogrammed from the bottom up to make use of multiple cores.
This isn't to say Windows applications can't be written to run on multiple cores, just that the OS itself can't run on multiple cores.
Re: (Score:3, Informative)
"Multicore" is essentially SMP (multiprocessor) but all on one physical chip rather than several. Windows has supported that ever since the days of NT 4, but its architecture is more suited to 2 or 4 cores rather than 16 or 24.
Your comment is only valid for Windows '9x.
Re:OSX (Score:4, Interesting)
Like most operating systems, Mac OS X has bottlenecks by design that tend to limit concurrent thread execution within the kernel. There is an excellent article at http://arstechnica.com/reviews/os/macosx-10-4.ars
Only one thread can use a bottlenecked resource at a time. When multiple threads (application threads or kernel threads) need simultaneous access to a resource, all but one thread must wait. Threads that could theoretically run concurrently on multiple cores end up running sequentially because all but one thread are waiting to access the resource. Apple has made the locking (concurrency protection) within the kernel finer and finer grained with each release of Mac OS X. In Mac OS X 10.4, Tiger, the bottlenecks are very fine grained, and in practice the system is very efficient allowing concurrent execution on multiple cores.
That being said, Mac OS X is far from perfect or optimal. There is lots of room for improvement, and Apple seems to be following the path of continual evolution rather than revolution at this point. Remember that for the last six years or so, every Mac OS X update/release has run faster than previous versions.
Maybe they can make windows not hang on startup (Score:2)
MSFT Knitting is everything... (Score:2)
Microsoft wishes to inform the writer that there are NO applications of any importance that are NOT from Microsoft. Anything worth wearing is already knitted by MSFT or will be in the future when they decide you are ready for it.
Operating system (Score:2)
An OS should make resources available, not use them up!
But modern OSs are really bundles of a lot of software, some of which could really use some parallelizing. I don't think this requires a fundamental redesign, but what do I know?
Re: (Score:2)
Can we speed up disk access instead? (Score:2)
What about a massive RAM drive? This would go flash one better in the speed department (my 8GB Ritek USB key is several times slower than a _HD_ based on my informal timings.) Battery back it up if need be.
I'm hoping Windows 201x will a
Next Windows To Get Redesign (Score:2)
What a pity!
First things first (Score:5, Funny)
I predict (Score:2, Funny)
Story Is Too Obvious? (Score:3, Interesting)
Nothing specific is said, just the vague "we're going to be doing good stuff to make use of the things we have when we're done" sort of message.
What's next? "Memory is important, so we're going to make really good use of it?" or "Hard drives are getting bigger all the time, so we're going to do something with that extra space. Not sure yet, but it'll be really good and probably involve the overuse of the word 'rich' by senior execs."
I'm looking forward to *delivery* and ignoring vague promises.
NOOO! (Score:3, Funny)
Re: (Score:2)
Re: (Score:2)
Not true, unless you're still using Windows '9x. Rogue drivers are another matter altogether, but that's the same issue in Linux.
Having said that, I have seen userland code cause BSODs in Windows. But not in a very long time.
Re:Windows is already multithreaded (Score:5, Insightful)
I don't know which version of Windows you're running (3.1 perhaps), but Vista (and previous versions of the NT kernel) have been truly preemptive from day one and you can kill user level processes from task manager and stop and restart services without bringing the system down. I literally can't remember an application making any of my Windows systems come down.
I think the interesting thing here is the "design center" for OS is changing dramatically, in the past 99% of Windows desktops were uniprocessor and I dare say that they made design choice around that. Now we are moving to a world where 2- and 4-way desktops are common and the number of cores is only going to increase over time. That means you may well start to look at some fundamentally different ways of doing things, perhaps dedicating cores to specific tasks within the OS, for example a core might be dedicated to handling the IP stack while another might handle GDI requests. I'm not saying that this is what will happen, just that widespread use of multi-CPU systems may change the tradeoffs in OS design.
Re:Windows is already multithreaded (Score:4, Informative)
What I've seen that is a problem are processes in "D" state (ininterruptible sleep waiting for the end of an I/O IIRC), usually happening with bad drivers / bad hardware.
But contrary to the windows platform, it never clutters your desktop, as you can "xkill" X ressources even if the program still uses ressources in the background.
Re: (Score:2)
Brains, brainssss!!!
Sorry, couldn't help it
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
linux was not much better compared to nt and 2000, however it has made major strides since then and (15 years after its initial release) i am fina
Re:Windows is already multithreaded (Score:5, Informative)
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
Re:Windows is already multithreaded (Score:4, Interesting)
No.
Every NT based OS from Microsoft has had IE and Windows explorer as two completely separate processes so killing one won't affect the other.
I can have a 100 IE windows open, kill explorer.exe and my IE windows won't be affected one bit.
Even if I enter a URL in a Windows Explorer window, it launches my default browser to that URL.
Re: (Score:2)
Re:And in five years... (Score:5, Insightful)
I believe the largest SMP system that OSX has ever been run on is 8 cores. Windows has run on a 64 CPU system and Linux on a 1024 CPU system.
So I'm kind of struggling to understand how OSX is superior in this regard. I know there must be a technical explanation, because it's not like Mac owners to post single lines of obvious bullshit in an attempt to advocate their systems while actually just annoying the fuck out of everyone.