The ever charismatic Douglas Eadline has written an interesting perspective piece for Linux-Mag on the future of parallel programming models. Now that we’ve entered the era-o-multi-core, the current programming models prohibit one from easily [*cough*] constructing an optimal application. I recently sat through several techincal sessions from the various compiler and HPTC vendors on how one correctly “modifies” existing applications in order to properly utilize multi-core silicon of various flavors. After guzzling gallons of coffee and helping myself to the free cookies, I came to the realization that we can’t seem to come to a consensus on how to utilize these mutli-core thingamagigs. Granted, all things being equal, “its application specific.” Irregardless of the architecture and application deltas, I’d have to agree with the good Dr. Eadline, the problem is only going to get worse.
Of course there are methods to program parallel computers, but none of them really address the issue from a higher level. Indeed, they often drag the programmer down to the minutia of managing data and temporal issues that do not exist in the singe core paradigm. If we don’t come up with high level methods to address this problem, writing parallel software will be an excruciating expensive process that will stifle much of the computer industry.
Doug takes a very realistic perspective to solving this problem. Rather than leap frogging the problem and driving straight toward a solution, why don’t we develop a collaborative environment within the industry in order to collectively develop a *real* solution. The OpenFabrics group is one such success story directly associated with HPTC. I’ve also proposed creating collaborative groups for solving difficult problems [thanks to Dr.Babb for delivering it at CCS07 on my behalf].
There is only one way I can envision solving this problem before it is too late. An independent foundation or other such organization funded by the industry needs to be created. The foundation will be in charge of soliciting, reviewing, and funding proposals from companies, educational institutions, groups, organizations, and even individuals.
I don’t want to spoil the entire article for our readers. If you are, in any way, involved with HPTC software, I highly suggest reading the article here.