The C++ programming language
Software-controlled caches in the VMP multiprocessor
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
The design and implementation of distributed Smalltalk
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
PRESTO: a system for object-oriented parallel programming
Software—Practice & Experience
Multiprocessor cache analysis using ATUM
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
Analysis of cache invalidation patterns in multiprocessors
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
The effect of sharing on the cache and bus performance of parallel programs
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
The Amber system: parallel programming on a network of multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Implementing a cache consistency protocol
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
The distributed V kernel and its performance for diskless workstations
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Shared virtual memory on loosely coupled multiprocessors
Shared virtual memory on loosely coupled multiprocessors
Dynamic node reconfiguration in a parallel-distributed environment
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Distributed Shared Memory: A Survey of Issues and Algorithms
Computer - Distributed computing systems: separate resources acting as one
Sequential consistency versus linearizability (extended abstract)
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Experimental comparison of memory management policies for NUMA multiprocessors
ACM Transactions on Computer Systems (TOCS)
Implementation and performance of Munin
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Transparent optimistic rollback recovery
ACM SIGOPS Operating Systems Review
Delayed consistency and its effects on the miss rate of parallel programs
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
A correctness condition for high-performance multiprocessors (extended abstract)
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Parallel Programming Using Shared Objects and Broadcasting
Computer - Special issue on sharing: high performance at low cost
A performance evaluation of optimal hybrid cache coherency protocols
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Heterogeneous parallel programming in Jade
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Dynamic object management for distributed data structures
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Computation migration: enhancing locality for distributed-memory parallel systems
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Mechanisms for cooperative shared memory
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Object distribution in Orca using Compile-Time and Run-Time techniques
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Sequential consistency versus linearizability
ACM Transactions on Computer Systems (TOCS)
Data replication for mobile computers
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
LCM: memory system support for parallel language implementation
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Fine-grain access control for distributed shared memory
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Obtaining sequential efficiency for concurrent object-oriented languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Parallel and Distributed Systems
A comprehensive bibliography of distributed shared memory
ACM SIGOPS Operating Systems Review
Distributed Shared Abstractions (DSA) on Multiprocessors
IEEE Transactions on Software Engineering
Efficient LRU-Based Buffering in a LAN Remote Caching Architecture
IEEE Transactions on Parallel and Distributed Systems
Operating system support for improving data locality on CC-NUMA compute servers
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
The GLOW cache coherence protocol extensions for widely shared data
ICS '96 Proceedings of the 10th international conference on Supercomputing
Fine grain parallel communication on general purpose LANs
ICS '96 Proceedings of the 10th international conference on Supercomputing
Ace: linguistic mechanisms for customizable protocols
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
An interaction of coherence protocols and memory consistency models in DSM systems
ACM SIGOPS Operating Systems Review
Performance evaluation of the Orca shared-object system
ACM Transactions on Computer Systems (TOCS)
Implementing sequentially consistent shared objects using broadcast and point-to-point communication
Journal of the ACM (JACM)
Minimization of Communication Cost Through Caching in Mobile Environments
IEEE Transactions on Parallel and Distributed Systems
Predicting the performance of distributed virtual shared-memory applications
IBM Systems Journal
The design, implementation, and evaluation of Jade
ACM Transactions on Programming Languages and Systems (TOPLAS)
ISCA '99 Proceedings of the 26th annual international symposium on Computer architecture
A tale of two directories: implementing distributed shared objects in Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Ace: a language for parallel programming with customizable protocols
ACM Transactions on Computer Systems (TOCS)
Adaptive software cache management for distributed shared memory architectures
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Implementing a caching service a distributed COBRA objects
IFIP/ACM International Conference on Distributed systems platforms
Hardware prediction for data coherency of scientific codes on DSM
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
A taxonomy-based comparison of several distributed shared memory systems
ACM SIGOPS Operating Systems Review
Transparent optimistic rollback recovery
EW 4 Proceedings of the 4th workshop on ACM SIGOPS European workshop
The GARF library of DSM consistency models
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Strategies optimization and integration in DSM
ACM SIGOPS Operating Systems Review
Distributed shared memory: experience with Munin
EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
Improving the performance of DSM systems via compiler involvement
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Y-Invalidate: A New Protocol for Implementing Weak Consistency in DSM Systems
International Journal of Parallel Programming
Implementing Scoped Behavior for Flexible Distributed Data Sharing
IEEE Concurrency
An Architecture for Survivable Coordination in Large Distributed Systems
IEEE Transactions on Knowledge and Data Engineering
Compiling Global Name-Space Parallel Loops for Distributed Execution
IEEE Transactions on Parallel and Distributed Systems
Heterogeneous Distributed Shared Memory
IEEE Transactions on Parallel and Distributed Systems
Performance Analysis of Buffer Coherency Policies in a Multisystem Data Sharing Environment
IEEE Transactions on Parallel and Distributed Systems
Program Structuring for Effective Parallel Portability
IEEE Transactions on Parallel and Distributed Systems
Replication Algorithms in a Remote Caching Architecture
IEEE Transactions on Parallel and Distributed Systems
Analysis of Processor Allocation in Multiprogrammed, Distributed-Memory Parallel Processing Systems
IEEE Transactions on Parallel and Distributed Systems
An Open Distributed Shared Memory System
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Two Layers Distributed Shared Memory
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Aurora: Scoped Behavior for Per-Context Optimized Distributed Data Sharing
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
Serializability, Concurrency Control, and Replication Control
Selected papers from the Eight International Workshop on Foundations of Models and Languages for Data and Objects, Transactions and Database Dynamics
Coherency Behavior on DSM: A Case Study (Research Note)
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Petri Nets, Situations, and Automata
ICATPN '02 Proceedings of the 23rd International Conference on Applications and Theory of Petri Nets
A Middleware Architecture for Personalized Communities of Devices
DCW '02 Revised Papers from the 4th International Workshop on Distributed Communities on the Web
A case for virtual distributed objects
Virtual shared memory for distributed architectures
FRONTIERS '96 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation
On the Interaction of Mobile Processes and Objects
HCW '98 Proceedings of the Seventh Heterogeneous Computing Workshop
PAS '95 Proceedings of the First Aizu International Symposium on Parallel Algorithms/Architecture Synthesis
Maximizing Speedup through Performance Prediction for Distributed Shared Memory Systems
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Meta-Level Architecture Support for distributed Objects
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Object Consistency - A New Model for Distributed Memory Systems
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Sourcebook of parallel computing
Towards general and exact distributed invalidation
Journal of Parallel and Distributed Computing
CAS-DSM: a compiler assisted software distributed shared memory
International Journal of Parallel Programming
A unified theory of shared memory consistency
Journal of the ACM (JACM)
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Transparent Distributed Shared Memory for Clustered Symmetric Multiprocessors
The Journal of Supercomputing
Integrating coordinated checkpointing and recovery mechanisms into DSM synchronization barriers
Journal of Experimental Algorithmics (JEA)
Garbage collection and DSM consistency
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
Brazos: a third generation DSM system
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
Parallel processing with windows NT networks
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
Implementing optimized distributed data sharing using scoped behaviour and a class library
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
An object-oriented communication mechanism for parallel systems
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
Eve: a measurement-centric emulation environment for adaptive internet servers
SpringSim '07 Proceedings of the 2007 spring simulaiton multiconference - Volume 1
Cohesion: a hybrid memory model for accelerators
Proceedings of the 37th annual international symposium on Computer architecture
vNUMA: a virtual shared-memory multiprocessor
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Accelerating data movement on future chip multi-processors
Proceedings of the Second International Forum on Next-Generation Multicore/Manycore Technologies
Parallel pattern detection for architectural improvements
HotPar'11 Proceedings of the 3rd USENIX conference on Hot topic in parallelism
Automatically generating symbolic prefetches for distributed transactional memories
Proceedings of the ACM/IFIP/USENIX 11th International Conference on Middleware
Using shared arrays in message-driven parallel programs
Parallel Computing
MSA: multiphase specifically shared arrays
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems
Towards a scalable high performance application platform for immersive virtual environments
EGVE'01 Proceedings of the 7th Eurographics conference on Virtual Environments & 5th Immersive Projection Technology
Efficient data sharing for multi-device multimedia applications
Proceedings of the Workshop on Multi-device App Middleware
Transparently consistent asynchronous shared memory
Proceedings of the 3rd International Workshop on Runtime and Operating Systems for Supercomputers
Hi-index | 0.00 |
We are developing Munin, a system that allows programs written for shared memory multiprocessors to be executed efficiently on distributed memory machines. Munin attempts to overcome the architectural limitations of shared memory machines, while maintaining their advantages in terms of ease of programming. Our system is unique in its use of loosely coherent memory, based on the partial order specified by a shared memory parallel program, and in its use of type-specific memory coherence. Instead of a single memory coherence mechanism for all shared data objects, Munin employs several different mechanisms, each appropriate for a different class of shared data object. These type-specific mechanisms are part of a runtime system that accepts hints from the user or the compiler to determine the coherence mechanism to be used for each object. This paper focuses on the design and use of Munin's memory coherence mechanisms, and compares our approach to previous work in this area.