PlutoSpin- Putting a New Spin on Programming
Current attempts, such as OpenMP, to bring about easier to use parallel programming are focused on the syntax issues. This is an important area since we currently have to go through programming hoops, such as pthreads (which GIPSpin makes internal use of), to take advantage of concurrence. Resolving the syntax issues will make it easier and lead to a consistent text format for parallel programming. As human beings we find it hard to view and deal with all the side effects inherent in parallel programming. When dealing with concurrence, the programmer has to be aware of safe handling of data-structures, timing, dead-lock, and other issues. It is hard to visualize these effects in text format, and it is even harder to conceptualize what should be threaded in a program. This is where a graphical interface which helps the programmer deal with such issues is helpful. It can show the programmer what is currently being threaded, the variables used, and it's AI can guide the programmer as to what should be threaded, and which data-structures should have semaphores, mutex-locks, and/or be cubbied.

The industry has made initial strides into combining visual programming concepts with traditional text coding. We have helper routines to jump to variables and functions, and tools to make dependency graphs, but a lot remains to be done. Most of the education and human talent is focused on making new text languages. While text languages have certainly proven themselves in terms of speed of coding, a push to make use of our 2D visualization capabilities is warranted as we move towards the age of concurrence in both hardware and software. New multi-core CPU's and the recently introduced Sony/Toshiba/IBM "Cell" architecture are exciting developments in hardware concurrency as they get us a step closer to how science believes our own brains work at the algorithmic level. A lot remains to be done to take effective advantage of them. Our primary research focus is the enhancement of
GIPSpin to make multi-threaded programming easy.
Copyright © 2005 E Berta. All rights reserved.