Parallel program design: a foundation
Parallel program design: a foundation
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
A programming logic for formal concurrent systems
CONCUR '90 Proceedings on Theories of concurrency : unification and extension: unification and extension
Integrating message-passing and shared-memory: early experience
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
An introduction to distributed algorithms
An introduction to distributed algorithms
IEEE Transactions on Software Engineering
Messages versus messengers in distributed programming
Journal of Parallel and Distributed Computing
Some Deadlock Properties of Computer Systems
ACM Computing Surveys (CSUR)
Experience with processes and monitors in Mesa
Communications of the ACM
Distributed computing: fundamentals, simulations and advanced topics
Distributed computing: fundamentals, simulations and advanced topics
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Hi-index | 0.00 |
In the classical shared-variable models, component processes reside on their processors and communicate by shared variables in memory shared by the processors. In this paper, we argue that shared memory is not necessary to share variables. Processes can share variables in local memories of processors if they travel among the processors. We present a formal distributed memory model in which a system can be decomposed into processes residing on processors and communicating by message passing or into processes travelling among processors and communicating by shared variables. We call this property communication dualism of distributed systems. We point out that the shared-memory monitor can be used in distributed memory and suggest that variable sharing is a convenient alternative to message passing. We also point out that a mobile agent is a kind of travelling process, but its prominent property, code mobility, is not related to shared-variable communication.