Introduction.


  With an increasing number of simulations running on parallel machines, the interactive display of data has become an important and necessary tool. The interactive display of data is required for insuring that the simulation is proceeding correctly and also to update parameters supplied to the simulation. There are two approaches to this problem.

One approach is to provide the parallel machine with the capability of making remote graphics calls. However, this method has limited use due to the requirement that the compute processes are responsible for deciding what display mechanism to use. The compute processes are then involved with graphics rather than pure computation.

An alternative approach is for the server to only receive commands and transfer data to the graphics workstation. The graphics workstation then makes the necessary local calls to display this data. This design allows the compute process to just do relatively quick data transfers and concentrate on the computations for a large majority of its time.

Several systems have been proposed for this second method of display. Primary among them are Vase and Vista. These systems present a graphical display of the control flow of the code to the user. The user then chooses breakpoints and instruments the code.

The Steering Library described in this document provides tools for a graphics workstation to communicate with remote machines and collect data from compute processes running on the PARAGON. The communication is done in a non-interrupt fashion i.e. the compute processes only respond and participate to the extent they so wish. Additionally, a client (or multiple clients for that matter) may connect to the server any number of times without disturbing the server and its application.

Despite the ease of use provided by systems such as Vase and Vista, their utility is limited due to the difficulty in parsing legacy code. The motivation behind the development of our library is to provide the user with a simple user-callable library to achieve the data transfer. Some tracking (and/or steering) systems are also tightly integrated with specific front ends. Our library is designed to be independent of graphics software or hardware so that the user can integrate their application with textual or graphical interfaces of their choice.

In this brief handbook, we begin by describing the major features of the controller library. These features include

 

Back to Table of Contents.