News
New Release of GridSolve Middleware Offers Major Enhancements
Published August 30, 2005
A powerful new version of GridSolve middleware has just been released by the Innovative Computing Laboratory (ICL) of the University of Tennessee, led by Jack Dongarra. GridSolve is a more highly evolved form of NetSolve, the popular grid middleware system widely known for its deployability, its ease of use via familiar interfaces, such as Matlab, C, and Fortran, and its integration with popular grid technologies. GridSolve represents a new implementation of NetSolve's core functionality that is based on the emerging standard for Grid Remote Procedure Call (GridRPC). It not only makes grid computing even easier to deploy and use, it incorporates major enhancements based on real world experiences and feedback from the NetSolve user community. Among the improvements offered are the following:
Tolerance for NATs - Network Address Translation (NAT) devices are one of the banes of client/server based grid computing. GridSolve addresses the problem of communicating through NATs on both ends. On the server side, it includes a NAT proxy that allows servers to run behind a NAT and yet sustain essential connections to its clients. On the client side, GridSolve uses a modified form of the original NetSolve client protocol that enables clients to easily run behind NATs with no proxy required.
Accelerated performance - For data transfer among heterogeneous server resources, GridSolve replaces traditional XDR translation with the newer Receiver Makes Right protocol. This eliminates the need for data conversion at the sender and requires it only at the receivers end. GridSolve also incorporates a more efficient matrix transpose routine for C to FORTRAN calling (or vice versa), and provides a faster return from non-blocking calls by forking a separate process to handle the transmission of the input data.
Supports asynchronous management of long-running jobs - For very long running jobs, GridSolve provides the option of disconnecting from the server and picking the results up later, even from a different machine.
Streamlined development of new services -The language for specifying the calling sequence of a routine to be integrated into GridSolve - gsIDL - has been streamlined. New argument types have been added that provide a closer mapping between the procedure to be integrated and the gsIDL specification. This simplifies the development of gsIDL specifications, making it easier to create new GridSolve services that offer users more natural calling sequence.
Easier Service Deployment - Under GridSolve, services no longer need to be compiled with the server but are compiled to statically-linked executables, so that there are no issues with library paths or setting different compiler flags for different linkers. Since the services are not linked in with the server binary itself, adding a new service just requires building it and placing it in the proper subdirectory. The server does not need to be restarted in order to enable the new type of problem to be solved.
Enhanced Resource Selection - To allow GridSolve clients to filter the list of servers returned by the GridSolve agent, the client can now specify the criteria that it wants satisfied, e.g. by using a Boolean expression such as MEMORY > 1024.
While the newest, experimental release of GridSolve includes core functionality that many users need, future releases of GridSolve in the coming year will fully incorporate NetSolve's current feature set and thus become its next generation replacement. GridSolve will include all the main APIs that NetSolve now offers (e.g., for task sequencing and use of distributed storage), integrate popular Grid services (e.g., Globus, Condor, and LAPACK for Clusters), provide the full complement of data types (e.g., sparse matrix, complex, file, packed file, etc.), and extend user interface support beyond Matlab, C, and Fortran to include Mathematica, Octave, Interactive Data Language (IDL) and Excel interfaces.
For more information and to freely download this open source package, please visit the GridSolve Web site at ICL.