NPAC Technical Report SCCS-715
WebWork: Integrated Programming Environment Tools for National and Grand Challenges
G.C. Fox, W. Furmanski, M. Chen, C. Rebbi, J. Cowie
Submitted June 14 1995
Abstract
Challenging-scale problems consistently demand solutions that fuse
geographically distributed and heterogeneous data, personnel, expertise,
and resources. For example, national health care problems require
collaboration among experts of fields as diverse as medical informatics,
public policy, robotics, and high performance computing to solve
problems ranging from telemedicine to cost management and quality
control. Indeed, many National Challenges include Grand Challenges as
subcomponents. We can pose the Integrated Challenge as the solution of
metaproblems hosted on world-wide metacomputers linking all three
aspects: simulation, information processing, and collaboration.
We suggest a hybrid approach to Integrated Challenges that combines
World-Wide Web (WWW) technologies with the current portable scalable
software systems developed by the HPCC Initiative for Engineering and
Scientific simulations. This combines the parallel languages and
runtime of HPCC with the software engineering, collaboration and
pervasive technology base of the WWW. The resultant system will support
collaborative rapid prototyping, applied to problem solving environments
(PSE) at different scales. Support will extend from systems such as
ELLPACK (parallel partial differential equation PSE), NWChem (parallel
computational chemistry PSE), MATLAB (uniprocessor matrix and signal
processing PSE), or Khoros (image processing/visualization PSE) in the
simulation arena to complex National Challenges including education,
manufacturing and healthcare. Roughly we consider the world-wide
metacomputer as a set of future generation WWW servers, each of which
(individual workstation, cluster, SMP, or MPP) is implemented internally
(in the closely-coupled homogeneous environment) using appropriate HPCC
technologies (e.g. HPF, MPI, PVM, Fortran-M, pC++, CC++, parallel
Oracle, etc.). Then we link these servers together using generalized WWW
technologies to allow executable program components to be published as
services, and so create a distributed problem solving environment for
prototyping large scale software.
We therefore propose a careful three layer design and prototype
implementation of WebWork, an extensible world-wide virtual machine
(WWVM) model for heterogeneous and distributed high performance
computation. In our three year plan, we propose to initially develop the
basic software engineering tools in a bootstrap fashion -- our first
WebWork tools will accelerate the distributed development of further
capabilities. Note that whereas MPP's have rather limited development
environments, the World Wide Web is likely to have the best productivity
tools of any system. Basing HPCC on Web technologies allows us to
leverage these tools to produce a powerful software engineering
environment. We will prototype the WebWork computational services and
test them on several applications -- including both Grand and National
Challenges for which prototypes have already been developed using
conventional methods and for which metacomputers and HPCC are
appropriate approaches. In particular, we will develop tools to support
computer centers set up as distributed metacomputers. This will be
tested on a modest scale at Boston's Center for Computational Science
and Syracuse's NPAC but designed for applicability to the NSF
Metacenter.