7,334 research outputs found
Bridging the Gap between Programming Languages and Hardware Weak Memory Models
We develop a new intermediate weak memory model, IMM, as a way of
modularizing the proofs of correctness of compilation from concurrent
programming languages with weak memory consistency semantics to mainstream
multi-core architectures, such as POWER and ARM. We use IMM to prove the
correctness of compilation from the promising semantics of Kang et al. to POWER
(thereby correcting and improving their result) and ARMv7, as well as to the
recently revised ARMv8 model. Our results are mechanized in Coq, and to the
best of our knowledge, these are the first machine-verified compilation
correctness results for models that are weaker than x86-TSO
TriCheck: Memory Model Verification at the Trisection of Software, Hardware, and ISA
Memory consistency models (MCMs) which govern inter-module interactions in a
shared memory system, are a significant, yet often under-appreciated, aspect of
system design. MCMs are defined at the various layers of the hardware-software
stack, requiring thoroughly verified specifications, compilers, and
implementations at the interfaces between layers. Current verification
techniques evaluate segments of the system stack in isolation, such as proving
compiler mappings from a high-level language (HLL) to an ISA or proving
validity of a microarchitectural implementation of an ISA.
This paper makes a case for full-stack MCM verification and provides a
toolflow, TriCheck, capable of verifying that the HLL, compiler, ISA, and
implementation collectively uphold MCM requirements. The work showcases
TriCheck's ability to evaluate a proposed ISA MCM in order to ensure that each
layer and each mapping is correct and complete. Specifically, we apply TriCheck
to the open source RISC-V ISA, seeking to verify accurate, efficient, and legal
compilations from C11. We uncover under-specifications and potential
inefficiencies in the current RISC-V ISA documentation and identify possible
solutions for each. As an example, we find that a RISC-V-compliant
microarchitecture allows 144 outcomes forbidden by C11 to be observed out of
1,701 litmus tests examined. Overall, this paper demonstrates the necessity of
full-stack verification for detecting MCM-related bugs in the hardware-software
stack.Comment: Proceedings of the Twenty-Second International Conference on
Architectural Support for Programming Languages and Operating System
Transdisciplinarity seen through Information, Communication, Computation, (Inter-)Action and Cognition
Similar to oil that acted as a basic raw material and key driving force of
industrial society, information acts as a raw material and principal mover of
knowledge society in the knowledge production, propagation and application. New
developments in information processing and information communication
technologies allow increasingly complex and accurate descriptions,
representations and models, which are often multi-parameter, multi-perspective,
multi-level and multidimensional. This leads to the necessity of collaborative
work between different domains with corresponding specialist competences,
sciences and research traditions. We present several major transdisciplinary
unification projects for information and knowledge, which proceed on the
descriptive, logical and the level of generative mechanisms. Parallel process
of boundary crossing and transdisciplinary activity is going on in the applied
domains. Technological artifacts are becoming increasingly complex and their
design is strongly user-centered, which brings in not only the function and
various technological qualities but also other aspects including esthetic, user
experience, ethics and sustainability with social and environmental dimensions.
When integrating knowledge from a variety of fields, with contributions from
different groups of stakeholders, numerous challenges are met in establishing
common view and common course of action. In this context, information is our
environment, and informational ecology determines both epistemology and spaces
for action. We present some insights into the current state of the art of
transdisciplinary theory and practice of information studies and informatics.
We depict different facets of transdisciplinarity as we see it from our
different research fields that include information studies, computability,
human-computer interaction, multi-operating-systems environments and
philosophy.Comment: Chapter in a forthcoming book: Information Studies and the Quest for
Transdisciplinarity - Forthcoming book in World Scientific. Mark Burgin and
Wolfgang Hofkirchner, Editor
New technologies to bridge the gap between High Performance Computing (HPC) and Big Data
The unification of HPC and Big Data has received increasing attention in the
last years. It is a common belief that exascale computing and Big Data are closely associated since HPC requires
processing large-scale data from scientific instruments and simulations. But, at the same time, it was observed that
tools and cultures of HPC and Big Data communities differ significantly. One of the most important issues in the
path to the convergence is caused by the differences in their software stacks. This thesis will address the research
challenge of bridging the gap between Big Data and HPC worlds. With this goal in mind, a set of tools and
technologies will be developed and integrated into a new unified Big Data-HPC framework that will allow the
execution of scientific multi-language applications on both environments using containers
Weak persistency semantics from the ground up: formalising the persistency semantics of ARMv8 and transactional models
Emerging non-volatile memory (NVM) technologies promise the durability of disks with the performance of volatile memory (RAM). To describe the persistency guarantees of NVM, several memory persistency models have been proposed in the literature. However, the formal persistency semantics of mainstream hardware is unexplored to date. To close this gap, we present a formal declarative framework for describing concurrency models in the NVM context, and then develop the PARMv8 persistency model as an instance of our framework, formalising the persistency semantics of the ARMv8 architecture for the first time. To facilitate correct persistent programming, we study transactions as a simple abstraction for concurrency and persistency control. We thus develop the PSER (persistent serialisability) persistency model, formalising transactional semantics in the NVM context for the first time, and demonstrate that PSER correctly compiles to PARMv8. This then enables programmers to write correct, concurrent and persistent programs, without having to understand the low-level architecture-specific persistency semantics of the underlying hardware
Representation of coherency classes for parallel systems
Some parallel applications do not require a precise
imitation of the behaviour of the physically shared
memory programming model. Consequently, certain
parallel machine architectures have elected to emphasise
different required coherency properties because of
possible efficiency gains. This has led to various definitions
of models of store coherency. These definitions
have not been amenable to detailed analysis and, consequently,
inconsistencies have resulted.
In this paper a unified framework is proposed in
which different models of store coherency are developed
systematically by progressively relaxing the constraints
that they have to satisfy. A demonstration is given of
how formal reasoning can be camâed out to compare
different models. Some real-life systems are considered
and a definition of a version of weak coherency is
found to be incomplete
A Safety-First Approach to Memory Models.
Sequential consistency (SC) is arguably the most intuitive behavior for a shared-memory multithreaded program. It is widely accepted that language-level SC could significantly improve programmability of a multiprocessor system. However, efficiently supporting end-to-end SC remains a challenge as it requires that both compiler and hardware optimizations preserve SC semantics.
Current concurrent languages support a relaxed memory model that requires programmers to explicitly annotate all memory accesses that can participate in a data-race ("unsafe" accesses). This requirement allows compiler and hardware to aggressively optimize unannotated accesses, which are assumed to be data-race-free ("safe" accesses), while still preserving SC semantics. However, unannotated data races are easy for programmers to accidentally introduce and are difficult to detect, and in such cases the safety and correctness of programs are significantly compromised.
This dissertation argues instead for a safety-first approach, whereby every memory operation is treated as potentially unsafe by the compiler and hardware unless it is proven otherwise.
The first solution, DRFx memory model, allows many common compiler and hardware optimizations (potentially SC-violating) on unsafe accesses and uses a runtime support to detect potential SC violations arising from reordering of unsafe accesses. On detecting a potential SC violation, execution is halted before the safety property is compromised.
The second solution takes a different approach and preserves SC in both compiler and hardware. Both SC-preserving compiler and hardware are also built on the safety-first approach. All memory accesses are treated as potentially unsafe by the compiler and hardware. SC-preserving hardware relies on different static and dynamic techniques to identify safe accesses. Our results indicate that supporting SC at the language level is not expensive in terms of performance and hardware complexity.
The dissertation also explores an extension of this safety-first approach for data-parallel accelerators such as Graphics Processing Units (GPUs). Significant microarchitectural differences between CPU and GPU require rethinking of efficient solutions for preserving SC in GPUs. The proposed solution based on our SC-preserving approach performs nearly on par with the baseline GPU that implements a data-race-free-0 memory model.PhDComputer Science and EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/120794/1/ansingh_1.pd
- âŠ