Foundations of logic programming
Foundations of logic programming
Communicating sequential processes
Communicating sequential processes
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Parallel execution of logic programs
Parallel execution of logic programs
Computer
Computer
Concurrent Prolog: A Progress Report
Computer
Computer
Programming in Occam
Software—Practice & Experience
Parallel logic programming in PARLOG: the language and its implementation
Parallel logic programming in PARLOG: the language and its implementation
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Proc. of an international workshop on Parallel algorithms and architectures
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Object-oriented concurrent programming
Object-oriented concurrent programming
Concurrent programming in concurrent Smalltalk
Object-oriented concurrent programming
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
PRESTO: a system for object-oriented parallel programming
Software—Practice & Experience
Parallel program design: a foundation
Parallel program design: a foundation
1st international workshop on Conditional Term Rewriting Systems
Reflection in an object-oriented concurrent language
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Applications experience with Linda
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Compiling collection-oriented languages onto massively parallel computers
Journal of Parallel and Distributed Computing - Massively parallel computation
A bridging model for parallel computation
Communications of the ACM
Vector models for data-parallel computing
Vector models for data-parallel computing
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
The Performance of Parallel Prolog Programs
IEEE Transactions on Computers
The performance of an object-oriented threads package
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
The semantic foundations of concurrent constraint programming
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Strand: new concepts in parallel programming
Strand: new concepts in parallel programming
System design of the J-Machine
AUSCRYPT '90 Proceedings of the sixth MIT conference on Advanced research in VLSI
Parallel-program transformation using a metalanguage
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Scheduling of OR-parllel Prolog on a scalable, reconfigurable, distributed-memory multiprocessor
PARLE '91 Proceedings on Parallel architectures and languages Europe : volume II: parallel languages: volume II: parallel languages
Actors as a parallel programming model
STACS 91 Proceedings of the 8th annual symposium on Theoretical aspects of computer science
Parallel algorithms for shared-memory machines
Handbook of theoretical computer science (vol. A)
General purpose parallel architectures
Handbook of theoretical computer science (vol. A)
Data-parallel programming on MIMD computers
Data-parallel programming on MIMD computers
Experiments with a transputer-based parallel graph reduction machine
Concurrency: Practice and Experience
OOPSLA/ECOOP '90 Proceedings of the workshop on Object-based concurrent programming
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Parallel functional languages and compilers
Parallel functional languages and compilers
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
Implementing functional languages
Implementing functional languages
A gentle introduction to Haskell
ACM SIGPLAN Notices - Haskell special issue
The SR programming language: concurrency in practice
The SR programming language: concurrency in practice
Cellang 2.0: language reference manual
ACM SIGPLAN Notices
Parallel sets: an object-oriented methodology for massively parallel programming
Parallel sets: an object-oriented methodology for massively parallel programming
The CODE 2.0 graphical parallel programming language
ICS '92 Proceedings of the 6th international conference on Supercomputing
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
ActorSpace: an open distributed programming paradigm
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
High performance Fortran: status report
ACM SIGPLAN Notices - Workshop on languages, compilers and run-time environments for distributed memory multiprocessors
Ease; the model and its implementation
ACM SIGPLAN Notices - Workshop on languages, compilers and run-time environments for distributed memory multiprocessors
Parsec—a software development environment for performance oriented parallel programming
NATUG-6 Proceedings of the sixth conference of the North American Transputer Users Group on Transputer research and applications 6
A machine independent interface for lightweight threads
ACM SIGOPS Operating Systems Review
Special purpose parallel computing
Lectures on parallel computation
General purpose parallel computing
Lectures on parallel computation
MPI: a message passing interface
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Match and move: an approach to data parallel computing
Match and move: an approach to data parallel computing
A portable implementation of UNITY on von Neumann machines
Computer Languages
Virtual shared memory: algorithms and complexity
Information and Computation
Parallel logic programming systems
ACM Computing Surveys (CSUR)
An optimizing Fortran D compiler for MIMD distributed-memory machines
An optimizing Fortran D compiler for MIMD distributed-memory machines
Programming languages for parallel processing
Programming languages for parallel processing
Foundations of parallel programming
Foundations of parallel programming
A cost calculus for parallel functional programming
Journal of Parallel and Distributed Computing
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
Efficient support of location transparency in concurrent object-oriented programming languages
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Programming parallel algorithms
Communications of the ACM
A message passing standard for MPP and workstations
Communications of the ACM
Bulk synchronous parallel computing
Abstract machine models for highly parallel computers
Abstract machine models for highly parallel computers
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Construction of multidimensional arrays as categorical data types
Construction of multidimensional arrays as categorical data types
Abstract machine models for parallel and distributed computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed processes: a concurrent programming concept
Communications of the ACM
Orca: a language for distributed programming
ACM SIGPLAN Notices
Functional Programming for Loosely-Coupled Multiprocessors
Functional Programming for Loosely-Coupled Multiprocessors
The Paralation Model: Architecture-Independent Parallel Programming
The Paralation Model: Architecture-Independent Parallel Programming
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
Data-Parallel Programming on Multicomputers
IEEE Software
Preserving Abstraction in Concurrent Programming
IEEE Transactions on Software Engineering
Formal Derivation of an Efficient Parallel 2-D Gauss-Siedel Method
IPPS '92 Proceedings of the 6th International Parallel Processing Symposium
An Object-Oriented Airport: Specification and Refinement in Maude
Selected papers from the 10th Workshop on Specification of Abstract Data Types Joint with the 5th COMPASS Workshop on Recent Trends in Data Type Specification
Implementation of Gamma on the Connection Machine
Research Directions in High-Level Parallel Programming Languages
Parallel Programming with Bags
Research Directions in High-Level Parallel Programming Languages
Parallel Programmming in Maude
Research Directions in High-Level Parallel Programming Languages
Research Directions in High-Level Parallel Programming Languages
A Rationale for Programming with Ease
Research Directions in High-Level Parallel Programming Languages
The Data-Parallel Categorical Abstract Machine
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
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
Functional Programming, Concurrency, Simulation and Automated Reasoning: International Lecture Series 1991-1992, McMaster University, Hamilton, Ontario, Canada
Invited Lecture: PVM 3 Beyong Network Computing
Proceedings of the Second International ACPC Conference on Parallel Computation
Stepwise Refinement of Action Systems
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
What Do You get From a Pi-Calculus Semantics?
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Structuration of the ALPHA language
PMMP '95 Proceedings of the conference on Programming Models for Massively Parallel Computers
The parallel Fortran family and a new perspective
PMMP '95 Proceedings of the conference on Programming Models for Massively Parallel Computers
Integrating synchronous and asynchronous paradigms: the Fork95 parallel programming language
PMMP '95 Proceedings of the conference on Programming Models for Massively Parallel Computers
A Parallel Complexity Model for Functional Languages
A Parallel Complexity Model for Functional Languages
NESL: A Nested Data-Parallel Language (Version 2.6)
NESL: A Nested Data-Parallel Language (Version 2.6)
AN OVERVIEW OF THE OPUS LANGUAGE AND RUNTIME SYSTEM
AN OVERVIEW OF THE OPUS LANGUAGE AND RUNTIME SYSTEM
Pi: A Parallel Architecture Interface for Multi-Model Execution
Pi: A Parallel Architecture Interface for Multi-Model Execution
PVM: Experiences, Current Status and Future Direction
PVM: Experiences, Current Status and Future Direction
An Introduction to the MPI Standard
An Introduction to the MPI Standard
An Introduction to Parallel Object-Oriented Programming with Mentat
An Introduction to Parallel Object-Oriented Programming with Mentat
The Mentat Computation Model Data-Driven Support for Object-Oriented Parallel Processing
The Mentat Computation Model Data-Driven Support for Object-Oriented Parallel Processing
Fluent parallel computation
Algebras for tree algorithms
Big Omicron and big Omega and big Theta
ACM SIGACT News
A coordination language for mixed task and and data parallel programs
Proceedings of the 1999 ACM symposium on Applied computing
System synthesis utilizing a layered functional model
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
Frequency interleaving as a codesign scheduling paradigm
CODES '00 Proceedings of the eighth international workshop on Hardware/software codesign
Toward Formally-Based Design of Message Passing Programs
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
A codesign virtual machine for hierarchical, balanced hardware/software system modeling
Proceedings of the 37th Annual Design Automation Conference
A Transformation Approach to Derive Efficient Parallel Implementations
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
NestStep: Nested Parallelism and Virtual Shared Memory for the BSP Model
The Journal of Supercomputing
Modeling and evaluation of hardware/software designs
Proceedings of the ninth international symposium on Hardware/software codesign
Exploring design space of parallel realizations: MPEG-2 decoder case study
Proceedings of the ninth international symposium on Hardware/software codesign
Library support for orthogonal processor groups
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
Distributed component architecture for scientific applications
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
ORT: a communication library for orthogonal processor groups
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
High-performance data mining with skeleton-based structured parallel programming
Parallel Computing - Parallel data-intensive algorithms and applications
Performance-steered design of software architectures for embedded multicore systems
Software—Practice & Experience
Support for Implementation of Evolutionary Concurrent Systems
International Journal of Parallel Programming
Rewriting logic: roadmap and bibliography
Theoretical Computer Science - Rewriting logic and its applications
Multi-Level Modeling of Software on Hardware in Concurrent Computation
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
The Heterogeneous Bulk Synchronous Parallel Model
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Solving Problems on Parallel Computers by Cellular Programming
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Parallel Programming with Interacting Processes
LCPC '99 Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing
Cost Hierarchies for Abstract Parallel Machines
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
PaCT '999 Proceedings of the 5th International Conference on Parallel Computing Technologies
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
Measuring the Performance Impact of SP-Restricted Programming in Shared-Memory Machines
VECPAR '00 Selected Papers and Invited Talks from the 4th International Conference on Vector and Parallel Processing
Teraflops Computing: A Challenge to Parallel Numerics?
ParNum '99 Proceedings of the 4th International ACPC Conference Including Special Tracks on Parallel Numerics and Parallel Computing in Image Processing, Video Processing, and Multimedia: Parallel Computation
The Collective Semantics in Functional SPMD Programming
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
Library support for hierarchical multi-processor tasks
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
The programming model of ASSIST, an environment for parallel and distributed portable applications
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
The design context of concurrent computation systems
Proceedings of the tenth international symposium on Hardware/software codesign
Schedulers as model-based design elements in programmable heterogeneous multiprocessors
Proceedings of the 40th annual Design Automation Conference
P-AutoClass: Scalable Parallel Clustering for Mining Large Data Sets
IEEE Transactions on Knowledge and Data Engineering
Task and data parallelism in P3L
Patterns and skeletons for parallel and distributed computing
Skeleton-based programming environments
Patterns and skeletons for parallel and distributed computing
High-Level Directives to Drive the Allocation of Parallel Object-Oriented Applications
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Sourcebook of parallel computing
Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Parallel and Distributed Haskells
Journal of Functional Programming
Improving the execution time of global communication operations
Proceedings of the 1st conference on Computing frontiers
On Data Distributions in the Construction of Parallel Programs
The Journal of Supercomputing
Automatic Detection and Masking of Nonatomic Exception Handling
IEEE Transactions on Software Engineering
The Challenges of Hardware Synthesis from C-Like Languages
Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Adding parallelism to visual data flow programs
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Tlib-a library to support programming with hierarchical multi-processor tasks
Journal of Parallel and Distributed Computing
A parallel SML compiler based on algorithmic skeletons
Journal of Functional Programming
High-level modeling and simulation of single-chip programmable heterogeneous multiprocessors
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Novel runtime systems support for adaptive compositional modeling in PSEs
Future Generation Computer Systems - Special section: Complex problem-solving environments for grid computing
Research note: Modeling distributed data representation and its effect on parallel data accesses
Journal of Parallel and Distributed Computing - Special issue: Design and performance of networks for super-, cluster-, and grid-computing: Part I
Towards a more realistic BSP cost model
HPCASIA '05 Proceedings of the Eighth International Conference on High-Performance Computing in Asia-Pacific Region
Programming models and HW-SW interfaces abstraction for multi-processor SoC
Proceedings of the 43rd annual Design Automation Conference
Visualization aided performance tuning of irregular task-parallel computations
Information Visualization
Engineering Applications of Artificial Intelligence
Execution model of three parallel languages: OpenMP, UPC and CAF
Scientific Programming - International Symposium of Parallel and Distributed Computing & International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogenous Networks
Cost-efficient parallel programs based on set-distributions for polynomial interpolation
Journal of Parallel and Distributed Computing
Parallel computing on any desktop
Communications of the ACM - ACM's plan to go online first
Google's MapReduce programming model — Revisited
Science of Computer Programming
Google's MapReduce programming model – Revisited
Science of Computer Programming
A visual environment for specifying global reduction operations
International Journal of High Performance Computing and Networking
Supporting tasks with adaptive groups in data parallel programming
International Journal of Computational Science and Engineering
ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
Analyzing concurrency in streaming applications
Journal of Systems Architecture: the EUROMICRO Journal
Parallel programming of multi-processor SoC: a HW-SW interface perspective
International Journal of Parallel Programming - Special Issue on Multiprocessor-based embedded systems
Distributed XML processing: Theory and applications
Journal of Parallel and Distributed Computing
A comparative study of parallelization paradigms
SEPADS'08 Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
Communicating Multiprocessor-Tasks
Languages and Compilers for Parallel Computing
Structured collaborative workflow design
Future Generation Computer Systems
Novel runtime systems support for adaptive compositional modeling in PSEs
Future Generation Computer Systems - Special section: Complex problem-solving environments for grid computing
SP@CE: an SP-based programming model for consumer electronics streaming applications
LCPC'06 Proceedings of the 19th international conference on Languages and compilers for parallel computing
Mapping unstructured applications into nested parallelism
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
Data-distributions in powerlist theory
ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
Enabling multi-core based monitoring and fault tolerance in C++/Java
Proceedings of the 3rd International Workshop on Multicore Software Engineering
Structured parallel programming with deterministic patterns
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Hybrid bulk synchronous parallelism library for clustered smp architectures
Proceedings of the fourth international workshop on High-level parallel programming and applications
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
Monitoring and debugging message passing applications with MPVisualizer
EURO-PDP'00 Proceedings of the 8th Euromicro conference on Parallel and distributed processing
Cost evaluation from specifications for BSP programs
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
A distributed service oriented system for GUI map generation
Proceedings of the 12th International Conference on Computer Systems and Technologies
CrowdForge: crowdsourcing complex work
Proceedings of the 24th annual ACM symposium on User interface software and technology
Trasgo: a nested-parallel programming system
The Journal of Supercomputing
Simple, list-based parallel programming with transparent load balancing
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
A preliminary nested-parallel framework to efficiently implement scientific applications
VECPAR'04 Proceedings of the 6th international conference on High Performance Computing for Computational Science
Embedded Systems Design
SPC-XML: a structured representation for nested-parallel programming languages
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
Deterministic execution model on COTS hardware
ARCS'12 Proceedings of the 25th international conference on Architecture of Computing Systems
Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded language
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Proceedings of the 34th International Conference on Software Engineering
Functional high performance financial IT: the hiperfit research center in copenhagen
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Programming support and scheduling for communicating parallel tasks
Journal of Parallel and Distributed Computing
Proceedings of the 2013 conference on Computer supported cooperative work
Examining the expert gap in parallel programming
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
Hi-index | 0.00 |
We survey parallel programming models and languages using six criteria to assess their suitability for realistic portable parallel programming. We argue that an ideal model should by easy to program, should have a software development methodology, should be architecture-independent, should be easy to understand, should guarantee performance, and should provide accurate information about the cost of programs. These criteria reflect our belief that developments in parallelism must be driven by a parallel software industry based on portability and efficiency. We consider programming models in six categories, depending on the level of abstraction they provide. Those that are very abstract conceal even the presence of parallelism at the software level. Such models make software easy to build and port, but efficient and predictable performance is usually hard to achieve. At the other end of the spectrum, low-level models make all of the messy issues of parallel programming explicit (how many threads, how to place them, how to express communication, and how to schedule communication), so that software is hard to build and not very portable, but is usually efficient. Most recent models are near the center of this spectrum, exploring the best tradeoffs between expressiveness and performance. A few models have achieved both abstractness and efficiency. Both kinds of models raise the possibility of parallelism as part of the mainstream of computing.