• On The Insider: Susan Boyle Makes History with Album
October 12, 2009 4:00 AM PDT

Microsoft wants multicore boost from Windows 7

by Stephen Shankland
  • Font size
  • Print
  • 113 comments
Share

It's a question we all face: with chips getting more processing cores instead of more gigahertz, is your next computer going to actually run your software faster?

Microsoft is one of the companies that feels the pressure to most acutely when it comes to putting those cores to work. Though it doesn't pretend to have the problem licked, Microsoft does believe Windows 7 provides a better foundation for using multicore systems than earlier versions of the operating system.

Jon DeVaan, head of Windows Core Operating System Division

Jon DeVaan, head of Windows Core Operating System Division

(Credit: Microsoft)

One key part of solving the PC's multicore problems draws from the world of big iron, and Windows 7 can support much bigger iron--servers with as many as 256 processor cores compared with 64 for its predecessor. Now a few years into the multicore era, even today's laptops are able to juggle as many tasks as reasonably powerful servers from just a few years ago. Intel's new Core i7 "Clarksfield" processor for mobile computers has four cores that manage a total of eight separate "threads" of work.

"One dimension is support for a much larger number of processors and getting good linear scaling on that change from 64 to 256 processors," said Jon DeVaan, senior vice president of Microsoft's Windows Core Operating System Division. "There's all kinds of depth in that change."

Linear scaling means that doubling the number of processors means a doubling in performance--something rarely achieved in real-world computing. But what does 256 or even 64 processors have to do with a PC with four or eight cores? In short, updating the Windows plumbing to support bigger servers also helps work run more smoothly on smaller multicore machines, for example by ensuring data cached in memory is close on hand to the processor core that needs it, DeVaan said.

It's crucial that Microsoft help solve multicore issues. The company is responsible not just for the most widely used personal-computer operating system but also for the programming tools many use to create the software that runs on it. That's why another broad attempt to ease multicore pains takes place within Visual Studio 2010, the upcoming version of Microsoft's programming tools.

"People have been working on this for a long time. So far there haven't been any magic bullets," Devaan said. "The commercial reality is creating a lot more urgency now, so I think we'll see a lot more approaches taken."

Unlocking multicore power is a point of competition, too: Apple's newest version of Mac OS X, Snow Leopard, adds a facility called Grand Central Dispatch to centralize management of all the various threads of programs as they run on a system.

Intel and Advanced Micro Devices bear responsibility, too, since they embraced multicore designs once heat problems put an end to the clock-frequency race, but Microsoft has much more clout in developer relations.

Windows 7 is due to ship October 22.

Windows 7 is due to ship October 22.

(Credit: Microsoft)

Multicore designs can help easily when people are running many separate programs or when running programs that are "embarrassingly parallel"--in other words, when a task has many naturally independent subtasks, such as rendering each of a video's many frames. But many programs won't easily make the jump to a parallel design when they're set up as a single sequence of steps today.

"An operating system is never going to be able to take an application that isn't already parallel and make it so. Developers still need to multi-thread their apps," said Evans Data analyst Janel Garvin.

Visual Studio 2010
So it's good Microsoft is working on parallel programming aids within Visual Studio.

"Microsoft has done surprisingly little until recently to help developers write parallel applications, except for their alliance with Intel to promote Parallel Studio," an Intel collection of programming tools for parallel programming, Garvin said. "However, in the last year they've made some announcements and promises for Visual Studio 2010 about enhanced tools for parallel programming. It's likely that the success of Parallel Studio has impressed upon them the importance of providing Windows developers with the tools they need to remain competitive going into the future when manycore will be the standard."

Eventually, programmers will have to embrace parallel programming to be competitive, Garvin said. Parallel Studio helped bring the concepts to a much more mainstream audience, she said, and Evans Data's spring 2009 global developer survey found 40 percent of programmers are working on multithreaded applications today and another 15 percent plan to in the next year.

"Parallel programming is complex, difficult and labor-intensive, for even the most skilled developers, which has led developers to avoid writing parallel programs, leaving many CPU cycles unused," according to Steve Teixeira, Microsoft's principal product unit manager of parallel computing. The company's attempt to improve the situation comes not just in Visual Studio 2010 but also in another future product, version 4 of the company's .Net Development Framework.

Parallel programming tools
Among those features:

• The Task Parallel Library, which lets .Net programmers write more parallel code in familiar terms. For example, programmers are used to "for loops" that repeat a particular task a specific number of times; library lets each step of the loop happen simultaneously instead of sequentially.

The new Intel Core i7 processor for mobile computers has four cores and can run eight threads.

The new Intel Core i7 processor for mobile computers has four cores and can run eight threads.

(Credit: Intel)

• The Microsoft Concurrency Runtime can provides a shared resource for scheduling tasks and allocating resources--and which works better on Windows 7.

• The Asynchronous Agents Library can permit separate threads of execution to pass messages among each other. That's useful in cases where separate threads need to head off no-no conditions such as when

Parallel Language Integrated Query (PLINQ) technology lets programmers perform some operations with data in parallel rather than sequentially.

• The Parallel Pattern Library is designed to make parallel programming easier for those using the C++ language.

Microsoft knows none of this is truly easy, though. DeVaan wonders about cases when existing software is being parallelized--is each step in a parallel for loop really independent of the others? He sees "a lot of hand-waving" around the computing industry that glosses over the true difficulties.

"As an industry, we're going to be working hard to make it work better and working with broad set of developers to target (multicore programming) without undue work," DeVaan said. "Will these approaches really accomplish it? That's an open question."

Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank.

Recent posts from Deep Tech
Google acquires EtherPad online collaboration tool
Google edges toward Rosetta Stone status
Google wants to unclog Net's DNS plumbing
Phone photo quality interests Google, Microsoft
Intel hopes 48-core chip will solve new challenges
With an eye to the future, try raw photos today
No shocker: Google prefers HTML5 to Gears
Microsoft actively urges IE 6 users to upgrade
Add a Comment (Log in or register) Showing 1 of 2 pages (113 Comments)
by ElementalMac October 12, 2009 4:29 AM PDT
We'll see if Windows 7 can even come close to Apple's Grand Central Dispatch. I think its safe to say that Windows 7 wont. Its going to be an improvement over Vista, but so is Windows XP. I'll not give MS a pat on the back until they produce an OS that is better than and more secure than at least one other major OS out there.
Reply to this comment
by AndiC1977 October 12, 2009 4:45 AM PDT
another sad apple fan boy post.. these are quite boring now.
by Super2online October 12, 2009 5:11 AM PDT
It's to bad you can't accept the fact that Microsoft has created an OS that many will upgrade to instead of switching to your personal favorite. Mac has a great OS, but there are many excellent reasons to stick with Windows now. Don't worry though, you don't need everyone to switch to be happy.

And by the way, the experts have already analysed and concluded that 7 is more secure than XP and Mac. But since your market share is so low, the bad guys aren't interested in pouring their time and money into OS's that give back to little in return. So you are better off not to have people switching. Instead bask in the glory of knowing you don't have to spend any money on security software. Or do you? Hmmm- I wonder!
by Random_Walk October 12, 2009 5:20 AM PDT
Meh - the article read more like a glorified press release than anything informative. Besides, how many consumer apps are optimized for multicore anyway? Even in the 3D/CG realm (where it's needed, damnit), there aren't too many of those).

Funny thing is, the only mention in parent's post about a Mac is the guy's 'nym. You fanboys must be more than just a little nervous these days...
by ausernamenoonehaschosen October 12, 2009 5:56 AM PDT
ElementalMac is only telling the truth. The new Mac OS can use all of the cores for a single application, something Windows 7 cannot do. Windows 7 can only give each app its own core. This is going to really hurt in the future when more applications use Grand Central, and the speed in of the Mac and Windows version will be no comparison. And how about the ability to run 32 and 64 bit apps side by side on the Mac, with the ability to run in only 64 bit mode if you want (hold the 6 and 4 key down while starting up). This is another thing Windows 7 can't do, and those who update to the 32 bit version of Windows 7 will regret it when they find they won't be able to run any of the new apps in the future, since they will be only 64 bit.
by eadeguzman October 12, 2009 6:03 AM PDT
Hey Random_Walk, ElementalMac mentioned "Apple's Grand Central Dispatch"... that's a direct reference to one of Snow Leopard's features.

The reason he was labeled as a "fan boy" was that he was trying to compare Grand Central Dispatch with this Windows effort and concluded that it's "safe to say that Windows won't" (be better)... No other information supporting that argument was given, so the only reason is "just because it's Windows".

But just a quick comment on the article itself... The OS should not have to rely on the application developers to optimize their code for multi-core because most application developers won't care. The OS should be able to make the proper adjustments.

Indeed it's very complex and harder to test and debug. Many times, it's simply not worth the effort especially for business systems... you can't even explain that benefit to customers.

The article does not make any direct comparison between the two and I don't have much insight on how both systems work to make a judgment on which one is better.

Stephen, maybe that's a good follow-up article: a head-on (apples-to-apples) comparison with Windows multi-core efforts vs Grand Central...
by Random_Walk October 12, 2009 6:22 AM PDT
Fair 'nuff - he did mention Grand Dispatch. As for the rest?

"Indeed it's very complex and harder to test and debug. Many times, it's simply not worth the effort especially for business systems... you can't even explain that benefit to customers."

You know? I've heard arguments like that against writing code to run in a GUI environment... ;)
by Seaspray0 October 12, 2009 6:37 AM PDT
Random Walk is correct in that there are not alot of applications written to take advantage of multicore or multiprocessor functionality. The majority of the ones I've seen are enterprise class applications which have been running on multiprocessor servers for the last decade. For the personal computer, they are few and far between. Developer tools like the ones mentioned above should hopefully help bridge that gap.

As for the mac fanboi who started this, the apple standard skewed lies campaign is no longer believable. See below for several articles that contradict what you have been led to believe by apple.
by captainabab October 12, 2009 6:47 AM PDT
ausernamenoonehaschosen - what are you talking about?

Windows XP (and Vista and 7 and even older versions) allow you to write a win32 or .NET application that uses multi-threading to use all cores.

"And how about the ability to run 32 and 64 bit apps side by side on the Mac, "
Sorry but Windows XP/Vista/7 64-bit has allowed you to do this for several years now. Welcome to the 21st century Apple.

And there isn't any desktop applications released as 64-bit only - why would one application need 4+ GB of ram? Even on the server, most programs/systems still come in both flavors.
by Seaspray0 October 12, 2009 7:10 AM PDT
@ausernamenoonehaschosen. 1. Do not overestimate the value of grand central station. Intel processors already do the same thing by using multiple pipes. The blocks occur when a decision fork is made (very often in most code). Simply put, you can't branch off code that is dependent on the outcome of a decision that has not yet been made. That is referenced above in the article "when existing software is being parallelized--is each step in a parallel for loop really independent of the others?" If you want a true performance boost with multiple processors, the program needs to be written to use multiple processors, not just emulate it. Even then, don't expect a second processor to double the speed of an application.
2. "run 32 and 64 bit apps side by side" has always been possible on windows x64. If you had used it even once, you would know this. The only thing that must match are the hardware drivers, and that hasn't been an issue for years in windows. Quit spouting LIES.
by browniepoints October 12, 2009 7:26 AM PDT
@ElementalMac...when Apple figures out how to not wipe your user data because of an upgrade, come talk to me about "Better".http://www.neowin.net/news/main/09/10/11/major-bug-in-snow-leopard-deletes-all-user-data BTW The only reason the Mac is "secure" is because no one gives a flyin' fig about hacking the Mac. Why spend the effort to attack 2% of the machines out there when you can hit greater than 90% with the same effort?

