|
|
Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt |
|
| Home | Adressen | Personen | Forschung | Lehrveranstaltungen | ||
|
Long-running parallel applications in scientific computing require new techniques in visualization and program interaction. On-line visualization is used to provide the user with insight into the state and behavior of the underlying application. The user is able to monitor the application in the sense that he can view the simulation data and the behavior of algorithms during runtime. With this observation ability he can also detect errors in the program run faster and more easily. With the additional capability of interactive program steering the user can change parameters of the program during runtime and therefore gets more intuition regarding cause-and-effect relationships in his work. Yet he may not only be able to improve the program behavior by steering but also improve the program performance this way.
In ()it has been shown how a concept for on-line visualization for parallel simulation algorithms could look like. A prototype tool VIPER had been developed and tested with the parallel computational fluid dynamics package NSFLEX ( IPPS97). This work presents the basis for our on-going work in the area of on-line visualization and interactive program steering.
In VIPER the parameters of the mathematical model and the numerical methods form objects of in object base which can be accessed by an object-oriented graphical user interface via visualization and modification operators. The VIPER server offers an infrastructure to extract the data out of the parallel application during runtime, to transfer the data across the WAN, and to hand out the data to a communication manager and object manager where the data is stored and can be requested by different visualization systems. Through the interface in the object manager basicly any visualization system can request data objects or send steering parameters from and to the object manager, respectively. Specification of objects is done by source code instrumentation. Objects as well as so-called interaction points are introduced in order to define relevant data structures and points of consistent program states. The power of on-line visualization goes beyond mere observation and reacting to long-running simulations. Many errors made in the parallelization process could be detected by looking at the numerical results during runtime. This is emphasized by the fact that people developing debugging tools have invested significant effort to add data visualization features to their debuggers. In order to find errors on a more abstract level than source code debugging, it is necessary to first analyze sequential and parallel numerical applications according to their algorithmic differences. It turns out that by observing the numerical results of a simulation, the engineer or programmer can more intuitively detect errors made in parallelization. Most tools in this area are dealing with errors on a different level of abstraction. Debuggers are typically used for finding program faults after crashes or deadlocks. Other tools deal with performance issues where the user wants to find out where and why the program isn't running very fast. The latter might well be an issue during a later phase of parallel program development. Yet before, the programmer needs to know whether he has made the right assumptions about how often the parallel processes are communicating and whether this communication results in correct data representations on each of the involved processes. Once such errors are located, a debugger can be activated with the correct interaction point from where on the error can be inspected further.
|
Back: Resource Management in Networks of Workstations |
Up |