Overclock.net › Forums › Industry News › Hardware News › [PcWorld] Multicore Boom Needs New Developer Skills
New Posts  All Forums:Forum Nav:

[PcWorld] Multicore Boom Needs New Developer Skills

post #1 of 3
Thread Starter 
Quote:
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."
Source
The Kandalf
(16 items)
 
  
CPUMotherboardGraphicsGraphics
I7 5820K MSI X99S Gaming 7 ASUS R9 280X TOP Crossfire X ASUS R9 280X TOP Crossfire X 
RAMHard DriveOptical DriveOS
Crucial DDR4 2133MHz 8GB (2x4GB) Samsung SpinPoint F1 1TB HP DVD630 Ubuntu 
MonitorKeyboardPowerCase
2x Philips Brilliance 220CW Microsoft Wireless Desktop Elite Keyboard Fractal Design Newton R3, 800W 80+ Platinum Corsair 900D 
MouseMouse PadAudioAudio
Mionix Naos 8200 Razer Pro Solutions Arcam rDAC B&W CM1 
  hide details  
Reply
The Kandalf
(16 items)
 
  
CPUMotherboardGraphicsGraphics
I7 5820K MSI X99S Gaming 7 ASUS R9 280X TOP Crossfire X ASUS R9 280X TOP Crossfire X 
RAMHard DriveOptical DriveOS
Crucial DDR4 2133MHz 8GB (2x4GB) Samsung SpinPoint F1 1TB HP DVD630 Ubuntu 
MonitorKeyboardPowerCase
2x Philips Brilliance 220CW Microsoft Wireless Desktop Elite Keyboard Fractal Design Newton R3, 800W 80+ Platinum Corsair 900D 
MouseMouse PadAudioAudio
Mionix Naos 8200 Razer Pro Solutions Arcam rDAC B&W CM1 
  hide details  
Reply
post #2 of 3
Desktops with 64 core processors. Yummy
Smallville
(16 items)
 
  
CPUMotherboardGraphicsGraphics
Intel i5 3570k Asus Sabertooth Z77 Asus HD7950 DirectCU II Asus HD7950 DirectCU II 
RAMHard DriveOptical DriveCooling
8GB DDR3 Corsair Vengeance 1600Mhz 128GB Corsair Force Pro, 2 x 2TB HDD, 500GB Ext... LG Blu-Ray, DVD/CD RW drive Corsair H60 
OSMonitorKeyboardPower
Windows 8.1 Pro 64-bit Genuine 27" Crossover 27Q S-IPS 1440p Cyborg V7 Corsair HX1000 
CaseMouseMouse PadAudio
NZXT Phantom White Microsoft Sidewinder X8 Wireless Steelseries QcK Sennheiser eH250 
  hide details  
Reply
Smallville
(16 items)
 
  
CPUMotherboardGraphicsGraphics
Intel i5 3570k Asus Sabertooth Z77 Asus HD7950 DirectCU II Asus HD7950 DirectCU II 
RAMHard DriveOptical DriveCooling
8GB DDR3 Corsair Vengeance 1600Mhz 128GB Corsair Force Pro, 2 x 2TB HDD, 500GB Ext... LG Blu-Ray, DVD/CD RW drive Corsair H60 
OSMonitorKeyboardPower
Windows 8.1 Pro 64-bit Genuine 27" Crossover 27Q S-IPS 1440p Cyborg V7 Corsair HX1000 
CaseMouseMouse PadAudio
NZXT Phantom White Microsoft Sidewinder X8 Wireless Steelseries QcK Sennheiser eH250 
  hide details  
Reply
post #3 of 3
Desktops with everything bottlenecking the processor. Gross.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Hardware News
Overclock.net › Forums › Industry News › Hardware News › [PcWorld] Multicore Boom Needs New Developer Skills