CoPa: a Parallel Programming Language for Collections (1998)
| Venue: | University of Pennsylvania, Institute for |
| Citations: | 8 - 1 self |
BibTeX
@TECHREPORT{Suciu98copa:a,
author = {Dan Suciu and Val Tannen},
title = {CoPa: a Parallel Programming Language for Collections},
institution = {University of Pennsylvania, Institute for},
year = {1998}
}
OpenURL
Abstract
In this paper we propose a new framework for parallel processing of collections. We define a high-level language called CoPa for processing nested sets, bags, and sequences (a generalization of arrays and lists). CoPa includes most features found in query languages for object-oriented or object-relational databases, and has, in addition, a powerful form of recursion not found in query languages. CoPa has a formal declarative definition of parallel complexity, as part of its specification. We prove the existence of a complexity-preserving compilation for CoPa, i.e. one which offers upper-bound guarantees for the parallel complexity of the compiled code. The majority of the compilation process is architecture-independent, using a parallel vector machine model (BVRAM). The BVRAM instructions form a sequence-algebra which is of independent interest, and have been carefully chosen to reconcile two conflicting demands: supporting the complexity-preserving compilation of CoPa's high-level con...







