An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
Matching Language and Hardware for Parallel Computation in the Linda Machine
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Parallel program design: a foundation
Parallel program design: a foundation
Algebraic identities for program calculation
The Computer Journal - Special issue on Lazy functional programming
A bridging model for parallel computation
Communications of the ACM
Journal of the ACM (JACM)
Communications of the ACM
Universal Mechanisms for Concurrency
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume I: Parallel Architectures
A Method for Refining Atomicity in Parallel Algorithms
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume II: Parallel Languages
Stepwise Refinement of Action Systems
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
Algorithm Theories and Design Tactics
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
A Categorial Approch to the Theory of Lists
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
Fluent parallel computation
On the multi-threaded computation of integral polynomial greatest common divisors
ISSAC '91 Proceedings of the 1991 international symposium on Symbolic and algebraic computation
Four Dimensions of programming-language independence
ACM SIGPLAN Notices
Dense edge-disjoint embedding of binary trees in the mesh
SPAA '92 Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures
Transforming high-level data-parallel programs into vector operations
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
On the relation between functional and data parallel programming languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Parallel computation still not ready for the mainstream
Communications of the ACM
Portability and reusability: common issues and differences
CSC '95 Proceedings of the 1995 ACM 23rd annual conference on Computer science
Deriving efficient parallel programs for complex recurrences
PASCO '97 Proceedings of the second international symposium on Parallel symbolic computation
Parallelization in calculational forms
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
A Transformation Approach to Derive Efficient Parallel Implementations
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
An object-oriented framework for data parallelism
ACM Computing Surveys (CSUR)
H-BSP: A Hierarchical BSP Computation Model
The Journal of Supercomputing
A new calculus for multidimensional arrays
APL '02 Proceedings of the 2002 conference on APL: array processing languages: lore, problems, and applications
A Glossary of Parallel Computing Terminology
IEEE Parallel & Distributed Technology: Systems & Technology
An Accumulative Parallel Skeleton for All
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
PaCT '999 Proceedings of the 5th International Conference on Parallel Computing Technologies
SVP: A Model Capturing Sets, Lists, Streams, and Parallelism
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
Compositional Style of Programming FPGAs
PSI '99 Proceedings of the Third International Andrei Ershov Memorial Conference on Perspectives of System Informatics
An Index Domain for Adaptive Multi-grid Methods
VECPAR '00 Selected Papers and Invited Talks from the 4th International Conference on Vector and Parallel Processing
Program transformations and skeletons: formal derivation of parallel programs
PAS '95 Proceedings of the First Aizu International Symposium on Parallel Algorithms/Architecture Synthesis
Program Synthesis from Film Specifications
PAS '97 Proceedings of the 2nd AIZU International Symposium on Parallel Algorithms / Architecture Synthesis
Parallel and Distributed Haskells
Journal of Functional Programming
Google's MapReduce programming model — Revisited
Science of Computer Programming
Google's MapReduce programming model – Revisited
Science of Computer Programming
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Design and implementation of 812: A declarative data-parallel language
Computer Languages
Hi-index | 4.12 |
The major parallel architecture classes are considered: single-instruction multiple-data (SIMD) computers, tightly coupled multiple-instruction multiple-data (MIMD) computers, hypercuboid computers and constant-valence MIMD computers. An argument that the PRAM model is universal over tightly coupled and hypercube systems, but not over constant-valence-topology, loosely coupled-system is reviewed, showing precisely how the PRAM model is too powerful to permit broad universality. Ways in which a model of computation can be restricted to become universal over less powerful architectures are discussed. The Bird-Meertens formalism (R.S. Bird, 1989), is introduced and it is shown how it is used to express computations in a compact way. It is also shown that the Bird-Meertens formalism is universal over all four architecture classes and that nontrivial restrictions of functional programming languages exist that can be efficiently executed on disparate architectures. The use of the Bird-Meertens formalism as the basis for a programming language is discussed, and it is shown that it is expressive enough to be used for general programming. Other models and programming languages with architecture-independent properties are reviewed.