Apple intros Mac Pro with 12 processing cores
news.cnet.com
news.cnet.com
I have an 8-core Mac Pro, and I was hoping to see its performance improve over time as software took better advantage of the hardware, but I don't see that happening yet.
In some cases the programming languages are just ill suited to handle performing concurrent operations free of side effects. Programs written in the languages would have to be rewritten (not likely for many apps). Parallel Studio, by Intel, attempts to make the task easier on programmers working in c++/Windows to identify such cases. Still, others have proposed and attempted to create a layer beneath the programming language that automatically detects code that can be safely executed concurrently without side effects. There's still no silver bullet that's suddenly going to give significant gains without modifications to existing code at this point.
For me it's not about improving the speed of end user applications.
My usage is simple, virtualisation.
I have 6 VMs currently fired up, 1 with Oracle installed, a couple of Linux boxes to run an ESB and the remainder run SharePoint on Windows Server.
I wanted each of those to perform pretty well and not be a dev bottleneck (waiting for stuff to happen) and so I've assigned at 1+ cores per VM as well as at 2+GB RAM per VM (Oracle gets more of both). I try and balance my handing out of hardware resource to reduce the amount of scheduling that the system will have to perform between virtual machines... hence, I wanted as many cores as possible and a good chunk of RAM to go with it.
It was cheaper to buy a single high powered workstation than it was to buy 6 cheap servers. Another huge factor was that the running costs (power) and environment (heat generated in the front room + the cabling and physical space + volume in decibels) of a single workstation beat those 6 cheap boxes.
It requires a completely different approach to programming so many programmers haven't made the leap. Additionally, some kinds of software problems seem to be unparallelizable by default.
Having said that, there is an advantage to a many-core machine right now: you can run many tasks (programs) simultaneously. Even if a program can only use one core, your OS should be smart enough to run it on its own core.
Of course then they might contend for other resources, like disk or video throughput.