YEAR 3 ACCOMPLISHMENTS -- FMS Support Team The PET FMS support team is based at the Northeast Parallel Architectures Center (NPAC) at Syracuse University. Within NPAC, FMS activities are centered around the Interactive Web Technologies (IWT) group, lead by Dr Wojtek Furmanski. The group includes two research scientists and roughly a dozen graduate research assistants who make various contributions to FMS activities. Year 3 Effort Our Year 3 effort can be divided in to two distinct but related thrusts. The major effort continued the core development of our WebHLA framework, and we also developed and delivered demonstrations of its use with specific FMS applications, such as parallel CMS. Another effort used some of the tools and technologies that underlie WebHLA (i.e. WebFlow, CORBA) to provide an environment which facilitates the integration of multiple simulation applications under web-based user interfaces. WebHLA Activities WebHLA follows the 3-tier architecture of our Pragmatic Object Web, with a mesh of JWORB (Java Web Object Request Broker) based middleware servers managing backend simulation modules and offering Web portal style interactive multi-user front-ends. JWORB is a multi-protocol server capable to manage objects conforming to various distributed object models and including CORBA, Java, COM and XML. HLA is supported via Object Web RTI (OWRTI) i.e. Java/CORBA based implementation of DMSO RTI 1.3, packaged as a JWORB service. Distributed objects in any of the popular commodity models can be naturally grouped within the WebHLA framework as HLA federates and they can naturally communicate by exchanging (via JWORB based RTI) XML-ized events or messages packaged as some suitable FOM interactions. HLA-compliant M&S systems can be now integrated in WebHLA by porting legacy codes (typically written in C/C++) to suitable HPC platforms, wrapping such codes as WebHLA federates using cross- language (Java/C++) RTICup API, and using them as plug-and-play components on the JWORB/OWRTI software bus. In case of previous generation simulations following the DIS (or ALSP) model, suitable bridges to the HLA/RTI communication domain are now also available in WebHLA, packaged as utility federates. To facilitate experiments with CPU-intense HPC simulation modules, we developed suitable database tools such as event logger, event database manager and event playback federate that allow us to save the entire simulation segments and replay later for some analysis, demo or review purposes. Finally, we also constructed SimVis -- a commodity (DirectX on NT) graphics based battlefield visualizer federate that offers real-time interactive 3D front-end for typical DIS=>HLA entity level (e.g. ModSAF style) simulations. In parallel with prototyping core WebHLA technologies such as JWORB or OWRTI, we are also analyzing some selected advanced M&S modules such as the CMS (Comprehensive Mine Simulator) system developed at Ft. Belvoir, VA that simulates mines, mine fields, minefield components, standalone detection systems and countermine systems including ASTAMIDS, SMB and MMCM. The system can be viewed as a virtual T&E tool to facilitate R&D in the area of new countermine systems and detection technologies of relevance both for the Army and the Navy. We recently constructed a parallel port of the system to Origin2000, where it was packaged and can be used as either a DIS node or as an HLA federate. Based on the analysis of the sequential CMS code, we found the semi-automatic, compiler directives based approach as the most practical parallelization technique to start with in our case. The most CPU- intensive inner loop of the CMS simulation runs over all mines in the system and it is activated in response to each new entity state PDU to check if there is a match between the current vehicle and mine coordinates that could lead to a mine detonation. Using directives such as 'pragma parallel' and 'pragma pfor' we managed to partition the mine-vehicle tracking workload over the available processors, and we achieved a linear speedup up to four processors. For large multiprocessor configurations, the efficiency of our pragma-based parallelization scheme deteriorates due to the NUMA memory model and increased contention on the internal network. This makes efficient use of cache critically important to obtaining scalable performance. We were unable to enforce a cache-efficient data decomposition using pragmas, probably due to the rather complex object oriented and irregular code in the CMS inner loop. We are currently rebuilding and simplifying the inner loop code so that the associated memory layout of objects is more regular and hence predictable. Playing the real scenario over and over again for testing and analysis is a time consuming and tedious effort. A database of the equivalent PDU stream would be a good solution for selectively playing back segments of a once recorded scenario. For a prototype version of such a PDU database (PDUDB) we used Microsoft's Access database and Java servlets for loading as well as retrieving the data from the database using JDBC. The PDU logger servlet receives its input via HTTP PORT message in the form of XML-encoded PDU sequences. The input stream is decoded, converted to SQL and stored in the database using JDBC. The Playback is done using another servlet that sends the PDUs generated from the database as a result of a query. The servlet is activated by accessing it from a web browser. Currently the queries are made on timestamps, which are used to determine the frequency with which PDUs are to be sent. But any possible queries can be made on the database to retrieve any information. The servlet can send the PDUs either in DIS mode or in HLA mode. In our Pragmatic Object Web approach, we integrate CORBA, Java, COM and WOM based distributed object technologies. We view CORBA and Java as most adequate for the middleware and backend, whereas COM as the leading candidate for interactive front-ends due to the Microsoft dominance on the desktop market. Of particular interest for the M&S community seems to be the COM package called DirectX which offers multimedia API for developing powerful graphics, sound and network play applications, based on a consistent interface to devices across different hardware platforms. Using DirectX/Direct3X technology, we constructed a real-time battlefield visualizer, SimVis that can operate both in the DIS and HLA modes. SimVis a Windows NT application written in Visual C++ and the DirectX/Direct3D API. The ModSAF terrain is the input for a sampler program, which provides vertices, colors, and texture information for each of the faces. After the terrain is constructed, it is added as a visual object to the scenario scene. Geometry objects and animation sets for typical battlefield entities such as armored vehicles (tanks) and visual events such as explosions were developed using 3D Studio MAX authoring system. SimVis visual interactive controls include base navigation support, choice of rendering modes, and a variety of scene views. The components described above have been combined into a demonstration that features an HPC parallel application (CMS) interacting with other simulation components running on geographically distributed computing resources. A typical configuration involves parallel CMS federate running on Origin2000s at CEWES and ARL MSRCs and other modules (ModSAF; JDIS, the Java-based DIS/HLA bridge; PDUDB; SimVis) running on Syracuse SGI and NT workstations. Our initial results are quite encouraging and we therefore believe that WebHLA with evolve towards a powerful modeling and simulation framework, capable of addressing new challenges of DoD and commodity computing in many areas that require federation of multiple resources and collaborative Web based access such as Simulation Based Design and Acquisition. WebFlow Activities The value of high performance commodity computing (HPcc) is not limited to those applications which require HLA compatibility. It is a new type of infrastructure which gives the user access to a full range of commercials capabilities (i.e. databases, compute servers), pervasive access from all platforms, and a natural incremental path for enhancement as the computer industry juggernaut continues to deliver software systems of rapidly increasing power. The WebFlow system, which also underlies the WebHLA system described above, is an HPcc system designed to provide seamless access to remote resources through the use of a CORBA-based middleware. During Year 3, Syracuse researchers have worked on using this tool to help couple together existing applications code and provide them with web-based user interfaces in such a way that the user interface can run locally to the user, perhaps in the field, while the applications run on one or more "back-end" computational resources elsewhere on the network. The principle example developed during the year is the Land Management System (LMS), the development of which is lead by CEWES. The primary computational codes in LMS are EDYS, which simulates vegetation growth, including disturbances (such as military exercises), and CASC2D, which simulates watersheds and the effects of rainfall. They interact with a third module, the Watershed Management System (WMS) which provides input processing and output visualization services to both codes. WMS requires a variety of input information including digital elevation models, land use data, and details of the soils and vegetation. Once the user defines the simulation boundaries, the WebFlow system is used to extract the relevant information from databases, both locally, and Internet-accessible databases run by, for example, the U.S. Geological Survey. WMS processes the database extracts into input files appropriate for EDYS and CASC2D, and WebFlow then launches the simulation. Because of the construction of the simulation codes, CASC2D is invoked just once for the duration of the simulation and "paused" while the vegetation simulation is being run, while EDYS is invoked anew for each segment of the simulation. This, along with interconnection of the data streams for the two code is handled by WebFlow. It is also worth noting that the two codes happen to be run on separate platforms, in accord with their separate resource requirements. When the simulation is complete, WMS can be used through the web-based interface to visualize the results. The culmination of this project was a class, conducted by Dr Tom Haupt at the CEWES MSRC TEF which discussed the tools and technologies used here, and how they can be applied to other problems. This is yet another highly successful demonstration of the value and generality of the HPcc approach, and we look forward to helping users make further use of this software development model.