Areas Where a Little CEP Might Help, Part 1
Does parallel processing require new languages?
Government Computer News
Now that almost all new servers and computers are running processors with multiple cores, the software-design community is trying to figure out the best way of making use of this new architecture. Unfortunately, the community is divided about what the best way would to split their programs across these multiple cores.
Getting the full workload of multicore processors can be tricky because, in order for a program to make use of more than one core, it must divvy its workload in such a way that it doesn’t take more effort than the gains achieved by adding more cores. Most programming languages were written assuming just one processor would be working through the code sequentially, line by line. ….
“The challenge is that we have not, in general, designed our applications to express parallelism. We haven’t designed programming languages to make that easy,” said James Reinders, who works in Intel’s software-products division and is the author of a book on parallel programming titled “Intel Threading Building Blocks.” ….
DARPA’s new languages use an architecture called the Partitioned Global Address Space. PGAS does two things: It allows multiple processors to share a global pool of memory, but at the same time it allows the programmer to keep individual threads in specified logical partitions so they will be close to the data as possible, thereby taking advantage of the speed boost brought about by “locality,” as this is called. ….
Whatever the approach, the goal of writing programs that can run concurrently on several processors, or processor cores remains elusive. “Concurrency is complicated, as an industry we are still coming to grips with the programming model,” said Sun Microsystems engineer Brian Goetz at a talk about processors at the JavaOne conference being held this week in San Francisco. Are small changes or big changes needed?
“I’m skeptical of people who say we have to throw everything out about computing and start from scratch. We clearly don’t have to do that – it’s very expensive to do.” Goetz said. “I think there is an incremental path to get there, but I do think we need to change the way we think.” Report
Leave a Reply
You must be logged in to post a comment.