Breaking News
News & Analysis

Chip industry confronts 'software gap' between multicore, programming

4/3/2008 08:00 PM EDT
6 comments
NO RATINGS
Page 1 / 2 Next >
More Related Links
View Comments: Newest First | Oldest First | Threaded View
skidmarks
User Rank
Rookie
re: Chip industry confronts 'software gap' between multicore, programming
skidmarks   4/8/2008 11:23:28 PM
NO RATINGS
In the 'good old days' there was Illiac IV (University of Iowa circa 1968) which explored the issues of multiple machines cooperating on a single problem. Since then there have been other efforts to address the issues in hardware, in software, and with the introduction of specialized syntax in computer languages (notably FORTRAN) or the introduction of 'new' computer languages. I believe that for some segment of the computing spectrum analysis of of existing programs can yield productive results (see TOPLAS V1N1 for a discussion of optimization of do-loops (?)). This clearly fails when automatic programming partition yields partitions less than the number of processors, and is grossly suboptimal when significant waits of a processor are required. And so my 1 cent is that there are a spectrum of issues. For some, parallel partitioning of a single program is fine, for others a multithreading solution works just great. This is to say that a single solution for all problems probably will not work. With respect to partitioning a single program into multiple, cooperating fragments it would seem that many of tools are here. Variable dependencies (who needs what when), control flow dependencies (what needs what when), and similar issues. Part of this is consideration of the use of effective 'chunks' in parallel computation. If the cost of communication exceeds the cost of wait states then serial execution is advisable. Some of the issues of separate execution seem to have already been addressed at the hardware level, out-of-order execution comes to mind. This leads me to think that there is considerable flexibility in approaches to the issue of parallel computation. I would hope (as has been stated) that the effort does not concentrate on building a 'special' parallel processing language and rather concentrates some part of its effort on detecting and treating inherent parallelism. But I am eager to see what develops, whatever develops. art

Ratgebber
User Rank
Freelancer
re: Chip industry confronts 'software gap' between multicore, programming
Ratgebber   4/8/2008 7:53:05 PM
NO RATINGS
Indeed, CAM & ANN for special concurrent applications. But that's where simplicity ends.

moorek
User Rank
Rookie
re: Chip industry confronts 'software gap' between multicore, programming
moorek   4/5/2008 11:44:10 AM
NO RATINGS
It's been very interesting watching multi-core CPUs come into the mainstream. What has been limited to the realms of academic and large commercial research departments is now being discussed in the mainstream. And with good reason - the software industry is on the cusp of a revolution brought about by changes in the underlying hardware. Software developers have had the luxury of writing code in a mostly linear way, but now they cannot ignore the pressing need to exploit the next generation of multi-core CPUs which will have 8, 16, 32, 64... cores on them. That's a large amount of parallel processing that can be exploited but developers are so-far ill equiped with the tools with which to do it. Many models are coming into the limelight as potential solutions to the software crisis (yes, I use those strong words because that is the reality of the situation). One such model is the "Actor Model". I've always like that model but I never liked the implementation (Erlanng). However, I did see a promising Java product (infoQuanta) last week that seems to follow the Actor model. I downloaded the beta and tried it on my four-core box with some seriously impressive results. I've always enjoyed the idea of parallel programming ever since I was a teenager but I do admit that it's tricky. Over the next 10 years though, I think we're going to see marked changes in the way we develop software and I personally favour the Actor Model as a potential winner.

SPLatMan
User Rank
Manager
re: Chip industry confronts 'software gap' between multicore, programming
SPLatMan   4/5/2008 7:21:57 AM
NO RATINGS
I don't consider myself qualified to make informed comments about the high end of multicore processing. My field is the low end of embedded controls in "machines". However, what I can sat is this: 90%+ of programmers in my domain stick doggedly to C. IMHO, with nearly 40 years' experience in this, C is exactly the wrong language for these applications!

"My" control problems are about sequence and timing. C is a high level assembler with a leaning towards data processing. The domains are very different. Yet C seems to be close to a religion to most practitioners.

This realization has taught me some important lessons. The main one is that the tool must fit the domain.

So, with multi-core processors, until the majority of practitioners can be persuaded to abandon their cozy little C-lined boxes and broaden their horizons, it will look grim.

The other thing is that maybe the people who are desperately trying to find a solution to programming multicores need to consider that there may not be a one size fits all solution. There may have to be different solutions for different problem domains.

Finally, Mapou, you say "The best solution will win out in the end. Necessity demands it." With respect, that is often not the case. Remember Betamax? I could in fact suggest the same about C and wonder why perhaps Forth never became dominant. In fact, could something like Forth, which essentially allows itself to be morphed into a specific language for each application, be the answer for multicore?

David Gibson,

SPLat Controls, Australia

(I have no commercial interest in promoting Forth).

Mapou
User Rank
Rookie
re: Chip industry confronts 'software gap' between multicore, programming
Mapou   4/4/2008 11:35:23 PM
NO RATINGS
Dr. Alterman, thanks for that impassioned and well written expose of the parallel programming problem. You struck a nerve when you wrote that the "industry remains firmly committed to applying the fundamentals which were quite successful during the era of sequential computing, to a completely new and fundamentally different problem: concurrent computing.". How true! I am a rebel at heart and I am naturally attracted to disruptive ideas. I am also unabashedly passionate about simplicity, which is why I am continually put off by academia's habit of complicating the simplest concepts into oblivion. I am convinced that the solution to the parallel programming/multicore architecture problem is simple. I believe the solution has been with us all along. We already use it to emulate parallelism in our neural networks and cellular automata. It's not rocket science. We just need to transform it from a software mechanism into a hardware mechanism within our processors. That is all. Software developpers should never have to think about such things as load balancing, scalability or the number of cores on a target processor. The latter should be completely invisible. At any rate, I wish you and Theseus Research success and prosperity. But don't delude yourself. The best solution will win out in the end. Necessity demands it.

Mapou
User Rank
Rookie
re: Chip industry confronts 'software gap' between multicore, programming
Mapou   4/4/2008 12:20:35 AM
NO RATINGS
Nice article. Unfortunately for the industry, they took the fateful decision of embracing a parallel software model based on multithreading. I say 'unfortunately' because, in my opinion, this is colossal mistake, a multiple billion dollar mistake. They did it without due dilligence. Now they're throwing money at academia in order to find a solution, not realizing that it is academia who got them into this mess in the fisrt place. Too bad. To find out why multithreading is not part of the future of parallel computing, Google "Nightmare on Core Street". PS. to Rick Meritt. I love your articles. I hope you continue to pound this issue over and over. The parallel programming problem should be on page 1 every day, in my opinion. It's the most important issue facing the computer industry. There are a lot of scared people out there and they should be. Big money is in the balance. And I mean BIG money.

Flash Poll
Radio
LATEST ARCHIVED BROADCAST
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.
Like Us on Facebook

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
EE Times on Twitter
EE Times Twitter Feed
Top Comments of the Week