Abstract

It is shown that for a functional language with explicit parallelisms, at least two different parallel operators are necessary from a complexity point of view. In principle, just one of these operators is semantically sufficient, but the other cannot be implemented in constant time using this one operator. The parallel functional language is a first-order language (in order to keep the semantics simple) and is intended for shared memory architectures, for example, PRAMS. Operational semantics for the various kinds of PRAMs (parallel random-access machines) are defined, and some examples of implementations of parallel algorithms in this language are given. This semantics also includes processor scheduling. The complexity results presented also apply to higher-order functional languages, because the lower-bound proofs for the simulation do not make use of the first-order property. >

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call