Journal of Computer Science 7 (5): 591-599, 2011
ISSN 1549-3636
© 2011 Science Publications
Corresponding Author: Jovana Knežević, Lehrstuhl für Computation in Engineering, Technische Universität München,
Arcisstraße 21, 80333 München, Germany
591
Interactive Computing Framework for Engineering Applications
Jovana Knezevic, Jerome Frisch, Ralf-Peter Mundani, Ernst Rank
Department of Computation Engineering, Technische Universität München,
Arcisstraße 21, 80333 Munich, Germany
Abstract: Problem statement: Even though the computational steering state-of-the-art environments
allow users to embed their simulation codes as a module for an interactive steering without the
necessity for their own expertise in high-performance computing and visualisation, e.g., these
environments are limited in their possible applications and mostly entail heavy code changes in order
to integrate the existing code. Approach: In this study, we introduce an integration framework for
engineering applications that supports distributed computations as well as visualization on-the-fly in
order to reduce latency and enable a high degree of interactivity with only minor code alterations
involved. Moreover, we tackle the problem of long communication delays in the case of huge data
advent, which occur due to rigid coupling of simulation back-ends with visualization front-ends and
handicap a user in exploring intuitively the relation of cause and effect. Results: The results for the
first test cases are encouraging, both showing that we obtain excellent speedup in parallel scenarios
and proving that the overhead introduced by the framework itself is negligible.
Conclusion/Recommendations: Testing the case involving massively parallel simulation, as well as
the integration of the framework into several parallel engineering applications are part of our imminent
research.
Key words: Interactive computing, Computational Steering Environment (CSE), pure multithreading,
integration framework, engineering applications, Problem Solving Environment (PSE),
Message Passing Interface (MPI)
INTRODUCTION
Interactive computing, in general, refers to the real-
time interplay of a user with a program during the
program runtime in order to estimate its actual state or
tendency and to fetch an opportunity to react on variety
of changes. Within numerical simulation experiments,
specifically, this implies that the geometry of the
simulated scene can be modified interactively altogether
with boundary conditions or a distinct feature of the
application, thus, the user can gain “insight concerning
parameters, algorithmic behavior and optimization
potentials” (Mulder et al., 1999). The commonly agreed
central features of interactive computing in this case are:
on the front end, a sophisticated user interface and the
visualization of results on demand and, on the back-end,
a separated steerable, often time- and memory-
consuming simulation running on a high-performance
cluster (Fig. 1).
Even though powerful tools such as Van Liere and
Van Wijk (1996); McCorquodale et al. (2000) and
Reality Grid (2003) allow users to embed their
simulation codes as a module for an interactive steering
without the necessity for their own expertise in
algorithms and data structures, high-performance
computing and visualization, these tools are limited in
their possible applications and mostly entail heavy code
changes in order to integrate the existing code.
Fig. 1: At the development front-end, the user guides
the simulation in building a solution to his
problem via graphical user interface, while on
the back-end, an often time-and memory-
consuming program is being executed