LaRCS: A Language for Describing Parallel Computations for the Purpose of Mapping
Virginia Lo, Sanjay Rajopadhye, Moataz A. Mohamed, Samik Gupta, Bill Nitzberg, Jan Arne Telle, Xiaoxiong Zhong
Committee:
Technical Report(May 1990)
Keywords:

LaRCS is a graph description language which enables the programmer of paral­lel algorithms to specify information about the static and temporal communication behavior of parallel algorithms. The information contained in a LaRCS program is used for the mapping problem: to assign tasks in the parallel computation to processors, and to route inter-task messages along the links of the interconnec­tion network. Many practical algorithms exhibit regular communication patterns and LaRCS provides a. mechanism for describing this regularity in a compact, pa­rameterized manner. Static communication topology is expressed in LaRCS code through node labels and simple communication functions on the nodes. Temp­ral communication behavior is represented by a notation we have developed called phase expressions.This paper introduces the LaRCS language and compares La.RCS with several existing graph description languages. We introduce a new graph theoretic model of parallel computation based on LaRCS called the Temporal Communication Graph; and we show how information provided by La.RCS plays an important role in map­ping.