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:
-
Arun Chauhan and Ken Kennedy. Optimizing Strategies for Telescoping Languages: Procedure Strength Reduction and Procedure Vectorization. In Proceedings of the 15th ACM International Conference on Supercomputing (ICS), pages 92–101, New York, NY, USA, June 2001. ACM Press.
[Article DOI] -
Arun Chauhan and Ken Kennedy. Reducing and Vectorizing Procedures for Telescoping Languages. International Journal of Parallel Programming, 30(4), pages 291–315, August 2002.
[Article DOI] - Arun Chauhan, Cheryl McCosh and Ken Kennedy. Type-based Speculative Specialization for a Telescoping Compiler for MATLAB. Technical report TR03-411, Department of Computer Science, Rice University, Houston, Texas, USA, 2003. [Full text]
-
Arun Chauhan and Ken Kennedy. Slice-hoisting for Array-size Inference in MATLAB. In Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing (LCPC), October 2003.
[Article DOI] -
Arun Chauhan, Cheryl McCosh, Ken Kennedy and Richard Hanson. Automatic Type-driven Library Generation for Telescoping Languages. In Proceedings of SC: High-performance Computing and Networking Conference, November 2003.
[Article DOI] -
Arun Chauhan. Telescoping MATLAB for DSP Applications. Doctoral dissertation, Rice University, Department of Computer Science, Houston, Texas, December 2003.
[Full text] -
Arun Chauhan and Ken Kennedy. A Source-level MATLAB Transformer for DSP Applications. In Proceedings of the 6th IASTED International Conference on Signal and Image Processing (SIP), August 2004.
[Full text] -
Cheryl McCosh, Arun Chauhan and Ken Kennedy. Domain-specific Type Inference for Library Generation in a Telescoping Compiler. Technical report TR04-434, Department of Computer Science, Rice University, Houston, Texas, USA, 2004.
[Full text] -
Ken Kennedy and Bradley Broom and Arun Chauhan and Robert J. Fowler and John Garvin and Charles Koelbel and Cheryl McCosh and John Mellor-Crummey. Telescoping Languages: A System for Automatic Generation of Domain Languages. Proceedings of the IEEE, 93(2), pages 387–408, February 2005.
[Article DOI, Full text]
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:
-
Arun Chauhan and Kathleen Knobe. A Compiler Driven Execution Model for Irregular Scientific Applications. In Proceedings of the Workshop on Compilers and for Parallel Computing (CPC), 2000. Invited paper.
[Full text]
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.
(
Related publications:
-
Kathleen Knobe, James M. Rehg, Arun Chauhan, Rishiyur S. Nilkhil and Umakishore Ramachandran. Scheduling Constrained Dynamic Applications on Clusters. In Proceedings of the ACM/IEEE Conference on Supercomputing (SC), 1999.
[Article DOI]
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:
-
James M. Rehg and Kathleen Knobe and Umakishore Ramachandran and Rishiyur S. Nikhil and Arun Chauhan. Integrated Task and Data Parallel Support for Dynamic Applications. Scientific Programming, 7(3-4), pages 289–302, August 1999.
[Full text] -
Jim Rehg, Kathleen Knobe, Umakishore Ramachandran, Rishiyur S. Nikhil and Arun Chauhan. Integrated Task and Data Parallel Support for Dynamic Applications. In David R. O'Hallaron, editor, Proceedings of the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR), volume 1511 in Lecture Notes in Computer Science, pages 167–180, 1999. Springer Berlin Heidelberg.
[Article DOI]
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.