The Experts below are selected from a list of 27696 Experts worldwide ranked by ideXlab platform
Gary Lindstrom - One of the best experts on this subject based on the ideXlab platform.
-
umm an operational Memory model specification framework with integrated model checking capability
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
-
umm an operational Memory model specification framework with integrated model checking capability research articles
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
Yue Yang - One of the best experts on this subject based on the ideXlab platform.
-
umm an operational Memory model specification framework with integrated model checking capability
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
-
umm an operational Memory model specification framework with integrated model checking capability research articles
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
Ganesh Gopalakrishnan - One of the best experts on this subject based on the ideXlab platform.
-
umm an operational Memory model specification framework with integrated model checking capability
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
-
umm an operational Memory model specification framework with integrated model checking capability research articles
Concurrency and Computation: Practice and Experience, 2005Co-Authors: Yue Yang, Ganesh Gopalakrishnan, Gary LindstromAbstract:Given the complicated nature of modern shared Memory systems, it is vital to have a systematic approach to specifying and Analyzing Memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support Memory model verification: (i) it employs a simple and generic Memory abstraction that can capture a large collection of Memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, Memory models can be specified in a parameterized style—designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another Memory model. We formalize several classical Memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java Memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a Memory model definition from one style to the other. Copyright © 2005 John Wiley & Sons, Ltd.
Alexandra Fedorova - One of the best experts on this subject based on the ideXlab platform.
-
Analyzing Memory management methods on integrated cpu gpu systems
International Symposium on Memory Management, 2017Co-Authors: Mohammad Dashti, Alexandra FedorovaAbstract:Heterogeneous systems that integrate a multicore CPU and a GPU on the same die are ubiquitous. On these systems, both the CPU and GPU share the same physical Memory as opposed to using separate Memory dies. Although integration eliminates the need to copy data between the CPU and the GPU, arranging transparent Memory sharing between the two devices can carry large overheads. Memory on CPU/GPU systems is typically managed by a software framework such as OpenCL or CUDA, which includes a runtime library, and communicates with a GPU driver. These frameworks offer a range of Memory management methods that vary in ease of use, consistency guarantees and performance. In this study, we analyze some of the common Memory management methods of the most widely used software frameworks for heterogeneous systems: CUDA, OpenCL 1.2, OpenCL 2.0, and HSA, on NVIDIA and AMD hardware. We focus on performance/functionality trade-offs, with the goal of exposing their performance impact and simplifying the choice of Memory management methods for programmers.
Mohammad Dashti - One of the best experts on this subject based on the ideXlab platform.
-
Analyzing Memory management methods on integrated cpu gpu systems
International Symposium on Memory Management, 2017Co-Authors: Mohammad Dashti, Alexandra FedorovaAbstract:Heterogeneous systems that integrate a multicore CPU and a GPU on the same die are ubiquitous. On these systems, both the CPU and GPU share the same physical Memory as opposed to using separate Memory dies. Although integration eliminates the need to copy data between the CPU and the GPU, arranging transparent Memory sharing between the two devices can carry large overheads. Memory on CPU/GPU systems is typically managed by a software framework such as OpenCL or CUDA, which includes a runtime library, and communicates with a GPU driver. These frameworks offer a range of Memory management methods that vary in ease of use, consistency guarantees and performance. In this study, we analyze some of the common Memory management methods of the most widely used software frameworks for heterogeneous systems: CUDA, OpenCL 1.2, OpenCL 2.0, and HSA, on NVIDIA and AMD hardware. We focus on performance/functionality trade-offs, with the goal of exposing their performance impact and simplifying the choice of Memory management methods for programmers.