Moore’s observed exponential miniaturization of chip technology, known as Moore’s Law. This has been popularly translated into something like ‘computers will double in performance every 18 months’ by colleague of Moore. The chip industry has been racing to fulfil this prophesy year after year, but because the observation is of a physical nature it has a natural upper bound. In other words: transistors can not be smaller than the stuff they are made off.

To keep up with Moore’s Law we eventually have to do something different (see also Jörgen’s predictions.) Research is conducted in many different areas. Nanotechnology, biological computing, quantum computing, etc. One area of research has been in parallelism, performing as much operations as possible at the same time. Parallelism is difficult to program, and creating a Grid to run your applications is very expensive. Perhaps not if we replace our CPU with a GPU, according to NASA. And what will happen then?



Parallel computing is a mature area of computer science. It’s applications range from analysing weather systems to breaking down patterns in market data. Parallel computing is difficult because problems can not always be easily separated into independent sub problems. It is hard to think parallel.

The direction of chip development has been linear. CPUs are optimized for linear processing, probably because thinking linearly is much easier. Most of the advances in parallel computers have been in massively scalable architectures of many CPU style processors. An example of a highly parallel computing initiative is Seti@Home trying to find extraterrestrial life.

But perhaps we have been looking in the wrong direction. We think there are not many parallel problems in our daily lives that require massive parallel computing power. But most of us (at least in the developed world) spend a lot of time gazing at the result of highly parallel computations. We have been sitting at (or over, behind) a very powerful parallel computer, the GPU, computing the color of more and more pixels at the same time.

NASA has selected 120 proposals for Phase 2 negotiations in their Small Business Innovation Research program, known as SBIR. One of these proposals is to repurpose generally available GPUs for parallel computing. If they are successful it means the NASA can ship powerful parallel computers on board space flights. What does it mean for us?

Our computers become more and more capable. We watch television, make phone calls, download content, etc. And all at the same time. But our computers are not built to do things at the same time. If we could use an extra GPU to help with doing the work we might be able to do much more ‘background’ processing.

Another application is the use of virtual worlds. Rendering virtual worlds is mostly done on large computer clusters. But if we could harness the power of client parallelism a virtual world might become more real. The current state of Second Life is nothing compared to the graphics rendering of a game like Halo 3. The perception, and because of that the experience, is that of the early games. By delegating much of the processing to the edges (your computer) a virtual world might become more real. An application that resembles a virtual world is Google Earth. Applications like Google Earth will become much more smooth resulting in different use of this information.
Parallel computing might be the natural step to quantum computing. Quantum computing is not about parallelism but about atomic computation with increased complexity (later more on that.) Parallel computing requires a whole different approach to solving problems. If we are ‘forced’ to master the art of parallel computing thinking of uses for quantum computing might come much more naturally.

I am quite excited about something simple like repurposing generally available technology. It shows that we are sometimes focussed on the detail and forget about the bigger picture. There is something in between now (linear computing devices) and quantum computing. We have not looked parallelism because we have been blinded by the idea of the Grid and because it is difficult. Perhaps this is just what we need to become more creative in the use of parallelism for the benefit of us all.


1 Comment
Jurg October 17, 2007

another interesting article was posted today on the wired blog. in this article they describe using 3 sony ps3’s to build a supercomputer with remarkable parallel processing capabilities.

sony’s open ps3 allows for other operating systems (in this case linux) to be installed without hassle. and it’s open architecture is suitable to string a number of them together. the ps3 may not be the commercial hit, as the article states, but it has found another application in the research community.

 

Write Comment

Name (required)
E-mail (required - never shown publicly)
URI
Subscribe to comments via email
:) :( :imo: :danger: :cash: :brain: :doubt: :dont: :new: :quote: :todo: !!! :conflict: :good: :bad: :ok:
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> in your comment.

Cupertino (beta)