Computational monitoring and steering enables effective execution of long-running and computing-intensive scientific simulations on a remote system such as supercomputer or cluster via visual output. Boundary conditions, model geometries, computing parameters, and visualization/viewing parameters can be adjusted as the computation progresses. Bad computing jobs can be terminated and st ray parameters can be tuned to save unnecessary computing cycles.
The design and implementation of a computational steering system requires expertise from many areas such as high performance computing, geometric modeling, and scientific visualization, which are integrated and optimized over wide-area network environment. In our system, computing modules are seamlessly integrated with visualization modules as partially generated data can be dispatched and visualized at local end during the computation runtime. Such intermediate partial visual outputs can be utilized to alter the ongoing computations without waiting for the entire dataset to be generated.
Other Computational Steering Systems
ComputationalThere have been various research efforts on the system design and implementation for computational monitoring and steering systems:
SCIRun , a computational steering environment was initially designed to tackle problems encountered in computational medicine. A network consisting of various computing modules and dataflow links can be constructed under a visual programming environment. Parameter control can be independently applied to individual computing and visualization modules in a graphical user interface.
CUMULVS  is a middleware library that provides an API between PVM  and visualization package such as AVS . Collaborative operations allow researchers at different geographical locations to monitor and steer the same simulation process.
VIPER , a steering tool for parallel computing application, has a pipeline structure consisting of a computational unit, i.e. the parallel application processes, a connecting unit, i.e. the VIPER server, the VIPER object base, and a simplified visualization unit. The target environment for implementation is clusters of workstations and the selected communication library is PVM.
RealityGrid  supports distributed and collaborative steering of parallel simulation and simultaneous visualization. The steering controls of the application are realized through Open Grid Services Infrastructure (OGSI)-compliant Grid service and steering library.
Most of the aforementioned computational steering systems employs a static configuration scheme that does not optimally exploit the disparate computational characteristics and complexities for each steering task, and the underlying network dynamics. These are critical factors for adaptive system deployment to approach optimal network performance. Furthermore, most existing steering tools are not lightweight and require installation of various third-party communication and visualization packages such as Globus, SOAP, PVM and AVS etc.
We are developing an interactive computational monitoring and steering system (Fig.1) which is capable of adaptively selecting an appropriate system configuration to achieve the optimal network performance. Our first implementation is based on GTK/OpenGL implementation of the remote client and C++ library functions callable by C/C++ and Fortran computation/simulation codes. Function calls from this steering library are inserted at strategic points in iterative simulation programs written in various programming languages such as Fortran, Java and C++. Embedded function calls can be used to deliver results or intercept steering commands from the client. Currently, we are extending this system to a web-based Service-Oriented Architecture (SOA), which makes it available over the network as an independent service accessible from a variety of platforms .
Figure 1: Steering system architecture
Users can access the steering services by logging on a remote web server. No additional packages besides a web browser are required at the user end in order to access and manage the remote steering system. Users input the computing and visualization parameters through the interaction with GUI in a browser and receive a sequence of rendered images sent by the web server.
Figure 2: Ajax module model
Our system was initially designed and implemented for specific steering project, TSI , and however, this system can be applied to various other simulation and computation codes.
- S.G. Parker, D.M. Weinstein, and C.R. Johnson. The SCIRun computational steering software system. In E. Arge, A.M. Bruaset, and H.P. Langtangen, editors, Modern Software Tools in Scientific Computing, pages 1--44. Birkhauser Press, 1997
- M. Oberhuber, S. Rathmayer, and A. Bode, "Tuning parallel programs with computational steering and controlled execution, " in Proceedings of the Thirty-First Hawaii International Conference on System Sciences.
- Q. Wu, M. Zhu, and N.S.V. Rao, System Design on On-line Computational Visualization and Steering, International Conference on E-learning and Games, Hangzhou, China, April 16-18, 2006.
- M. Zhu, S.S. Iyengar, Q. Wu, and N.S.V. Rao, Optimal visualization pipeline decomposition and adaptive network mapping to support remote visualization, the 13th Annual Mardi Gras Conference: Frontiers of Grid Applications and Technologies, Baton Rouge , LA , February 3-5, 2005 .
- M. Zhu, Q. Wu, N.S.V. Rao, and S.S. Iyengar, On optimal mapping of visualization pipeline onto linear arrangement of network nodes, Proceedings of SPIE (International Society for Optical Engineering), Conference on Visualization and Data Analysis 2005, Vol. 5669, pp. 1-11, San Jose, CA, USA, January 16-20, 2005.
- M. Zhu, Q. Wu, N.S.V. Rao, and S.S. Iyengar, Adaptive Visualization Pipeline Decomposition and Mapping onto Computer Networks, Proceedings of the 3rd International Conference on Image and Graphics, pp. 402-405, Hong Kong, China, December 18-20, 2004.