WebWork: integrated programming environment tools for national and grand challenges
PROJECT SUMMARY: 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 worldwide 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.