@ausername...You obviously have no clue what you're talking about. Thread affinity (assigning a process to one or more cores) has been in Windows since XP. Also Windows has had 32 and 64 bit side by side since XP64 (called Windows on Windows). So while you're crowing about features Mac has just gotten, you're also making yourself look like an idiot (as if paying the Mac premium didn't do that already).

@eadeguzman Sorry, it's (nearly) impossible to make an application multi-threaded when it wasn't programmed that way. Now what the OS can do is make it where multiple apps can access the resources at the same time (which is what all modern OSes do). It's strictly on the developers' shoulders to take the tools the OS (and programming framework) provides to take advantage of multi-core.

For the most part, the article just states the facts. Win7 allows access to more cores than its predecessors. But to really tap into that power requires the effort of developers.
See more comment replies
by gerrrg October 12, 2009 4:39 AM PDT
Raise your hand if you actually run software that needs multiple cores, as opposed to running multiple programs.
Reply to this comment
by Super2online October 12, 2009 4:59 AM PDT
Your stuck in old world thinking. It's like saying, raise your hand if you think you need fuel efficient vehicles rather than my Cadillac Escalade with a huge V8. The world is moving on. Your going to have to move with it, or get stuck using an old OS that can handle your limited resources.
by dwinks October 12, 2009 5:57 AM PDT
@Super2online:

"your - possessive

1. Belonging to you; of you; related to you (singular; one owner).

Let's meet tomorrow at your convenience.
Is this your cat?

2. Belonging to you; of you; related to you (plural; more owners)."

You are (you're) is NOT the same as "your." I think this distinction is covered is 3rd or 4th grade English class, so you might not have made it that far...

Now you know.
by Seaspray0 October 12, 2009 6:39 AM PDT
<hand raised>. But I also do not fit the standard mold since they are enterprise applications being run on servers.
by cvaldes1831 October 12, 2009 7:18 AM PDT
If you edit photos or video, raise your hand.
by Super2online October 12, 2009 7:40 AM PDT
Hey dwinks, whean I'm interesteied in an speeling aund englishh lession, I'll turn to the experrts, not sommeone who inappropriatelee trieys to makke themsellves feell bettter abbout there own inadequesies by lookiing up worrds in wikypeddia rathur than focuseing on the arrticlle. Haave aaa niccee daay buddiie!
by sparrowhyperion October 12, 2009 8:15 AM PDT
Hand Raised. And WIn 7 does it very well.
by rapier1 October 12, 2009 8:27 AM PDT
I do. We even rewrote the AES-CTR cipher to be parallel because all of the cipher blocks can be pre-computed. Its an embarrassingly parallel algorithm actually.
by SpeedPsycho October 12, 2009 10:30 AM PDT
<hand raised>
Uh, yeah. Divx movies anyone?
Folding @ Home anyone?
How about fluid flow simulations in Solidworks? Not as many, okay.. ;)

Do they need the cores? Of course not. But it's 200% as fast (or better with SMP) using my Dual Core.
by Random_Walk October 12, 2009 12:09 PM PDT
I can - Poser does that.

(and I wish every other rendering engine I used would do ti too... makes render times shorter. Like having a mini render farm of sorts...)
by bananaphonerules October 12, 2009 1:14 PM PDT
Hand up.
Database Servers....even on the desk this increases performance.
See more comment replies
by worried1 October 12, 2009 4:44 AM PDT
Too bad the article did not mention the method and cost in performance Windows 7 uses to take advantage of the multi-core hardware. I?ve seen systems work very fast at 4 cores but slow to a crawl at 8 cores however switching to a mesh approach I seen 32 core systems fly; both claim to be able to use up to 256 cores. I have not used anything with more than 32 cores so it would interest me to see a 256 core system. The systems I am talking about use real full CPUs as the core not like some of the proposed Intel cores plans I have heard of.

Like the article stated parallel processing takes discipline something many, not all, of today?s programmers lack. Have you ever called support with the error code displayed by a program only to be told by the support team they have no idea what the code means?
Reply to this comment
by BrandonLive October 12, 2009 10:49 AM PDT
The Windows 7 kernel scales linearly up to 256 cores. This doesn't mean applications automatically will, but it means they CAN. The main achievement here was removal of the kernel dispatcher lock, though there were other improvements as well.

There have been demonstrations of server apps (including SQL Server I believe) achieving this on Windows 7 / Server 2008 R2.

I'm not sure what you mean by "cost in performance" - there is no cost, only benefit.
by rcardona2k October 12, 2009 4:57 AM PDT
Ahar! I need every core I can muster to swab the deck thar matey!
Reply to this comment
by ElementalMac October 12, 2009 5:37 AM PDT
Wow, Windows 7 is more secure than XP?
And as far as accepting that users will upgrade to the new OS, I hope they do. And I hope it is secure. The better Windows 7 actually does is good for competition. As a long time Windows user and short (3 years) Mac user all I really want is the best that can be made. When that is Windows, I'll switch back. I don't owe any company allegiance. I simply want the best product that I can get. We'll see how Windows 7 does. Microsoft has a great track record of "Security" as we all know. I love that people tout the Mac insecurities, no OS is perfect. But when it comes to real world security, Windows has always failed. It can't help it being built on DOS.
I would love to Apple make OS X even more secure. And hopefully they will before someone actually makes a virus for OS X. Right now, as long as I don't install a trojan horse on my Mac, I'm good.
Can someone tell me again why its so easy for a virus to infect a Windows computer? Mac OS 9 had viruses, and there weren't as many Mac users back then. So why is it that Mac OS X does have viruses? Hell, there was a virus for iPod Linux!!! Don't give me that security by obscurity BS. Blame M$. They could do a lot better, and should. Shame on them for being the worlds largest software company, and not having the best software.
Reply to this comment
by Seaspray0 October 12, 2009 5:55 AM PDT
If you beleive a mac is more secure than windows, I suggest you read some of these articles...

