Microsoft: Multicore chips changing PC software design
'I come from the world of software, and we need to talk,' says software architect Herb Sutter
IDG News Service - SAN JOSE -- Multicore processors are solidly mainstream these days, with five upcoming multicore designs showcased by their creators on the first day of the Fall Processor Forum. But many software developers are ill prepared for this era, according to a Microsoft Corp. executive.
"I come from the world of software, and we need to talk," said Herb Sutter, a software architect at Microsoft, in his opening remarks to a hardware-heavy audience Wednesday at In-Stat/MDR's Fall Processor Forum. The software development community recognizes that processor makers have been forced into multicore designs in order to deal with the heat problems caused by fast chips, but the community isn't sure that hardware designers understand just how much work they have created for the software industry, he said.
"The free lunch is over," Sutter said. For a long time now, PC software performance has improved as PC processors from Intel Corp. and Advanced Micro Devices Inc. have run faster and faster. Developers could simply make minor changes to existing software programs and watch their performance increase as the hardware engineers figured out ways to improve processor performance, he said.
But multicore designs are forcing the client software world to deal with concurrency, the ability to break a single task into multiple parts that can be processed separately and reassembled later, Sutter said.
Developers who have been creating applications for servers have already cleared this hurdle, since multicore processors and multiple-processor systems have been common in the server market for several years, Sutter said. Many of these applications have been designed with multiple software threads that can take advantage of the parallelism of these systems, he said. Client application developers, however, have been stuck in a single-threaded world, creating what Sutter called "sequential applications" for many years.
As a result, software developers need to come up with new ways of creating software, Sutter said. Just as the rise of object-oriented programming added a layer of complexity to assembly languages, concurrent programming likewise requires a new level of abstraction.
Microsoft is working on this problem through the Concur Project, an internal development group headed by Sutter that is trying to define those abstractions and tie them to hardware to "re-enable the free lunch," he said. But all software developers need to recognize that going forward, PC software needs to be developed with concurrency in mind, he said.
Chip designers can help by remembering the software developer as they create their products, Sutter said. "Hardware should focus on programmability first, speed second. Don't assume thatus OS guys and compiler guys and ... the end application developer guys will just figure this out," he said.



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- The Keys to Distributed & Agile Application Development
- How leading firms are winning with strategies for efficient application development, without relying on co-location.
- Overcome Top 7 Admin Challenges of Active Directory
- As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
- Insiders Can Ruin Your Company. Take Action.
- Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
- Top Solutions and Tools to Prevent Devastating Malware
- Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
- Streamline Compliance and Increase ROI
- Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will... All App Development White Papers
- Reduced TCO for Communications Applications with New Oracle SPARC Servers
- In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
- Optimizing Networks for the Cloud
- Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
- Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
- Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn... All App Development Webcasts