%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\chapter{Conclusions and Future Work}\label{chapter:conclusions}

During the course of this research effort, several contributions
have been made to enable remote real-time visualization of parallel
simulations. A general-purpose, lightweight, portable and efficient
computational steering system, POSSE, has been developed to achieve
this objective. POSSE has been completely written in C++, making it fast
and powerful, while hiding most of the code complexities from the user.
The advanced object-oriented features of C++ have given POSSE an edge
over existing steering systems written in older languages. POSSE has
proven to be a very powerful, yet easy to use software with a high rate
of acceptance and approval at Penn State. If scientists and
engineers are given an easy to use software system with a mild learning
curve, they will use it.

As a demonstration of the steering approach, two important applications
using POSSE have been developed. The first application, a wake-vortex
hazard avoidance system, enables the real-time simulation and
visualization of wake-vortex hazards. For this, an MPI-based parallel
wake-vortex simulation code has been developed and integrated with POSSE.
Further integration with CAVELib enabled the operation of this software
system in an integration virtual environment providing the benefits
of improved input and display devices. This system opens a new
way for the ATC to effectively deal with the wake-vortex hazard problem
and to improve the capacity and safety of large airports.

The second application, an interactive Computational Fluid Dynamics (CFD)
system, makes the on-line visualization and steering of complex flow
simulations possible. For this, POSSE has been successfully coupled to
a C-based flow solver, PUMA. Benefits of scalability and dimensional
reduction arising from this approach have been imperative in the development
of this system. This system makes the visualization of flow simulations
easier, efficient, and most-importantly without any delay as and when
the results are generated, thus giving the user much greater flexibility
in interacting with the huge amounts of data. 

At a more basic level, the ability to interact and visualize a complex
solution as it unfolds using the depth cue of the stereoscopic display
and the real-time nature of the computational steering system opens a
whole new dimension to the scientist and engineer for interacting with
their simulations.

\section{Future Work}

While a significant amount of work has been done during the
course of this research, there are several aspects that need further
improvement. Currently, POSSE only supports periodic polling as a way
to monitor server-side data. While this does not adversely affect the
applications described in this thesis, polling may introduce substantial
overhead for applications that need to retrieve data from the server at
a high frequency. To avoid this, a publish-subscribe methodology can be
implemented. Also, POSSE can be enhanced to support more than
one data registration block per application enabling the use of several
{\tt DataServer}s in a single program.

For the wake-vortex simulation system, fault-tolerance issues have been
completely neglected. Currently, the failure of any single compute
node can lead to the failure of the entire application. The real-time
steering is a great proof-of-concept, but further research needs to be
carried out before this system is to be ever considered for serious use
for ATC purposes. Stricter specifications for maintaining real-time
nature of the simulation have to be arrived upon and mechanisms for
implementing them have to be researched. Dedicated networks with
quality-of-service guarantees may need to be utilized to maintain
reliable and responsive network connections which are unaffected by
other network traffic. The user-interface of the visualization client
also needs to be greatly improved to support better navigation. Support
for better aircraft, airport and trajectory models also needs to be
included in the visualization client.

For the interactive CFD system, sampling in time along a lower
dimensional space has not yet been implemented. If included, a 2D
surface or a 1D slice can be selected and time-averaged flow data on
that lower-dimensional surface can be obtained. This information would
be of great interest for unsteady flow simulations. This time-dependent
data can also be archived on the local disk of every node of the
parallel simulation making it possible to do time-dependent queries
from stored time slices in a more scalable way. These archives can also
be used for efficiently restarting the simulation to get data from
any intermediate time. This would enable jumping around in time with
much less overhead than would be incurred if the simulation had to be
started from scratch. This would open up a whole new ``dimension'' in the
monitoring and visualization of unsteady flow data.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