http://news.cnet.com/8301-1009_3-10154662-83.html
The Macintosh and base Linux kernel operating systems have dominated the top spots for vulnerabilities by operating system over the past three years

http://news.cnet.com/8301-1009_3-10199652-83.html?tag=mncol;posts
Safari hole exploited in seconds at security conference

http://i.gizmodo.com/256768/mac-os-x-less-secure-than-vista

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9072959

http://www.zdnet.com.au/news/security/soa/Mac-OS-X-hacked-under-30-minutes/0,130061744,139241748,00.htm

http://blogs.zdnet.com/security/?p=2941

http://www.wired.com/gadgetlab/2009/09/security-snow-leopard

http://news.cnet.com/8301-27080_3-10318943-245.html
Contrary to popular Mac fanboy belief, Macintosh is not more secure from a software standpoint than modern Windows
by dwinks October 12, 2009 6:02 AM PDT
Macs don't have viruses because NOTHING runs on them. Pretty much every piece of software in daily use on my laptop, aside from Firefox, doesn't run on Mac. You could load up BeOS and have the same effect, a secure OS due to its uselessness.
by Perry_Clease October 12, 2009 6:52 AM PDT
"Macs don't have viruses because NOTHING runs on them.

Now that is a load of BS
by shellcodes_coder October 12, 2009 8:11 AM PDT
@ElementalMac: You Mac **** read this: Charlie Miller: Snow leopard is less secure than Vista and 7: http://www.neowin.net/news/main/09/09/16/hacker-snow-leopard-less-secure-than-windows

Read that properly!
by shellcodes_coder October 12, 2009 8:11 AM PDT
@ElementalMac: You Mac **** read this: Charlie Miller: Snow leopard is less secure than Vista and 7: http://www.neowin.net/news/main/09/09/16/hacker-snow-leopard-less-secure-than-windows

Read that properly!
by Gold_Storm_Mac October 12, 2009 10:41 AM PDT
@shelly
if you keep posting the same url all the time, then you are not really showing only one perspective. you're obsessed with that story. ether way, no AV and no malware on my mac.
by Vegaman_Dan October 12, 2009 12:07 PM PDT
@ElementalMac:

Security varies in different systems.

I can walk up to *any* Mac or Linux box, power it up and boot into single user mode and have access to the entire system. I can change the administrator password, do whatever I want to the system and you'll never know I was there.

I can't do that to a Windows system. For physical on site access, Windows is more secure there.

It's hard to infect any machine these days with a virus. Criminals rely more on social exploits and no amount of OS security is going to help when end users are ignorant enough to click on popup boxes asking if they want to infect their machines. :/
by GO ILLINI October 12, 2009 1:41 PM PDT
@ Vegaman_Dan
"I can't do that to a Windows system. For physical on site access, Windows is more secure there. "

Ahem... i have a CD that can reset any NT password and/or allow complete registry access. (Google "Emergency Boot CD") As for the user data, I simply put in my Ubuntu Live cd and have complete hard drive access.


Lesson: The only good way to physically secure a computer is with bars and dogs.


You are right about the social exploits though.
by alegr October 12, 2009 4:08 PM PDT
@GO ILLINI,

You want to convince me that Live CD can't read and screw any Linux extfs partition? And mess with the passwords file?
But if you have BitLocker boot partition, you can't do that with Windows installation.
by shycelticwitch October 13, 2009 6:12 PM PDT
@ Seaspray... is that all you could find? 8 articles? There are 448 on the higher vulnerabilities of Windows vs OSX. Too many to list here, but do the search yourself and you'll find them all.
by jlopezcnet October 12, 2009 6:16 AM PDT
The XNU Kernel and the XNU Core code (aka Darwin aka "OH ES EX" aka "OSX") was ported to ARM over 3 years ago. the iPhone uses an XNU based system with a custom window manager and framework solely designed from the ground up to take advantage of the Coretex A9 processor.
Reply to this comment
by Gold_Storm_Mac October 12, 2009 10:47 AM PDT
its pronounced "OH ES TEN"
by zyxxy October 14, 2009 6:30 AM PDT
Cortex A9 was only recently released. The current iPhone/Touch are not A9. Sorry.

Also, the window manager has to be designed to take advantage of the video accelerator on the individual chip, not the processor. In addition, the A9 runs the same instruction set as the A8, so the code will be no different.
by shane--2008 October 12, 2009 6:23 AM PDT
"Macs don't have viruses because NOTHING runs on them. Pretty much every piece of software in daily use on my laptop, aside from Firefox, doesn't run on Mac. You could load up BeOS and have the same effect, a secure OS due to its uselessness."

lmao! not that bright are ya?
Reply to this comment
by Lerianis3 October 12, 2009 11:15 PM PDT
Actually, he is VERY bright and he is only pointing out what a lot of people who I know have said: that they were going to switch to a Mac until they realized that most programs DON'T RUN ON A MAC! In fact, there is about 100 programs (legitimate) that run on OSX now...... there are TENS OF THOUSANDS of legitimate programs that run on Windows Vista and 7.
And don't even start with the 'Viruses also run on it' bullcrap. The fact is that viruses run on a Mac if you are stupid enough to INSTALL THEM on the system and they are written to run on that system.
WIndows 7 and Vista however have protections that if something is doing something hinky, it informs you of that and ask you "Do you really want to allow this program to delete your entire hard drive!?" so you can say NO!
by DOTA AllMoons October 12, 2009 6:32 AM PDT
@ElementalMac,

