Subject: Mesh ITR draft Resent-Date: Fri, 17 Dec 1999 15:26:28 -0500 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Fri, 17 Dec 1999 14:22:53 -0600 (CST) From: Joe Thompson To: gcf@npac.syr.edu CC: joe@erc.msstate.edu Here's my shot at getting the Mesh ITR pre-proposal to 5-pages. This is still about a half-page too long, since we have to allow for the figure. Possible cuts I see are the BROADER ISSUES section, the RELATION TO LIBRARIES section, and the last paragraph of the COMPUTING PORTAL section. Take a look and think about how to cut. You may see other stuff that is redundant or not really necessary. Although the BROADER ISSUES section is an obvious target for cutting, they did say they wanted that stuff addressed. So I would rather compress some other stuff and save at least part of this section. I think it's looking good, and makes sense. *** A Computing Portal for Geometry/Mesh Generation ----------------------------------------------- INTRODUCTION. Geometric representation and mesh generation is enabling technology that is essential to 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 now advanced, though much still remains to be done in the area of adaptive coupling with solutions, but there are major computer science issues in developing a configurable system of general application as enabling technology for computational science. This proposal thus seeks the opportnity to bring major computer science expertise to bear in collaboration with major expertise in the computational technology to address this pressing software need through the development of a computing portal for distributed geometry/mesh generation. PROPOSED EFFORT. A networked collaboration among computer scientists and geometry/mesh researchers is proposed to develop an open-source geometry/mesh generation system for application and continual enhancement in the NSF PACI community and beyond. This open-source geometry/mesh generation system will be developed based on components technology, incorporating useful components from existing systems and developing new components as needed. The system will be structured in accordance with sound software engineering principles, and extensions resulting from the open-source nature of the effort will be managed by this networked collaboration. The system will operate on PACI servers for use by clients throughout the PACI community, in the mode of an application service provider. The networked collaboration will continually provide training, guidance, and assistance to the PACI community in the use of the system. The development of a truly effective geometry/mesh generation system of this scope is beyond the skill set of the engineers and mathematicians who have advanced the general computational technology. This development can only be accomplished through a concerted collaborative effort with computer scientists. A networked collaboration bringing together expertise in geometry/mesh generation at Mississippi State and expertise in computer science at Florida State to develop an open-source geometry/mesh generation system for application and continual enhancement in the PACI community is an effective and logical way to address this national problem. DESIGN CRITERA. The fundamental design criteria for this system will be: 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 therefore be based on components technology incorporating both libraries and distributed objects. This system will provide for continual enhancements and extensions by the user community, and therefore will be open source. This system will operate as a computing portal, and therefore will be based on a web-based three-tier client/broker/service architecture utilizing a browser interface with the user. This system will utilize existing geometry/mesh computational technology incorporated in a framework developed with frontier computer science. COMPUTING PORTAL. This project will address the development of a computing portal 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. 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 the 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. RELATION TO LIBRARIES. This approach to components technology differs somewhat from the usual library approach in that possibly distributed modules are linked together in a dynamic fashion. This is more flexible that the library approach, and supports distributed components. This component approach can admittedly be less efficient that the library approach, as component linkage is obtained through explicit exchange of messages rather than through efficient parameter passing as for library methods. Since this inefficiency is particularly serious for small components, because of latency overhead, a hybrid aproach will be followed - using the traditional library mechanism within a set of agreed interfaces and design frameworks to promote easier interchange of modules. Large objects (roughly geometric macros) will use a component approach within a distributed object framework defined in XML. 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 structure 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 read 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. 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. 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'd own wormhole router design. 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 Pines (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 a 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 graduate students addressing the different aspects of the problem, but in coordinated 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. ----- End Included Message -----