The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer architecture: a quantitative approach
Computer architecture: a quantitative approach
Implementation and performance of Munin
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Lazy release consistency for software distributed shared memory
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
An analysis of dag-consistent distributed shared-memory algorithms
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Memory consistency and event ordering in scalable shared-memory multiprocessors
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
The Logical Design of Operating Systems
The Logical Design of Operating Systems
Parallel Computer Architecture: A Hardware/Software Approach
Parallel Computer Architecture: A Hardware/Software Approach
A Unified Formalization of Four Shared-Memory Models
IEEE Transactions on Parallel and Distributed Systems
A Concurrent Execution Semantics for Parallel Program Graphs and Program Dependence Graphs
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
On the Importance of an End-To-End View of Memory Consistency in Future Computer Systems
ISHPC '97 Proceedings of the International Symposium on High Performance Computing
Next Generation System Software for Future High-End Computing Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
A unified theory of shared memory consistency
Journal of the ACM (JACM)
High Performance Remote Memory Access Communication: The Armci Approach
International Journal of High Performance Computing Applications
Role-Based access control consistency validation
Proceedings of the 2006 international symposium on Software testing and analysis
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Using the GA and TAO toolkits for solving large-scale optimization problems on parallel computers
ACM Transactions on Mathematical Software (TOMS)
The Verification of the On-Chip COMA Cache Coherence Protocol
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Relaxed memory models: an operational approach
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementation and evaluation of a microthread architecture
Journal of Systems Architecture: the EUROMICRO Journal
Management and object behavior of statecharts through statechart DNA
WSEAS Transactions on Information Science and Applications
ICAI'09 Proceedings of the 10th WSEAS international conference on Automation & information
A unified formal specification and analysis of the new java memory models
ASM'03 Proceedings of the abstract state machines 10th international conference on Advances in theory and practice
On-chip COMA cache-coherence protocol for microgrids of microthreaded cores
Euro-Par'07 Proceedings of the 2007 conference on Parallel processing
ECC'10 Proceedings of the 4th conference on European computing conference
WOMM: a weak operational memory model
ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I
WSEAS Transactions on Information Science and Applications
Pseudo share data cache in multiprocessor: PSDMP
ISPA'06 Proceedings of the 2006 international conference on Frontiers of High Performance Computing and Networking
The challenges of efficient code-generation for massively parallel architectures
ACSAC'06 Proceedings of the 11th Asia-Pacific conference on Advances in Computer Systems Architecture
Parameterized memory models and concurrent separation logic
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Proceedings of the 9th conference on Computing Frontiers
A Transformation Framework for Optimizing Task-Parallel Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
TSO_ATOMICITY: efficient hardware primitive for TSO-preserving region optimizations
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Interprocedural strength reduction of critical sections in explicitly-parallel programs
PACT '13 Proceedings of the 22nd international conference on Parallel architectures and compilation techniques
Hi-index | 14.98 |
Existing memory models and cache consistency protocols assume the memory coherence property which requires that all processors observe the same ordering of write operations to the same location. In this paper, we address the problem of defining a memory model that does not rely on the memory coherence assumption and also the problem of designing a cache consistency protocol based on such a memory model. We define a new memory consistency model, called Location Consistency (LC), in which the state of a memory location is modeled as a partially ordered multiset (pomset) of write and synchronization operations. We prove that LC is strictly weaker than existing memory models, but is still equivalent to stronger models for the common case of parallel programs that have no data races. We also describe a new multiprocessor cache consistency protocol based on the LC memory model. We prove that this LC protocol obeys the LC memory model. The LC protocol does not need to enforce single write ownership of memory blocks. As a result, the LC protocol is simpler and more scalable than existing snooping and directory-based cache consistency protocols.