Windows 7 is based on DOS..nice claim. Viruses infect Windows comps easily because most people are stupid, and click OK on every UAC prompt.

and for @ausernamenoonehaschosen,

you're just too pathetic that i won't waste time explaining.
Reply to this comment
by ausernamenoonehaschosen October 12, 2009 6:48 AM PDT
It's because I'm right. The comparisons I made have been discussed multiple times. Perhaps you should enlighten all of us as to why I'm wrong. For example, if you attempt to claim the 32 bit version of Windows 7 can run 64 bit apps, I would love for you to claim this. Your stretched justification for Windows wreaks of the typical MS fanboyism.
by streamline35 October 12, 2009 7:32 AM PDT
ausernamenoonehaschosen - you are pathetic, and I will waste a few words explaining

Please point out where anyone in this article or this thread claimed that 32bit win could run 64bit apps. What is true, is that 64bit win can run both 64bit and 32bit apps (side by side), and has been able to do so for a long, long time (since 64bit xp).
by BrandonLive October 12, 2009 10:58 AM PDT
Actually we've had that capability for a lot longer than you think. The Alpha version of Windows NT 4 could run x86 apps side-by-side. There was also a Windows 2000 version for Itanium chips that could do the same. Sometimes it pays to have a flexible, portable OS architecture :)

ausername - Why are you defending Apple's continuously delayed transition to 64-bit? You realize they're taking the same approach DOS took to get to 32-bit, right? Did you defend that as well?

Fact is, Windows users who buy a new PC today get a fully top-to-bottom 64-bit OS, not some messy mishmash of 32-bit underpinnings and 64-bit compatibility layers (the extent and arrangement of which depends entirely on which hardware you happen to have / buy). 64-bit Windows has complete support for 32-bit applications AND has had nearly a decade to get full driver and app extension support in place. Driver certification for Vista *required* that a 64-bit driver be offered even though 64-bit was not mainstream yet, and LOTS of IHVs were brought on board back in 2003. That proactive forward-thinking is paying off now that 64-bit versions of Windows dominate the market.
by dennisl59 October 12, 2009 6:46 AM PDT
""Parallel programming is complex, difficult and labor-intensive, for even the most skilled developers, which has led developers to avoid writing parallel programs, leaving many CPU cycles unused," according to Steve Teixeira, Microsoft's principal product unit manager of parallel computing. Attention "Developers"! Mr.Teixeira says you're the problem because you are 'avoiding'. Have a nice day.
Reply to this comment
by rapier1 October 12, 2009 8:28 AM PDT
Actually, speaking as a developer, this is kind of true.
by kryzchek October 12, 2009 11:34 AM PDT
I agree with Rapier1. I'd be lying if I said that thought of re-writing my applications to make use of parallel threads didn't terrify me.
by bananaphonerules October 12, 2009 1:17 PM PDT
Parrarell programming is also not for every application. The internal messaging required to manage each task has overheads.
by mbenedict October 13, 2009 5:21 AM PDT
+1

