Multicore boom needs new developer skills

Be the first to comment | 1I like it!
March 21, 2008, 09:41 AM —  IDG News Service — 

More than charity lies behind Microsoft and Intel's announcement
this week
that they will donate US$20 million to a pair of U.S. colleges in
the hope of spurring advances in parallel, or multicore, programming research,
as a Microsoft research scientist readily acknowledged.

"There is a worldwide shortage of people experienced in parallel computing
experience, for sure," said Dan Reed, director of scalable and multicore
computing at Microsoft. "One of the collateral reasons is to raise awareness
in the academic community, because that's where the next generation of developers
will come from."

While for years, ever-higher clock speeds almost guaranteed that application
code would run faster and faster, the rules are different for the multicore
processors of today.

The difference has been compared to a sports car and a school bus. While the
first is capable of blazing speed, the other moves more slowly but can move
far more people at once.

The problem is, simply adding more cores to a computer's CPU doesn't increase
the speed or power of conventional application code, as a recent Forrester Research
report notes.

"To gain performance from quad-core processors and prepare for the denser
multicore CPUs that will follow, application developers need to write code that
can automatically fork multiple simultaneous threads of execution (multithreading)
as well as manage thread assignments, synchronize parallel work, and manage
shared data to prevent concurrency issues associated with multithreaded code,"
the authors wrote.

In other words, complex work is required to fill all those seats on the bus.

And the quad-core processors common today will soon give way to radically more
advanced designs, Forrester notes. "Expect x86 servers with as many as
64 processor cores in 2009 and desktops with that many by 2012."

The situation has had chip makers and major software vendors making broad-based
efforts to raise awareness of both the promise and challenges of programming
for multiple cores.

TopCoder, a software development company that invites its membership to work
on various aspects of a project through competitions, just began a series
of special contests
, along with chipmaker AMD, that focuses on multithreading.

Mike Lydon, TopCoder's chief technology officer, said multicore programming
remains the province of an elite few. "What we've seen from the skill set
perspective is, it varies quite a bit," he said. "As you would expect,
the high-end developers are familiar with threading. After that it drops off
pretty quickly."

"It's surprising to me because multithreading programming isn't new,"
he added. Indeed, one
instructional article
available on a Microsoft's MSDN Web site dates to
1993.

"I think it stems primarily from the collegiate level," Lydon said.
"I've heard very little about colleges teaching multithreaded programming,
but I would think and hope that it's changing very quickly."

However, Forrester's report suggests the urgency isn't being felt across the
board. It notes that major operating systems and most middleware products are
already prepared for multithreaded operation and for "near term" multicore
processors, and that corporate development shops may look to ISVs (independent
software vendors) to solve the problem through development tools and platforms
that can better handle multicore-related tasks.

But Microsoft's Reed believes that multithreading over time will become "part
of the skill set of every professional software developer."

In the meantime, most of the parallel computing resources available now don't
necessarily hide the complexity of coding for multiple threads. "Development
pros have options today, but most of them are low-level language extensions
and libraries," Forrester said.

For example, in February AMD open-sourced more than 3,200 software routines
under a project called Framewave, which it said will help coders build multithreaded
applications for x86-type processors.

"Libraries can't provide a complete answer, but we see these as iterative
steps," said Margaret Lewis, director of commercial solutions and software
strategy at AMD. "There's things that you can do today as you're waiting
for those [more advanced] tools that can increase the multi-threadedness of
your applications," she said.

There are some higher-level products already on the market, such as the platform
sold by RapidMind, which takes single-threaded C++ code and then, through an
abstraction layer, "parallelizes" it across a number of cores.

However, it would be "fairly idealistic" to think that better tools
alone will be enough, Lydon argued. "When you actually get into the points
in code where you're going to leverage performance by spawning multiple threads,
it takes a human mind to see where the benefits could take place."

IDG News Service

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Resources
White Paper

Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.

Webcast

Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.

White Paper

Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.

Free stuff

VMware ESX Server in the Enterprise
By Edward L. Haletky
Published Dec 29, 2007 by Prentice Hall.
Enter now! | Official rules | Sample chapter

Green IT
By Toby Velte, Anthony Velte, Robert C. Elsenpeter
To be published Oct. 10, 2008 by McGraw Hill Professional
Enter now! | Official rules | About the book

Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

More Resources