The advent of desktop supercomputing
Supercomputing may finally be a reality for scientific researchers. This November both The MathWorks and Interactive Supercomputing have upgraded programs that enable high performance computing (HPC), and a supercomputing network at the Supercomputing 2006 conference in Tampa, Florida, showed the benefits of parallel computing.
Supercomputing 2006 looked at how HPC will have an impact on daily lives. Expanding on the success of last year's conference, it also featured a series of talks on 'exotic toechnologies'; technologies such as programmable gate arrays, multi-core chips and holographic data storage that will revolutionise computing in the next 15 years.
In addition, the conference also featured a huge high-performance network, linking many of the exhibitors and computers around the world. It was allegedly equivalent to the fourth largest telecommunications structure in the world. 'Setting this up was a challenge,' Wilfred Pinfold, communications chair at this year's conference, told scientific-computing.com. 'We had been planning it for over a year, and it took a month for volunteers to put together.'
The network was also used in parallel computing solutions to solve analytics challenges from breakthrough areas of science. Distributed and parallel computing provide the computational power of supercomputers at a fraction of the cost by running algorithms on multiple processors. The two are closely linked; obviously, there are many hurdles to overcome, including how to schedule the different algorithms, and how to communicate between the different processors.
Distributed Computing Toolbox 3 from the MathWorks allows MatLab users to develop distributed and parallel applications on a computer cluster or multiprocessor system. The new version includes a number of improvements, including support for different schedulers, and provides the message passing between the different processors. It also includes more than 150 MatLab functions for distributed arrays, including linear algebra routines.
Distributed Computing Toolbox was first released in 2004. It has been tested with up to 256 processors, although 16 to 64 processors remain its core market. However, there’s still a long way to go. Jos Martin, one of the developers of the toolbox, told scientific-computing.com: ‘So far we’ve only touched the tip of the iceberg of what needs to be done. We need to look at the performance, create debugging mechanisms and support more schedulers.’
One of the main aims was to minimise the number of messages that need to be sent between processors, and to delay this until as late as possible. Martin emphasised that the most important thing was to get the job done quickly, rather than creating an elegant programme. Sometimes this even involves steps that bring calculations to a halt, to allow the other processors to catch up.
It already has many applications, including radar simulation, where it can perform calculations that previously would have taken two hours in two minutes. It is also used in Monte Carlo simulations for finance calculations, in systems biology, and bioinformatics for patent searching.
MatLab has also been used in conjunction with Microsoft’s Windows Compute Cluster Server 2003 to provide high-performance, parallel computing for cancer research. Currently, cancer is diagnosed with expensive and invasive biopsies. Diagnosis would be possible with a blood test, but this requires the identification of the differences between blood samples from healthy patients and those with the early stages of cancer, from hundreds of thousands of samples. Each sample in itself would contain hundreds of thousands of molecules, so until parallel computing, this kind of processing would have only been possible on supercomputers costing millions of dollars.
Interactive Supercomputing has also developed a piece of software, Star-P, that allows scientists and engineers to develop algorithms and models on PCs using familiar desktop tools, and run them instantly and interactively on parallel servers and clusters without having to reprogram the code. The new version will add support for the open source Python programming language and Wolfram’s Mathematica desktop environment to its existing support for MatLab.
‘We are working with Interactive Supercomputing to give gridMathematica users the ability to run large scale numerical algorithms in a distributed memory environment,’ said Roger Germundsson, director of research and development at Wolfram. ‘This new development will offer the HPC community an even greater array of powerful solutions for high-level mathematical challenges.’