Subject: Mesh ITR draft #3 Resent-Date: Mon, 20 Dec 1999 20:00:02 -0500 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Mon, 20 Dec 1999 15:42:29 -0600 (CST) From: Joe Thompson To: gcf@npac.syr.edu CC: joe@erc.msstate.edu This gets it down to the right length including the figure. Note that I added a statement saying we would involve JSU and F A&M: politically correct. I think we can go with this - subject to any changes you want. *** An Open-Source Web-based PSE for Distributed Geometry/Mesh Generation --------------------------------------------------------------------- INTRODUCTION. Geometric representation/mesh generation is enabling technology for computational science in both scientific investigation and engineering design. This enabling computational technology, cross-cutting across mission agencies, has repeatedly been cited by industry and Federal labs as a pacing item holding back the capability of the effective application of computational simulation in investigation, analysis, and design. The computational technology of geometry/mesh generation is well advanced, but there are major computer science research and application issues in developing a configurable system for as general enabling technology for computational science. Geometry/mesh generation is not compute-intensive in the sense of requiring large CPU time or even the fastest CPUs available. Rather, it is more an assembly: a collection of relatively small operations on elements of a growing object, itself an aggregation of smaller objects. And these component objects are reusable and editable to form still other objects. Interactive steering and consultation among application users and those experienced in the generation process are required, because the geometry/mesh is not unique. Geometry/mesh generation is, by its very nature, a particularly good candidate for interactive distributed operation on both the server and client side: multiple servers providing specialized resourses for assembly and multiple clients participating in steering and consultation, with a middle tier brokering resourses. PROPOSED EFFORT. A networked collaboration among computer scientists, engineers, and mathematicians - bringing together expertise in geometry/mesh generation at Mississippi State and expertise in distributed systems at Florida State - is proposed in a large-scale three-year project to develop an open-source Web-based PSE for distributed and collaborative geometry/mesh generation. This system is to be user-configurable from interacting components to meet the differing demands of various applications, rather than being a single monolithic system. The system will operate, for example, on NSF PACI servers for use by clients throughout the PACI community, in the mode of an application service provider. <<< FIGURE >>> WEB-BASED PSE. This project will address the development of a Web-based PSE for geometry/mesh generation, allowing user customizability from a suite of objects and supporting services. The framework of this system will be constructed in terms of components built according to emerging distributed object and Web standards technologies. Geometry/mesh generation computational technology will be encapsulated into modular elements as open-source, allowing for contunual enhancement and extension by the user community - incorporating useful components from existing systems and developing new components as needed. This system will utilize an "Object Web" approach to building distributed systems: a three-tier architecture that generalizes the traditional client-server model to become a client-broker-service model. In this model, the middle tier acts as an intermediary or broker that allows diverse clients to share and choose among many different resources. The middle tier interfaces with the user through a "request for service" interface, and with service objects through a "resources" interface, with expression at these interfaces accomplished through XML technology. This architecture builds on distributed object technology, and this concept underlies the "Object Web" approach to building distributed systems. In this Object Web architecture for geometry/mesh generation, everything is a distributed object, whether it be an elliptic mesh generation element, an unstructured front advancement element, a surface NURB, or a mesh quality measure element, etc, with XML definitions for raw definition and operation objects themselves and the descriptions and results they produce. A single surface geometry or a volume mesh, for example, is composed of many elements, all of which will be objects. We support these objects in Java or XML form. FOUNDATIONAL EFFORT. This effort will build on the existing Gateway Architecture development (http://www.osc.edu/~kenf/theGateway/) led by Fox at Syracuse (now relocating to Florida State) as a part of the Programing Environment & Training (PET) program of the DoD High Performance Computing Modernization Program (HPCMP) and on the extensive geometry/mesh generation computational technology effort of Thompson and co-workers at Mississippi State. And this effort will build on the collaborative working relationship established between Fox and Thompson in the DoD HPCMP PET effort over the past four years. The Gateway system creates a Web-based environment for scientists and engineers that enables secure and seamless access to high-performance resources. It comprises a multi-tier (currently three-tier) architecture. The first tier is comprised of a Web browser-based graphical user interface which assists the researcher in the selection of suitable applications, generation of input data sets, specification of resources, and the post-processing of computational results. The distributed, object-oriented middle-tier maps the user task specification onto back-end resources, which forms the third tier. In this way we hide the underlying complexities of a heterogeneous computational environment, and replace it with a graphical interface through which a user can understand, define, and analyze scientific problems. TECHNICAL APPROACH. The project will produce novel geometry/mesh generation systems supporting two distinct distributed object paradigms. The coarse grain model will be supported by a commodity approach similar to the Gateway System. This will control "whole programs" such as the components shown in the figure. This will be used for initial operational systems. In this approach, LegacyMesh, to be built from the composition of existing programs, forms the overall architecture of the new ComponentMesh system. The ComponentMesh is built in terms of Meshlets, which are built using a JavaBean framework and with compatible XML and Java interfaces. Meshlets are defined hierarchically and can be as large as an aircraft or as small as a single finite element. Java is used essentially as the software to glue meshlets together and to specify those parts of the mesh that are best defined by embedded software. The latter includes handlers to define refinement strategies and interpolation schemes. A mesh can in this way be considered as a set of Java objects, which could be registered and used through the Jini mechanism or displayed using Java3D. Alternatively we can map the mesh into a set of XML files that is stored in a dynamic XML database or persistently in a favorite object relational database. This XML can be translated into X3D (VRML standard expressed in XML) or other emerging XML-based graphics standards such as VML. Our use of the twin XML-Java pragmatic object Web standards allows us to take full advantage of the renderers and filters supporting them. For instance, the collaborative white board could immediately display the Java representation if projected by a filter into two dimensions. In the ComponentMesh, one can either define a mesh conventionally as a set of nodal points and elements or in terms of the software needed to generate the same or, most interestingly, as a combination thereof. The implicit software-based definition is the most efficient and flexible approach, and one would use this where possible with meshlets representing user-generated points at any level of the mesh hierarchy. The software specification will allow particularly efficient algorithms for associated tools like parallel decomposition and visualization. Whereas the current Gateway approach using CORBA is sufficient for high performance implementation of the LegacyMesh, a different lighter-weight Web object model is needed. The situation is rapidly changing, but currently two attractive distributed Java object models are Ninja from an impressive group at UC Berkeley and the very recent e-Speak system from Hewlett-Packard. These provide infrastructure supporting (to differing degrees) necessary services such as security, fault tolerance, and naming (registration and lookup). Ninja has also clearly addressed scaling to a very large number of heterogeneous clients. We plan on evaluating these and other possible base object Web systems during the next few months so that we will be ready to go if this project is funded. In particular, we will set up multiple PC or workstation clusters (at FSU and MSU) as the distributed redundant home base infrastructure to support persistent storage. MSU has an established relationship with Sun - with a 64-node Sun Ultra HPC 10000, a new 16node/64processor Sun cluster, and an earlier 8node/32processor Sun cluster utilizing MSU's own wormhole router design. The figure shows two key interfaces -- middle tier-backend and client-middle tier -- whose systematic use allows modular design as shown in our Gateway project. It has already allowed us to straightforwardly change the original Gateway custom Java Server middle tier to the current CORBA-based solution with XML specifications being mapped dynamically into CORBA IDL. We have defined coarse grain component and event models for Gateway which can, if appropriate, be migrated to either the new CORBA proposals in this area or to Enterprise JavaBean solutions as offered in commercial solutions like i-Planet from Sun. We note two community activities devoted to establishing appropriate standards for generic computing portals. The Grid Forum (www.gridforum.org) is setting key resource standards for computing, network and software resources. This is complemented by the Computing Portals group (www.computingportals.org) whose preliminary abstract task definition has been adopted in Gateway. We will continue our active involvement in these projects, monitoring commercial products and incorporating their results in this project as appropriate. Our project will contribute understanding both from the new ComponentMesh system and from a new model of geometry/mesh generation involving geographically distributed collaboration between computational scientists, computer scientists, and mesh experts. This collaboration is an archetype of general research collaboration and a particularly good case to study, as it is well known that high quality meshes often require expert user intervention. Such mesh expertise is often absent at a given location, and our proposed distributed solution seems the most practical approach. We will initiate this part of our project with the LegacyMesh, where we will use existing mesh technology to build a prototype interactive mesh portal. This will exchange data streams using XML-based data structures, which will be a prototype of those to be used in the ComponentMesh. We have studied existing collaborative systems and have extensive experience with two - Habanero and TangoInteractive - used by the NSF Alliance and DoD PET projects. Technology has changed so rapidly that it is not interesting to re-use these systems, but rather we intend to design a new system whose internal design will be built on the ideas of the Collaborative Web Portal (CWP) recently proposed by Fox. Rather than the custom servers and protocols of the earlier systems, we will build on the emerging distributed software infrastructure discussed above. Again, Ninja from UC Berkeley seems attractive, as the second generation version available in early 2000 has excellent support for robust distribution and queuing of events which is needed by the shared event models of collaboration. CWP integrates shared event and shared display models by supporting "all events" from user actions (mouse motion etc.), programmatic state changes and pixel changes in a display. This allows us to immediately share all applications with the shared display mode of collaboration and where necessary augment with the more powerful shared event model which can require nontrivial changes to the application. We will further integrate asynchronous and synchronous collaboration models by using the strategy familiar from pagers where either mode is driven from an event (message) queue, which also plays the role of session archive. The situation in digital audio-video conferencing is changing rapidly and again we will monitor and choose from systems such as the Access Grid (from the NCSA Alliance), Buena Vista from TangoInteractive, as well as commercial approaches such as White Pine (CUSeeMe) and Microsoft Netmeeting. RESEARCH ISSUES. For this project, a key research area will the general issues concerning integration of coarse grain and fine grain objects in the ComponentMesh - can one still achieve the needed performance, security and robustness goals that we demonstrated in Gateway. Note that the mesh generation application has the interesting feature that changes in the fine grain structure (adding new Meshlets) is associated with user input, and so has performance goals that are important but not as severe as those associated with processing existing components. This feature will be shared with other applications such as general computational steering. The more difficult problem of high performance execution of relatively fine grain software components is being tackled by the DoE CCA (Common Component Architecture) activity and we will follow this work closely. For some portal applications, scaling to many users is important, but that will not be a key problem for the mesh generation problem. We will research issues concerning scaling of client interfaces from those in hand-held devices to PCs to the CAVE (available at MSU). In these areas of distributed system research, we will focus on the mesh problem but draw conclusions for more general applications. Support of our new concept of meshlets, which is applicable to all grid-based applications (generation, execution and visualization) will of course be a major focus. Thus we will investigate in this specific important case the issues of mobile code and the tradeoffs between XML (data structure) and Java (programmatic) specification of information - this is a typical question underlying the different approaches to the pragmatic object Web. Another major research focus will be support of the distributed collaboration between computational scientists, computer scientists and mesh experts. Here we will again focus on the special features of interactive mesh generation as we have reasonably good understanding of general collaboration tools but poor understanding as to which shared capabilities are important to support distributed computing. We will first develop a collaborative version of the interactive user-driven mesh specification and visualization tool. This will use the full shared event capabilities, as customization of the shared control of this seems certain to be important as it the vehicle for collaboration between the mesh expert and users. This part of the project will start with the coarse grain LegacyMesh approach, and we will initiate use and evaluation of the collaborative environment by using the simple shared display version. We will follow this approach with other tools (such as specialized visualizers for the different portal engines shown in the figure) with quick evaluation using a shared display version being followed if necessary by a customized true shared event implementation. This part of the project will teach us which tools of what architecture support this mode of collaboration and how the general distributed system architecture of CPW performs. For example, what is the relative performance of the different collaborative models and will the queued event architecture lead to serious overheads? BROADER ISSUES. This effort is necessarily large-scale because the deliverable is a major software system developed through close virtual collaboration among computer scientists and engineers/mathematicians with expertise in geometry/mesh computational technology. Smaller-scale effort could only serve to make incremental advances in the level of capability of geometry/mesh generation systems for computational science, and would not enable the addressing of the challenges in computer science that are the determining factors in the development of this usable and extendable system. This large-scale project - requiring close interaction among computer science and engineering - is ideal for the cross-disciplinary education of graduate students. And the breadth of the effort requires a large number of students addressing the different aspects of the problem, but in coordinated effort. MSU has an established relationship with Jackson State University - which produces more African-American CS graduates than any other university of any kind in the country - and FSU has an established relationship with Florida A&M. Both of these HBCUs will be involved in this effort. This effort will address a major pacing item in computational science: the geometry/mesh generation that is inherent in computational simulation of field phenomena, i.e. the computational solution of partial differential equations. Particularly significant is that this system will be adaptable and steerable, both in dynamic coupling with the PDE solution and for the design mode in application. This large-scale software development will thus significantly enhance the infrastructure for research in computatonal science, both for scientific investigation and for engineering analysis and design. Dissemination of results is inherent and fundamental to this open-source software effort. The computational science user community, working with interested computer scientists, will continually enhance and extend this system, as well as putting it into application. REFERENCES 1. "Using Gateway System to Provide a Desktop Access to High Performance Computational Resources", Erol Akarsu, Geoffrey Fox, Tomasz Haupt, Alexey Kalinichenko, Kang-Seok Kim, Praveen Sheethaalnath, and Choon-Han Youn, Proceedings of HPDC-8 Conference, Redondo Beach Ca., Aug 3-6, 1999, IEEE Press, http://neumann.computer.org/conferen/proceed/hpdc/0287/0287toc.htm 2. Ninja - http://ninja.cs.berkeley.edu/ 3. E-speak - http://www.e-speak.hp.com/ 4. Initial Description of CPW (Collaborative Portal on the Web) - http://www.npac.syr.edu/users/gcf/offbeatxmloct99/