We use cookies to provide you with a better experience. If you continue to use this site, we'll assume you're happy with this. Alternatively, click here to find out how to manage these cookies

hide cookie message
80,259 News Articles

FPF: MS says multicore chips are changing software design

Developers need to get with the program

Multicore processors are solidly mainstream these days, with five upcoming multicore designs showcased by their creators on the first day of the FPF (Fall Processor Forum). But many software developers are ill-prepared for this era, according to a Microsoft executive.

"I come from the world of software, and we need to talk," said Herb Sutter, a software architect with Microsoft, in his opening remarks to a hardware-heavy audience Wednesday at In-Stat/MDR's FPF. The software development community recognises 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've 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 and AMD ran 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 recognise 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 that us OS guys and compiler guys and... the end application developer guys will just figure this out," he said.


IDG UK Sites

New iPhone 6 review: best ever iPhone is very good... but no longer the best phone you can buy

IDG UK Sites

Is Apple losing confidence in itself?

IDG UK Sites

Professional photo and video techniques for perfect colours

IDG UK Sites

How (and where) to buy an iPhone 6 or iPhone 6 Plus in the UK. Plus: What to do if you pre-ordered...