Alden King


Tettnang

IN SUBMISSION
White-Box Optimization of a Domain Specific Library. Alden King, Scott Baden. Object-Oriented Programming, Systems, Languages, and Applications. Tucson, Arizona. October 2012.

Abstract

As computational science increases in importance, scientific computing is becoming an increasingly large niche for software design. A common software engineering solution to complexity is modularity and encapsulation, frequently through libraries. This approach lets a few experts optimize expensive operations for the benefit of many non-experts. Unfortunately, typical language methods of encapsulation can be deleterious to performance in scientific domains.

Expertly-optimized queries are not feasible in scientific domains such as Computational Fluid Dynamics (CFD). Development of new models in CFD requires investigation with different and novel queries. These user-defined queries change too rapidly for a few experts to optimize, and thus must be optimized automatically. Many CFD computations can be handled by structured grids of data (arrays). Exploration of different computational queries over these arrays makes up a considerable portion of the time it takes to develop new fluid models. Saaz is a high-level array library for CFD research. By factoring-out simulation-specific configuration details, Saaz helps domain scientists experiment with new queries and explore new models. Like many libraries, however, Saaz's features come at a cost. The overheads of Saaz can increase analysis time by a factor of 40 over plain C++. In this paper we introduce the Tettnang source-to-source compiler to mitigate these overheads. By using semantic knowledge of the Saaz library, Tettnang-translated saaz code can achieve performance within 75% of a plain C++ implementation.

Reducing Library Overheads through Source-to-Source Translation. Alden King, Scott Baden. International Conference on Computational Science. Omaha, Nebraska. June 2012.

Abstract

Object oriented application libraries targeted to a specific application domain are an attractive means of reducing the software development time for sophisticated high performance applications. However, libraries can have the drawback of high abstraction penalties. We describe a domain specific, source-to-source translator that eliminates abstraction penalties in an array class library used to analyze turbulent flow simulation data. Our translator effectively flattens the abstractions, yielding performance within 75% of C code that uses primitive C arrays and no user-defined abstractions.

Saaz

The Saaz Framework for Turbulent Flow Queries. Alden King, Eric Arobone, Scott B. Baden, Sutanu Sarkar. Future Generation Computing Systems. 2012.

Abstract

In many respects, numerical simulations involving solutions to partial differential equations have replaced physical experimentation. However, few tools are available to sift through the deluge of data. We present Saaz, a query framework to analyze the simulation results of multi-scale physical phenomena which admit mathematical rules for characterizing features of interest. Saaz provides high-level primitives that free the domain-scientist to concentrate more on scientific discovery and less on code implementation and maintenance. It supports user-defined domain-specific query operations which may be subsequently composed into more complex queries. While Saaz supports offline processing of queries, we explore here the online capabilities by attaching Saaz to a running simulation, improving the simulation's effective temporal resolution. We discuss analysis for a computational fluid dynamics simulation of turbulent flow running on a cluster.

The Saaz Framework for Turbulent Flow Queries. Alden King, Eric Arobone, Scott B. Baden, Sutanu Sarkar. IEEE e-Science. Stockholm, Sweden, 2011.

Abstract

In many respects, numerical simulations involving solutions to partial differential equations have replaced physical experimentation. However, few tools are available to sift through the deluge of data. We present Saaz, a query framework to analyze the simulation results of multi-scale physical phenomena which admit mathematical rules for characterizing features of interest. Saaz provides high-level primitives that free the domain- scientist to concentrate more on scientific discovery and less on code implementation and maintenance. It supports user-defined domain-specific query operations which may be subsequently composed into more complex queries. While Saaz supports offline processing of queries, we explore here the online capabilities by attaching Saaz to a running simulation, improving the simulation’s effective temporal resolution. We discuss analysis for a computational fluid dynamics simulation of turbulent flow running on a cluster.