Ad Hoc Tech Projects: Balancing Innovation & History, Passion & Experience
The FireSeed Streaming Supercomputer (FS3) ad hoc tech project is striving for an effective balance of innovation and history, a judicious blending of passion and experience.
Innovations in computer hardware have opened the door for innovations in software. Many people knowledgeable about the computing world feel the slowing of Moore's Law for single-core processors is now demanding innovation in the programming world to effectively harness the power of many-core computers. GPU-cluster supercomputers have a bright future ahead of them, even if we don't know yet just how we'll make the darned things work.
The real question now is how much of the programming learnings over the past fifty years, even for parallel programming of CPU-cluster supercomputers, should be brought forward into the design and implementation of FS3 programming, generic GPU-cluster programming, and optimized programming in general for various mixes of multi-core CPUs and many-core GPUs. Would we be better off with an Ender's Game approach to FS3, bringing in 10 - 18 year old hackers to develop the GPU-cluster programming paradigms under the guidance of more experienced 20 - 50 year old project managers? Should we shoot for a diverse age spectrum of coders working together with the emphasis on finding innovative minds who will try totally new approaches to many-core parallel programming?
One thing is for sure. FS3 will not succeed merely by gathering together a group of coders with lots of industry experience who are approaching the project as just another job. If that approach would work, IBM, Cray, Microsoft, Intel, AMD, NVIDIA and a few other large companies would have already developed reasonably good solutions. And you can be sure they're working on that approach as this post is being written.
FS3 programming innovation is targeted to come both from experienced coders who want to try new approaches to many-core programming and from relatively inexperienced young hackers whose minds have not yet been molded into a single-core CPU paradigm. Finding individuals who meet those criteria is the challenge set before the FS3 project organizers and managers.
Mixed in with this wonderful innovation, however, there needs to be a sprinkling of both history and experience. The FS3 project needs to learn relevant lessons from The Mythical Man-Month, from Dreaming in Code, and from other books which effectively communicate past computing project missteps. Good programmers with a significant amount of experience (ten years?) will have learned valuable lessons that they can pass on to the younger coders, as long as they take the time and interest to establish and build a relationship where the younger project members have a desire to learn from the 'old' crowd.
The last, but essential, component discussed here is passion. Regardless of age, experience, innovative capacity, and knowledge of hardware and software, if the people working on FS3 are not passionate about the project, they are unlikely to contribute much or to work on the project for very long. FS3 is a challenging project for which there are no roadmaps or how-to guides. We will be drawing the maps and writing those how-to guides. And that work will be best done by those who have some fire in them to do something new, to be part of a cool project, and to have fun at the leading edge of computing innovation.
If this sounds like your kind of project, put a comment on this blog, and we'll talk! We're looking for lots of passsionate, innovative hackers who are up for a challenge...