University of Illinois, at Urbana-Champaign
|Topic:||Techniques for High Performance Computational Steering|
|Date:||Thursday, March 11, 1999|
|Place:||Gould-Simpson, Room 701|
Interactive computational steering is a technique that allows users to analyze, calibrate, and correct the execution of simulations at runtime. Computational steering can provide impressive capabilities for users. However, computer scientists face numerous challenges to make steering an effective tool. One challenge, which is our focus, is to develop efficient techniques for steering that support many HPC applications while providing sufficient flexibility for various types of interaction.
In this talk, we examine efficient strategies for designing computational steering infrastructures and outline our practical experiences using steering on four existing scientific applications. Our strategy, called language-directed computational steering, dynamically optimizes steering requests at runtime to manage both application performance and steering latency. In this model, users issue steering requests as micro- language statements to the steering system. The steering system, in turn, parses and optimizes these requests. Then, it uses the application's instrumentation to extract data or to inject modifications. In one example, the 'locality' optimization improved steering latency by two orders of magnitude.
In the second part of the talk, we enumerate the basic steps needed to enable computational steering on our example applications and we evaluate the steering infrastructure's impact on application performance. Finally, we furnish a summary of the common issues distilled from these experiences and propose some future research directions.