The software system described here-MOVIE (Multitasking
Object-oriented Visual Interactive Environment)-is the most
sophisticated developed by CP. Indeed, it is sufficiently complicated
that the project led by Wojtek Furmanski didn't finish the first
prototype until two years after the end of C
P and Furmanski's move
to Syracuse. MOVIE is designed to address the general compound
problem class introduced in Section 3.6 and illustrated in
Chapter 18. Sections 17.3 and 17.2.10
describe current and potential MOVIE applications, and so provide an
interesting discussion of many examples of this complex problem class.
MOVIE is a new software system, integrating High Performance Computing
(HPC) with the Open Systems standards for graphics and networking. The
system was designed and prototyped by Furmanski at Caltech within the
Caltech Concurrent Computation Program and it is currently in the
advanced implementation stage at Northeast Parallel Architectures
Center (NPAC), Syracuse University [Furmanski:93a]. The MOVIE System
is structured as a multiserver network of interpreters of the high-level
object-oriented programming language MovieScript. MovieScript derives
from PostScript and extends it in the C++ syntax-based,
object-oriented, interpreted style towards high-performance computing,
three-dimensional graphics, and general-purpose high-level communication
protocol for distributed and MIMD-parallel computing. The present
paper describes the overall design of the system with the focus on the
HPC component and it discusses in more detail one current application
(Terrain Map Understanding) and one planned application area (Virtual
Reality).
The concept of the MOVIE System emerged in a series of computational experiments with various software models and hardware environments, performed by Furmanski during the last few years. His attitude was that of a computational scientist who tries to find the shortest path towards a functional (HPC) environment which would be both dynamic enough to fully utilize the hardware and software technology advances and stable enough to support reusable programming, resulting in extendible, backward-compatible and integrable application software.
MOVIE concepts derive from the computational science research within
CP, such as optimal communication [Fox:88h] and load-balancing
[Fox:88e] algorithms for loosely synchronous problems and, in the
application sector, matrix algebra [Furmanski:88b], neural
network [Nelson:89a], and machine vision
[Furmanski:88c] algorithms. As a next step, we started to develop
the high-performance software environment for neural networks and
machine vision and we realized that the full model in such areas must
go beyond the regular HPC domain. New required components included
dynamic interactive Graphical User Interfaces (GUI), support for
irregular, dynamic computing which emerges, for example, in higher,
AI-based layers of machine vision, and support for system integration
in the heterogeneous computational model involving diverse components
such as regular massively parallel image processing and irregular, symbolic expert system techniques. This
complex structure-a ``system of systems''-is typical of the
compound problem class.
Furmanski's work decoupled therefore for some time from the main
CP/NPAC thrust and, assuming tentatively that we ``understand'' the
regular HPC components, he followed an independent exploratory route,
making a series of computational experiments and identifying components
of the ``next-step'' broader model for HPC, which would integrate all
elements discussed above.