Research » Past (Grad School)

Past Research

Telescoping Languages

Telescoping Languages is a general strategy to eliminate the performance gap between high-level scripting languages and the low-level traditional programming languages. It relies on the important observation that almost the entire computation carried out in a program written in a high-level language takes place inside libraries. The telescoping languages strategy involves speculative specialization of libraries through an extensive offline precompilation. The specialization is guided by annotations by the library writers. The process is analogous to offline indexing by Internet search engines. Search engines perform extensive offline indexing of data to support rapid user queries; the telescoping languages approach performs extensive offline analysis of libraries to support efficient and effective compilation of end-user programs. My dissertation work, entitled Telescoping Matlab for DSP Applications, explores the effectiveness of the telescoping languages strategy in the context of Digital Signal Processing (DSP) applications.

Related publications:

A Compiler-driven Execution Model for Irregular Applications

Building on the earlier experience, a macro-dataflow based execution model was developed for scientific applications that have irregular computation and communication behavior. The idea was motivated, in part, from Space-Time Memory.

Related publications:

Optimal Scheduling of Constrained Dynamic Applications

An important class of interactive multi-media applications exhibit the property of constrained dynamism - they are dynamic but with certain constraints on the possible states. This property enables scheduling such multi-threaded applications in an optimal way using simple table-lookup based strategies. This work was done in the context of an interactive Smart Kiosk, developed at Digital Equipment Corporation's Cambridge Research Lab. (CRL belonged to Compaq when DEC was bought over by Compaq, and later to HP when HP bought over Compaq, before being closed down.)

Related publications:

Integrating Task and Data Parallelism

Many multi-media applications are inherently task parallel, coded as they are as software pipelines through which multi-media streams flow. Often, for certain classes of computationally demanding multi-media applications, a paradigm that combines data parallelism with task parallelism can be very profitable. This approach was studied in the context of soft real-time streaming applications. This work was done at Compaq Computer's (now HP's) Cambridge Research Lab.

Related publications:

Tuning Parallel Basic Linear Algebra Subroutines (BLAS)

The BLAS form an important kernel for the popular Linear Algebra Package (LAPack) library. Tuning BLAS for specific architecture can be a challenge. This work was done during a summer at IBM's T. J. Watson Research Center, and novel techniques for load-balancing and cache optimization were developed in the process.

Parallelizing Weather Forecasting Model

I was a member of an interdisciplinary team of people from IIT Delhi and the Center for Development of Advanced Computing (C-DAC), Pune, India, whose goal was to parallelize a Medium Range Weather Forecasting application.

The application was a real program being used at the National Center for Medium Range Weather Forecast at New Delhi. It was parallelized for 16 and 32 node message passing distributed memory parallel machine designed and manufactured by C-DAC. Cyclic data distribution with owner-computes rule was used to parallelize the application. We were able to achieve very good speedups after the parallelized version had been tuned for communication optimization and cache performance.

Arun Chauhan / Computer Science / Indiana University