Steve Teixeira knows what he's talking about. He's not your typical Microsoft dev... he actually came from Borland (then Microsoft's biggest competitor in the tools space). Steve literally "wrote the book" on Delphi and authored several other books on C++ and Java. For many years he also led Visual C++ team and probably has many MFC scars to prove it.
by kaiman75 October 12, 2009 7:42 AM PDT
This is all well and good, but the real question is whether the 64-bit 3rd party drivers for things like printers, faxes, etc will keep up. In the XP and Vista 64-bit versions, drivers for plotters etc. were largely unsupported or buggy and caused issues for software such as AutoCAD, Adobe and other programs that were actually built, in part to support this architecture. When is Microsoft going to convince other companies to get on board with them on the 64-bit stuff?
Reply to this comment
by Shankland October 12, 2009 8:36 AM PDT
I believe that 64-bit drivers will be arriving in earnest now that many systems ship with 64-bit Vista installed and support >4GB of memory. That will cause customer pressure for support, which is a much more effective incentive to write the drivers than Microsoft haranguing hardware companies. There will be plenty of problems with legacy devices but I think newer devices from mainstream manufacturers will be going 64-bit soon if they haven't already. I don't have any troubles on my 1.5-year-old 64-bit Vista system, including printing on an eight-year-old laser printer, but of course that's just one person's experience.
by alegr October 12, 2009 11:51 AM PDT
Since printer drivers work in user mode, Win64 can host 32-bit printer drivers in a 32-bit proxy process. Faxes? What's a fax? OK, a "fax printer" driver can also be hosted in a proxy.
by zyxxy October 14, 2009 6:38 AM PDT
I have had zero trouble running HP 2575 AIO (old) and HP LJ4MP (PCL & PS) under either of Vista 64 or Win 7 RC 64. They just plain work. Same thing with my Canon and Kodak Cameras. Those are the only things I added, everything else was preloaded.
by deniceels November 4, 2009 10:08 AM PST
I would have agreed, but until the laptop market moves to 64bit sooner, it'll take awhile. Furthermore, with Win7 do able to run older hardware comfortably (subjective), it will slow it down, but only for so long. Of course, a 5year-from-now framwork on hardware full speed on all camps will help accelerate the move.
by chaircrusher October 12, 2009 7:50 AM PDT
Nice to see the platform evangelists still like to duke it out in comments. Especially dumb given this article is about WINDOWS 7, not WINDOWS 7 VS OS X. Mmmkay?

As to multithreading, I have 3 observations:

1. In my day job I write programs for medical image processing. The primary toolkit we use (Insight, www.itk.org) has been designed from the ground up to be highly multi-threaded. To use the library, you don't need to know anything about multithreading. To write new code based on the library, you just have to decide the best way to partition your task, and the library framework does the rest for you.

2. So in my case, parallelism isn't that difficult. Engineering and scientific software has many applications and libraries that already use parallelism. Sure it's a 'hard' programming problem, but if you leverage other people's work, it's ranges from 'not too hard' to 'dead easy.' This seems to be lost on a lot of tech journalists, and CNet commenters.

2. My avocation is electronic music, a field that has been revolutionized by the rise of fast personal computers. Every major music application takes advantage of parallel computing. Some better than others, but audio software has no problem saturating CPU bandwidth at all.

So to conclude -- loads of real world applications use parallel processing, and it's only hard if you try to do everything yourself from scratch.
Reply to this comment
by dacopper October 12, 2009 10:22 AM PDT
While I agree with you that multithreading is made dumb easy nowadays, apps and libs that provide this for you are only as good as the OS they run on. The OS is an abstraction layer between your app and the hardware. If it can't efficiently schedule tasks or multithread, your app is pretty much is a waste.
by martin1212 October 12, 2009 10:49 AM PDT
I'll turn your conclusion around: It's only easy if you have everything already done for you. If all I'm doing is writing a wrapper that is encapsulating that actual code that does the real work then yes, it is easy. But writing the actual parallel code that does the real work is, and remains, hard. In my case, I have to do almost everything myself because I don't have prepackaged libraries that someone else wrote that will do what I want.
by weegg October 12, 2009 8:00 AM PDT
All openGL systems exploit multiple CPUs for better performance. As for who exploits multiple core cpus the best, who can say. They all have their advantages and disadvantages. The one major disadvantage in the MS court is their licensing.
Reply to this comment
by aubskibob October 12, 2009 8:06 AM PDT
How come the standard response for Mac fan-boys is something along the line of: "Oh Mac already does that." I had someone try to convince me the other day that all the features unique to Google and the Android phones were just ripping off iPhones. I wasn't aware of the fact that Apple apparently has their own personal internet search engine. Or cloud-based widely distributed and tested email services. Or their own VOIP service. The level of delusion that these people exist in is staggering.
Reply to this comment
by shellcodes_coder October 12, 2009 10:05 AM PDT
Windows 7 Ultimate x64 RTM runs great on my DELL XPS H2C with Intel core i7 extreme :)
Reply to this comment
by SpeedPsycho October 12, 2009 10:34 AM PDT
Vista Ultimate x64 runs great on my CUSTOM BUILT RIG with Core 2 Duo :)
by cloudmatt October 12, 2009 11:15 AM PDT
both Vista and 7 rock the clock on my home brew Phenom II x4
by sasquatch3 October 12, 2009 1:55 PM PDT
Win7 runs fine on my Phenom II gaming computer and grandma's Pentium3 rig
by Renderman2009 October 12, 2009 10:34 AM PDT
They should also focus on GPU computing - which I think is the future. A top end gfx card these days contain a few hundred cores, now that is real parallel computing! I am waiting for a linux distro that runs on the GPU.

Btw, regarding the Mac vs Windows discussion: I need to point something out. Recently I installed OSX on my netbook, I benchmarked both OS on my netbook, the results? Windows is slightly faster in the integer test but OSX is about 80% faster in floating point and slightly faster in memory speed test. Believe it or not, even with 1gb of ram, it runs faster than XP on the same hardware.

If you do 3d rendering, the Mac is faster - nothing to do with the hardware, it's the OS. But of course if you want to build a render-farm, mac is a waste of money.

