Integration of HPCC and Web Technologies
See http://www.npac.syr.edu/users/gcf/wisewords/hpccwebint2.html for more details
Geoffrey Fox, Wojtek Furmanski, Xiaoming Li
NPAC at Syracuse University, 111 College Place, Syracuse NY 13244-4100
Phone: 3154432163 Fax: 3154434741 Email:gcf/furm/lxm@npac.syr.edu
Abstract
For some time, we have been investigating different ways of integrating HPCC and Web technologies in ways that maximize the synergies between the two areas. HPCC naturally supports high performance communication and synchronization with low latency. It allows users either through a parallelizing tool (compiler) or by hand to decompose problems into separate parts running on individual nodes of a parallel machine. The Web offers a rich worldwide distributing model with a highly productive software environment (due to the high level API and universal interfaces). It also gives convenient access to many important services such as web information, object and relational databases, collaboratories and standard compliant systems such as CORBA object brokers. Typically the web integrates components which are naturally already decomposed. We define a three level model for HPCC Software Systems -- 1) User Interface, 2) Distributed service control level with a network of heterogeneous servers, 3) High Performance classic HPCC layer. In level 3, we view HPCC as one of many services that can be accessed and linked through level 2. We suggest that the Web can be very effectively used in the first two layers with Java applets and other Web User Interface technology in layer 1.
In the important and emerging layer 2, we suggest that a distributed net of Java servers is a natural implementation and go through several examples to illustrate this. Firstly we discuss Java collaboratories such as TANGO (NPAC), Habanero (NCSA) and Shaking Hands (IBM) which are today effectively implemented in this fashion and link people and a variety of services together. The distributed computing tool ARMS developed by Lifka at Cornell directly supports this three level model and can schedule computers, networks and resources such as high end visualization systems. Our final example is WebFlow which supports a dataflow programming paradigm using a Java graphical editor as a front end to the Java Servers which are associated with each of the coarse grain modules in the dataflow graph. By combining these three prototypes, we see that the proposed level 2 can provide the integration and scheduling of the diverse resources: people, computers and instruments that are expected to be needed in complex multidisciplinary HPCC applications including computational steering and collaborative engineering.
HPCC technologies such as MPI and HPF are used in level 3 as high performance modules. However we suggest that paradigm (module) integration can be implemented at level 2 as far as user interface and control is concerned. Communication between modules could either be specialized libraries at level 3 (linking for instances different MPI contexts as with the GMD multidisciplinary library COCOLIB) or the more flexible but lower performance level 2 Java communication mechanisms. We exemplify this with integration of HPF compiled simulation, visualization and image processing modules using WebFlow. We suggest that the same ideas can be used to integrate general compiled and interpreted languages to produce a more dynamic interactive environment than is traditional in HPCC.