CPC 2006 CPC 2006

Call for Participation
Current List of
Program (List of Talks)
Registration Form
Travel Information

Funded by the Vicerreitoría de Investigación of the University of A Coruña and the Ministry of Education and Science of Spain

Universidade de A Coruña Ministerio de
		      Educación y Ciencia

Parallel Visualization using the Domain-Specific Interpreter Pattern

Karen Osmond, Olav Beckmann, Anthony J. Field and Paul H. J. Kelly
Department of Computing, Imperial College London, UK

This talk concerns the software engineeering problem of deploying domain-specific optimisation. The work is motivated by experience with parallelization and tiling in MayaVi, a 44,000-line visualisation application written in Python and VTK.

To minimize disruption to MayaVi's open-source codebase, we do this by interposing a proxy between the Python client code, and the VTK library. The proxy delays execution of the library code, and captures a recipe for the computation required. This creates the opportunity for a "domain-specific interpreter" to select an optimised execution plan.

The "domain-specific interpreter" is a design pattern applicable in many contexts, in particular where relatively heavyweight operations are involved to outweigh interpretive overheads. The key issue is whether the captured recipe fully accounts for dependences between client and library code.

We present a generic mechanism for interposing a domain-specific interpreter in a Python application, together with experimental results demonstrating the technique's effectiveness. In an application involving visualization of isosurfaces in an unstructured mesh fluid flow simulation, we show good speedups from improved memory hierarchy performance, and through both SMP and distributed-memory parallelization.

Back to the Workshop Program 

Please contact our webadmin with any comments or changes.