CSAR Noon Seminar

David Padua, UIUC/CS

DATE: Wednesday, March 3, 2004
TIME: 12:00 Noon
PLACE: 2240 DCL
1304 W. Springfield Ave., Urbana, IL

TITLE: Extending MATLAB for Parallel Programming

ABSTRACT

I will describe a MATLAB extension that has been implemented here at Illinois as part of our collaboration with IBM Research in the PERCS project. PERCS is one of the design projects sponsored by DARPA's High Productivity Computer Systems (HPCS) program. The extension is based on a new data type called Hierarchically Tiled Array (HTA) that facilitates the representation and manipulation of arrays and their organization as a hierarchy of tiles. In our system, parallelism and communications are expressed using array operations in a single thread. A master workstation distributes the operations on the HTAs on the servers where their tiles reside. Using array operations for parallelism and communication raises the level of abstraction with respect to the traditional SPMD approach and completely eliminates the risk of race conditions. Thus, using HTAs to express parallel computations improves readability, facilitates reasoning about programs, frees programmers from the complexities of low-level parallel programming, and, as a result, boosts productivity. Our implementation is a toolbox that extends the standard MATLAB language. It uses MPI for communication and has no other requirements from the target system. This implementation approach has several benefits: