This paper introduces DUALITY, a design model that provides a more structured style of parallel programming and refines causality from concurrency. We investigate semantic and syntactic transformations that support identifying the structure of a parallel program, as the basis for reducing the design complexity. The initial focus is on specification and correctness, then gradually adding architectural details and finally addressing efficiency. A parallel program is viewed as a Meta- Program -the result of causally composing an architecture-independent algorithm -t he specification, with an architecture-dependent program -the mapping. This approach supports the derivation of efficient parallel implementations from program specifications. Consequently, transparent and architecture-independent specifications can be transformed into forms that match particular target architectures. Correctness of the implementation is inferred from correctness of the specification, by gradually imposing temporal and causal order and by transforming any property of the specification into a property of the parallel program. DUALITY relates data and process parallelism and aims to reuse design knowledge from sequential patterns. DUALITY is developed in the context of the UNITY formalism and the principle and algebraic laws of Communication Closed Layers (CCL), and illustrated through the algorithm of all-points shortest path.
CITATION STYLE
Zlatea, C., & Elrad, T. (1999). DUALITY: An architecture independent design model for parallel systems based on partial order semantics. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1693, pp. 225–239). Springer Verlag. https://doi.org/10.1007/3-540-48169-9_16
Mendeley helps you to discover research relevant for your work.