Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »
Public Teleconferences
Join CIO Executive Council members and participate in the following live one-hour teleconferences:
* Transforming IT Teams
September 16
* Global CIOs: How to Lead on the World Stage
September 18
* Social Responsibility's Strategic Benefits
October 29
Apply today for a FREE subscription to CIO Magazine!
March 20, 2008 — 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.
Just the basics, please. Sometimes we all need a refresher or we need to make sure our team and our colleagues are all on the same page.
Over 25 tutorials on everything from business intelligence to virtualization.