Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
About the semantic nested monitor calls
ACM SIGPLAN Notices
Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Applications experience with Linda
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Communications of the ACM
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Paradigms for process interaction in distributed programs
ACM Computing Surveys (CSUR)
Coordination languages and their significance
Communications of the ACM
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Dynamically-valued constants: an underused language feature
ACM SIGPLAN Notices
ACM Computing Surveys (CSUR)
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Proceedings of the 21st international conference on Software engineering
ACM SIGPLAN Notices
Using MPI (2nd ed.): portable parallel programming with the message-passing interface
Using MPI (2nd ed.): portable parallel programming with the message-passing interface
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
An alternative to event queues for synchronization in monitors
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Types and programming languages
Types and programming languages
Heap architectures for concurrent languages using message passing
Proceedings of the 3rd international symposium on Memory management
Operating system principles
JavaSpaces Principles, Patterns, and Practice
JavaSpaces Principles, Patterns, and Practice
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Transactional lock-free execution of lock-based programs
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Capabilities for Sharing: A Generalisation of Uniqueness and Read-Only
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
The invention of concurrent programming
The origin of concurrent programming
The non-problem of nested monitor calls
ACM SIGOPS Operating Systems Review
The problem of nested monitor calls revisited
ACM SIGOPS Operating Systems Review
ICSE '76 Proceedings of the 2nd international conference on Software engineering
The problem of nested monitor calls
ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review
On structuring operating systems with monitors
ACM SIGOPS Operating Systems Review
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
HICSS '99 Proceedings of the Thirty-second Annual Hawaii International Conference on System Sciences-Volume 8 - Volume 8
Send-receive considered harmful: Myths and realities of message passing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects
IEEE Transactions on Parallel and Distributed Systems
A practical type system and language for reference immutability
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
TinyLIME: Bridging Mobile and Sensor Networks through Middleware
PERCOM '05 Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications
Nonblocking memory management support for dynamic-sized data structures
ACM Transactions on Computer Systems (TOCS)
Immutability specification and its applications: Research Articles
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande—ISCOPE Conference Part I
Linda implementations in Java for concurrent systems: Research Articles
Concurrency and Computation: Practice & Experience
Threads cannot be implemented as a library
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Virtualizing Transactional Memory
Proceedings of the 32nd annual international symposium on Computer Architecture
New and improved: Linda in Java
Proceedings of the 3rd international symposium on Principles and practice of programming in Java
Software and the Concurrency Revolution
Queue - Multiprocessors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
TeenyLIME: transiently shared tuple space middleware for wireless sensor networks
Proceedings of the international workshop on Middleware for sensor networks
Nested transactional memory: model and architecture sketches
Science of Computer Programming - Special issue: Synchronization and concurrency in object-oriented languages
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Subtleties of Transactional Memory Atomicity Semantics
IEEE Computer Architecture Letters
Understanding Tradeoffs in Software Transactional Memory
Proceedings of the International Symposium on Code Generation and Optimization
The transaction concept: virtues and limitations (invited paper)
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Object and reference immutability using Java generics
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
The transactional memory / garbage collection analogy
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Effective Java (2nd Edition) (The Java Series)
Effective Java (2nd Edition) (The Java Series)
Kicking the tires of software transactional memory: why the going gets tough
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Software Transactional Memory: Why Is It Only a Research Toy?
Queue - The Concurrency Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Language constructs for transactional memory
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Technical perspective: Highly concurrent data structures
Communications of the ACM - Security in the Browser
QuakeTM: parallelizing a complex sequential application using transactional memory
Proceedings of the 23rd international conference on Supercomputing
Type-Based Object Immutability with Flexible Initialization
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Immutable objects for a java-like language
ESOP'07 Proceedings of the 16th European conference on Programming
Memory models: a case for rethinking parallel languages and hardware
Communications of the ACM
Transactional Memory, 2nd Edition
Transactional Memory, 2nd Edition
Parallel programming must be deterministic by default
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
Transactional memory should be an implementation technique, not a programming interface
HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
The D Programming Language
Why STM can be more than a research toy
Communications of the ACM
Safe nondeterminism in a deterministic-by-default parallel language
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
You don't know jack about shared variables or memory models
Communications of the ACM
Event-Based programming without inversion of control
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
The programming language Concurrent Pascal
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
The two standard models used for communication in concurrent programs, shared memory and message passing, have been the focus of much debate for a long time. Still, we believe the main issue at stake should not be the choice between these models, but rather how to ensure that communication is structured, i.e., it occurs only in syntactically restricted code regions. In this survey, we explore concurrency control models and evaluate how their characteristics contribute positively or negatively to the support for structured communication. We focus the evaluation on three properties: reasonability, which is the main property we are interested in and determines how easily programmers can reason about a concurrent program's execution; performance, which determines whether there are any distinct features which can prevent or facilitate efficient implementations; and composability, which determines whether a model offers constructs that can be used as building blocks for coarser-grained, or higher-level, concurrency abstractions.