Grand Central Dispatch allows apps that are not optimized for multi-cores to take full advantage of it. Lets hope this is what MS is doing for Win7.
Reply to this comment
by alegr October 12, 2009 12:46 PM PDT
Nope. If you have a legacy application which is not multi-threading aware, it won't run any faster with GCD. You have to rework your application to use that. GCD is just a thread pool API; you HAVE to call that API in your code, you HAVE to modify the code to use it.
by Forked_Tongue October 16, 2009 8:50 PM PDT
I agree and also take advantage of the physyx processing as well (I'm one of the few who bought the pci card). I would like to see the OS treat any and all processors on the computer as an available resource to exploit for the end user's gain. While I'm not a big fan of integrated graphics, if one has the memory and a discrete graphics card and can still use the processing from it use it too. I hope the linux community comes out with an OS to take advantage of these (somewhat like how the PS3 some distros can use the cell processor), I would love to see how far a computer can be pushed.
by shycelticwitch October 12, 2009 11:46 AM PDT
by DOTA AllMoons October 12, 2009 6:32 AM PDT
@ElementalMac,

Windows 7 is based on DOS..nice claim. Viruses infect Windows comps easily because most people are stupid, and click OK on every UAC prompt.

DOTA... you have finally put the argument into words that even the trolls and shills can understand:
Stupid people use PCs. It's quite a scary thought though, considering they have 90% of the market. But then again, evolution will take care of this as it has in the past. C'mon, all you MS meat eaters, take a bite of that Apple. Even the bible says it comes from the tree of knowledge. What have you got to lose besides the "stupidity" that DOTA claims you have?
Reply to this comment
by 01Phyxius October 12, 2009 3:33 PM PDT
The tree of knowledge was a fig tree-apples were unknown to the world at the time of the writing of the bible.
Also, say I decided to switch to Mac, today:
Can I build a custom rig that uses it (My hobby): Not without some hacking.
Can I play my favorite games on it: No, not without bootcamp/parralells.
Can I still get viruses on it: Yes, if I'm dumb enough to click on them, same as vista
Can I still use things like Paint.NET, Chrome (yes I know there is an *unstable* build of chrome for mac), or even the Cooliris FF addon: Not without bootcamp/parralells
Can I upgrade the hardware when it gets outdated and slow: Again, not without some hacking.

Last time I checked, windows can do all that.
Until Mac can, there is NO WAY I will switch.
by Gold_Storm_Mac October 12, 2009 6:20 PM PDT
who seriously uses paint.
by Seaspray0 October 12, 2009 7:25 PM PDT
@shycelticwitch. Of course stupid people use PC's. They're easy to use. The OS was designed so stupid people could use it and do things. But you can't cure stupid by switching to another OS. If you think otherwise, you're not all too bright either.
by Renderman2009 October 13, 2009 1:18 AM PDT
I am not exactly an Apple fan, I only started using OSX recently but I do notice some advantages of Mac.

Spotlight search technology is the core of OSX, I always assumed Google helped Apple developed it since the CEO of Google worked for Apple for the last 3 years. This search engine is fast, it even indexes pdf, emails and third party app's documents. With a few keywords I can locate the the info I want from thousands of pdfs, type in numeral calculations and it searches for the results in the calculator! You can't do that in Windows.

Vista was built from scratch to implement a new indexing engine, not only does it slows down the OS - the search is inefficient.

Another thing is the GPU accelerated GUI - OSX managed this even on crappy low end hardware (Intel GMA950 with no integrated ram, if you want to know) Vista on the other hand needs a DX10 card with at least 128mb vram, and even with that you still won't get the same level of performance.

I still want Win7 though, on my main workstation - Most of my apps are Windows version. Maybe I took the wrong path in the past...
by shycelticwitch October 13, 2009 10:30 AM PDT
@ 01Phyxius.... You can customize a Mac all day long, I have 4 of them that are. I can play any game I want on a Mac, so what if I have to use bootcamp? Can you run any Mac software on a PC? NO. Who uses Paint? ROFL. Why bother with Chrome when Safari is 10 times better? Upgrade hardware? All day long pal... and your obvious ignorance of these facts tells me you've never owned or had experience with them, so why bother commenting on them?

@ Seaspray... sorry, but intelligence is the basis for buying Apple, not fanatics. ROI, productivity and customer satisfaction round out the list. Stupid people buy what everyone tells them to without finding out exactly what it is they are getting.
by Nataku4ca October 13, 2009 2:38 PM PDT
@ shycelticwitch

safari is not faster than chrome =.=
ur comment about stupid ppl have ppl tell them what to buy.... ur doing that telling right now =.=
and dude... u just made urself a fanboy ur certificate will be mailed out to u in a few days
by kineticarl October 13, 2009 10:55 PM PDT
Mac people would not generally know this, so it's worth clarifying that Paint.NET is not MS Paint.
by SoundFreaks October 14, 2009 2:18 AM PDT
I just bit the apple called 3G iPhone, it hangs 10 times a day, I wish I wouldn't have parted with my Nokia.

Oh, yes, that's true, we not talking phone's here but real boys toys, well I used to have a G4 and Then the worlds fastest computer, the G5, the adds still ring in my ears, I have left it all behind and use Windows with Xeon systems now.
I do lot's of video conversion, audio & graphic work, what generally is realtime on the PC needs to be rendered on a mac, and yes, even the Dual Xeon MacPro's with Final cut Studio or media 100 are the same, render, render, render.

Some more takers for Mac vs PC in the pro arena ???? yes, any one, no one, i thought so :)
by shycelticwitch October 14, 2009 7:58 AM PDT
@ SoundFreaks... if your Macs aren't running faster then your PCs then you failed to use them properly. Side by side tests of Mac & PC with same configurations show Mac is better for graphics and video. I'm not going to do your research for you. But a google search of Mac vs.PC in imaging will give you the information you need.
by draystl October 12, 2009 12:41 PM PDT
Funny how Windows 32bit can still only address 4GB or RAM, while the 32bit version of OS X has been able to address the physical limit since Tiger.
Reply to this comment
by bananaphonerules October 12, 2009 1:25 PM PDT
Read this. According to the article OSX is a hybrid of 32bit and 64bit. Theres alot of distinction here between newer apps and legacy.
http://forums.creativecow.net/readpost/2/867951

However generally the 32bit limitation is not windows but maths.
by draystl October 12, 2009 1:30 PM PDT
Yes, OS X is a hybrid of 32 & 64bit, which gives you the best of both worlds, especially when it comes to the ability to address more than 4GB of RAM.

