Abstract. The problem of verifying multi-threaded execution against the memory consistency model of a processor is known to be an NP hard problem. However polynomial time algorithms exist that detect almost all failures in such execution. These are often used in practice for microprocessor verification. We present a low complexity and fully parallelized algorithm to check program execution against the processor consistency model. In addition our algorithm is general enough to support a number of consistency models without any degradation in performance. An implementation of this algorithm is currently used in practice to verify processors in the post silicon stage for multiple architectures.
The memory consistency model supported by a multiprocessor architecture determines the amount of buf...
Verification of chip multiprocessor memory systems re-mains challenging. While formal methods have b...
In this paper, we develop the first feasibly implementable scheme for end-to-end dynamic verificatio...
Abstract—Contemporary microprocessors use relaxed mem-ory consistency models to allow for aggressive...
Verifying the memory subsystem in a modern shared-memory multiprocessor is a big challenge. Optimize...
Formal verification of multithreaded software running on multi-core hardware has for long been chall...
Multiprocessors implement weak memory models, but program verifiers often assume Sequential Consiste...
Abstract. We study the problem of formally verifying shared memory multiprocessor executions against...
We have proposed a framework for verifying that multiprocessor memory systems satisfy the requiremen...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Abstract—One of the most challenging problems in developing a multicore processor is verfiying that ...
dedicated to the memory of Kohei Honda Abstract Multiprocessors implement weak memory models, but pr...
Parallelism in processor architecture and design imposes a verification challenge as the exponential...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
The memory consistency model supported by a multiprocessor architecture determines the amount of buf...
Verification of chip multiprocessor memory systems re-mains challenging. While formal methods have b...
In this paper, we develop the first feasibly implementable scheme for end-to-end dynamic verificatio...
Abstract—Contemporary microprocessors use relaxed mem-ory consistency models to allow for aggressive...
Verifying the memory subsystem in a modern shared-memory multiprocessor is a big challenge. Optimize...
Formal verification of multithreaded software running on multi-core hardware has for long been chall...
Multiprocessors implement weak memory models, but program verifiers often assume Sequential Consiste...
Abstract. We study the problem of formally verifying shared memory multiprocessor executions against...
We have proposed a framework for verifying that multiprocessor memory systems satisfy the requiremen...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Abstract—One of the most challenging problems in developing a multicore processor is verfiying that ...
dedicated to the memory of Kohei Honda Abstract Multiprocessors implement weak memory models, but pr...
Parallelism in processor architecture and design imposes a verification challenge as the exponential...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
The memory consistency model supported by a multiprocessor architecture determines the amount of buf...
Verification of chip multiprocessor memory systems re-mains challenging. While formal methods have b...
In this paper, we develop the first feasibly implementable scheme for end-to-end dynamic verificatio...