The project will start from a detailed analysis of several existing visual applications editors such as AVS, HeNCE or CODE. The goal of this stage will be to extract successful design elements present in current generation systems and also to identify their deficiencies and missing elements in the context of high performance multimedia applications. For example, NPAC exploited recently AVS for integrating coarse grain HPCC modules in a series of successful applications but we anticipate shortcomings of AVS for high performance multimedia applications in areas such as parallel I/O, dynamic module linkage, multitasking support for data parallel modules or synchronisation of multimedia threads.
A sketch of the HPCGS design is presented above. Users will access the system via the NCSA Mosaic interface, offering the hypertext based introduction, guide and help services and indicating the entry points to multimedia simulations. Service developers and integrators will be offered an AVS-like interface, augmented by editing tools for data parallel modules and multimedia synchronization. Module developers will be offered interpretative HPF framework, facilitating rapid prototyping and interactive debugging of parallel codes. Modular design of HPFI will allow to experiment with various communication paradigms. HPCGS will build on top of MPI (Message Passing Interface) which is the current standard candidate, and its planned multimedia extension IMPI. The system will also support popular higher level communication protocols such as HTML and database scripts. Several popular HPCC models for distributed computing will be supported such as Fortran M or CC++. Data parallel processing will be implemented in terms of the HPFI technology. Support for preemptive multithreading within HPMS provides a convenient framework for prototyping, dynamically linking and integrating multiple data parallel modules. Overall integration and synchronization will be achieved by mapping individual processing units and/or communication streams on MovieScript threads within the master server of such multi-server interactive environment. MovieScript will be also used to integrate several communication models (MPI, IMPI, HTML, database queries) in the form of a uniform high level communication script.
We plan to explore several possible implementation strategies for extending the AVS functionality. One possibility is to retain the overall AVS framework with one AVS module per each data parallel task and to provide finer grain visualization support and editing tools for parallel dataflow. Another alternative is to provide a symbolic mapping between HPMS threads and AVS modules, i.e. to edit single node using AVS and then replicate such design, thereby creating a multitasking data parallel application. Finally, one could also attempt at developing a visual multimedia editor on top of IMPI from scratch, using, the interactive graphics tools of MovieScript.