Chip Makers Add Cores, but Software Isn't Keeping Up

by , 2:30 PM EDT, July 23rd, 2007

Chip makers are racing to add cores to their microprocessors, and they create some buzz with the technology. Software developers, however, are being hard pressed to exploit these multi-core CPUs, and if they don't learn how to do it routinely, fast, and soon, there could be trouble in the industry, according to Jordan Robertson of the Associated Press on Sunday.

Multi-core processors are designed to avoid problems that plagued high clock rate processors that leaked energy and ran hot. Multi-core processors can run a little slower and get more work done in each unit of time -- assuming that the software can parcel out work, called a thread, effectively to each core.

The problem, according to Mr. Robertson, is that advanced multi-core designs are outpacing the ability of software developers to exploit them.

"You can imagine a scenario where people stop buying laptops and PCs because we can't figure this out," said David Patterson, a computer-architecture expert and computer science professor at the University of California, Berkeley.

"The gap between hardware and software hasn't become a problem for consumers yet, because operating systems like Windows XP and Vista [and Mac OS X] already work with the multicore chips out now, and basic applications like word processing and e-mail won't need the extra cores or a software overhaul," the author wrote. "But experts predict dire consequences if the software for more complicated applications isn't brought up to speed soon."

The key is the scalability of the software. If it doesn't scale well with the number of cores, customers will start to become disenchanted. Eight core systems are already being planned. "We'd be in uncharted territory," Patterson said. "We need to get some Manhattan Projects going here � somebody could solve this problem, and whoever solves this problem could have this gigantic advantage on everybody else."

Part of the problem is our languages and part of it is programmer education. Mark Lewin, program manager in External Research & Programs for Microsoft Research, just announced a US$500,000 grant program for universities with innovative ideas on how to solve this problem for multi-core computing.

The technology also raises the question of, given the state-of-the-art, how many cores the average user can exploit given today's software. Or even advanced technical users.

"Companies that successfully migrate appropriate mass-market applications to the parallel computing environment � or create new ones that exploit the shift in chip technology � stand to profit mightily," the author concluded.

TMO notes that memory access is also an issue. Multi-core processors, especially when used for advanced, threaded scientific calculations, need fast access to memory. Desktop users, managing their e-mail and surfing, however may not need all that memory speed, so manufacturers try to manage production costs accordingly. That means engineering compromise. As a result, there is even more opportunity for customers in science and advanced technology to become jaded with their desktop systems because, even with efficient threads, they cannot move their data fast enough.