If it's not a windows limitation, then why can't the 32bit versions of XP/Server 2003/Vista.... address more than 4GB of RAM (and often it's only 3.5GB) but any my Mac's can address more than 4GB?

This is especially bad on the server side. The only way to get more than 4GB of RAM, is to install 64bit Windows, which opens up a whole slew of driver and application compatibility issues.
by danielkza October 12, 2009 2:11 PM PDT
Server editions of Windows, even when 32-bit, can run with >4GB of RAM. The limitations are imposed by Microsoft based on the price charged for each edition.

In the desktop versions, the limitation was purely artificial: MS capped the maximum RAM to avoid ****** drivers (It's safe to say they're the majority compared to the well-built ones) to crash your system if you try to use anything above the 4GB mark.

(obviously, this assumes you have a CPU capable of using Physical Address Extension, allowing 36-bit memory adresses)

(please stop with the FUD: name one server application that does not run on 64-bit windows environments)
by superswiss October 12, 2009 2:11 PM PDT
Actually, 32-bit Windows has been able to address more the 4GB long before Tiger. The technique is called Physical Address Extension. You can educate yourself on Wikipedia. 32-bit systems have a limit of 4GB per process, but can physically address 64GB by utilizing a 36-bit address size. PAE is turned off on desktop versions of Windows by default, except for XP SP2 and later, on processors with the no-execute (NX) or execute-disable (XD) feature. Those processors support hardware enforced DEP, which requires Windows to run in PAE mode, but for driver compatibility reasons, desktop versions of Windows artificially limit the physical address space to 4GB. Server versions of Windows don't have this limitation.
by superswiss October 12, 2009 2:36 PM PDT
One more word on 32-bit vs. 64-bit. MS decided a long time ago the better approach is to rebuild Windows from the ground up as 64-bit and keep it seperate from the 32-bit Windows instead of shoehorning 64-bit support into 32-bit Windows, which is the appoach Apple chose. Microsoft will eventually phase out 32-bit Windows as early as the next version of Windows after Windows 7. The vendors had been given enough time to write solid 64-bit versions of their drivers. 64-bit has taken off with Vista as many OEMs are now shipping their systems with 64-bit Vista and this trend will continue with Windows 7. Apple realized that they were on the wrong track with their 32-bit/64-bit Architecture. Trust me, this was the major driver behind the significant rewrite that took place for Snow Leopard, but "SL cleans up the architectural mess we have created" doesn't look as good on marketing material as "Large parts of SL have been rewritten to improve performance".
by bluvg October 13, 2009 10:38 AM PDT
Nope, that's not true. Only consumer versions of 32-bit Windows are limited to 4 GB of RAM. The 32-bit Server editions are not limited to 4 GB. It has more to do with controlling the hardware ecosystem and drivers than the OS--something that is just not realistically possible with the breadth of harware support in the consumer Windows world. The OS can support it through PAE--which is exactly what OS X does, in the absence of a true 64-bit kernel. Apple can do this because they own the hardware. But remember, PAE will only get you up to 64 GB of RAM (36-bit address space, rather than 32-bit).
by Nataku4ca October 13, 2009 2:42 PM PDT
@ superswiss

lol that marketing material part was right on the spot
by draystl October 14, 2009 3:20 PM PDT
@danielkza

No FUD, just the truth. x64 versions of windows require special drivers, which often aren't made, especially for expansion cards.

@superswiss

No offense, but I'm really not going to 'trust' you that Apple re-wrote NL b/c of any 32bit/64 bit issues. Following your logic, Apple would have released 32 & x64 versions of SL. But they didn't.
by draystl October 12, 2009 1:12 PM PDT
Wow, looks like the Windows fanboys are our in force today?

They must be tired of all the Vista abuse they've taken, or maybe they're lashing out b/c of the horrible reception for Windows Mobile 6.5 (By the way, *** is up with those Windows icons in tights?! They're almost as freaky as the Palm Pre chick!)

Or maybe the Windows fanboys are just getting ready for the avalanche of bad press from the Microsoft, er, I mean, Danger outage that wiped out thousands of users personal data.....

Really classy how Microsoft couldn't take the blame for not having a working backup plan for everyone's data, and instead just blamed Danger.

Oh, wait M$ owns Danger.....</end sarcasm>
Reply to this comment
by danielkza October 12, 2009 2:12 PM PDT
Do you have any point at all? It's hard to find it in the middle of all that non-sense.
by draystl October 12, 2009 3:11 PM PDT
Exactly what was non-sense?

Vista? (well, that was pretty much non-sense. The OS, that is, not my comment about it)
The bad WinMob 6.5 press?
The freaky WinMob 6.5 ad?
The Danger Outage?
Blaming Danger for not having a backup plan in place?
The thousands of p******ed of Sidekick customers?
by kineticarl October 13, 2009 11:00 PM PDT
draystl: yes... we saw that you said some stuff. We just don't understand what your point is.
by draystl October 15, 2009 1:45 PM PDT
@kineticarl

Pointing out how defensive the Windows fanboys are on this forum. As if they've been repressing all their anger from the litany of bad press they've endured and have finally snapped.
by zeroplane October 12, 2009 5:36 PM PDT
Sounds cool.

If I am not mistaken Linux supported SMP as far back as 1997 and multi-core within months of multi-core processors being released to retail (2003) .

http://en.wikipedia.org/wiki/Linux_kernel

http://en.wikipedia.org/wiki/Athlon_64
Reply to this comment
by bluvg October 13, 2009 10:48 AM PDT
To be sure, Windows (NT) supported SMP since day one (1993).
by OptionsS October 13, 2009 10:13 AM PDT
Its just my opinion.
I really don't care about what lies beneath as long as I get things done faster without any problems.
I use both PC and Mac. Both are good at ripping of users and you get what you pay for.
I have a $600 PCwhich was good for 1.5 years ( sold it for 250) and a Mac that was good for 3 years ( sold it for 450).
I liked Mac better for its Speed,usability and build quality.
It doesn't really matter if 1 billion use it or 1 Million use it as long as you like the system.
Grow up and stop fighting unless you own/work for any of these companies
Reply to this comment
by Nataku4ca October 13, 2009 2:45 PM PDT
have to agree with ur last line, too many comments that are emotional and worthless
Showing 1 of 2 pages (113 Comments)
advertisement
Click Here

The yogurt makers of tech: Gadgets to avoid

Don't buy these one-trick ponies--unless you like gizmos that gather dust.

Google wants to unclog Net's DNS plumbing

The Net giant, ever eager for a faster Internet, debuts its Google Public DNS service. With it, Google could become even more central to the Net.

About Deep Tech

Stephen Shankland, who's covered the computing industry since 1998 and was a science reporter before that, here delves into a wide range of technology trends and offers hands-on tests. His particular interests include Web browsers, cameras, standards, research, science, and start-ups.

Add this feed to your online news reader

Deep Tech topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right