Virtual Address Space

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 7830 Experts worldwide ranked by ideXlab platform

Karsten Schwan - One of the best experts on this subject based on the ideXlab platform.

  • Spacejmp programming with multiple Virtual Address Spaces
    Architectural Support for Programming Languages and Operating Systems, 2016
    Co-Authors: Izzat El Hajj, Alexander Merritt, Gerd Zellweger, Dejan Milojicic, Reto Achermann, Paolo Faraboschi, Timothy Roscoe, Karsten Schwan
    Abstract:

    Memory-centric computing demands careful organization of the Virtual Address Space, but traditional methods for doing so are inflexible and inefficient. If an application wishes to Address larger physical memory than Virtual Address bits allow, if it wishes to maintain pointer-based data structures beyond process lifetimes, or if it wishes to share large amounts of memory across simultaneously executing processes, legacy interfaces for managing the Address Space are cumbersome and often incur excessive overheads. We propose a new operating system design that promotes Virtual Address Spaces to first-class citizens, enabling process threads to attach to, detach from, and switch between multiple Virtual Address Spaces. Our work enables data-centric applications to utilize vast physical memory beyond the Virtual range, represent persistent pointer-rich data structures without special pointer representations, and share large amounts of memory between processes efficiently. We describe our prototype implementations in the DragonFly BSD and Barrelfish operating systems. We also present programming semantics and a compiler transformation to detect unsafe pointer usage. We demonstrate the benefits of our work on data-intensive applications such as the GUPS benchmark, the SAMTools genomics workflow, and the Redis key-value store.

Izzat El Hajj - One of the best experts on this subject based on the ideXlab platform.

  • Spacejmp programming with multiple Virtual Address Spaces
    Architectural Support for Programming Languages and Operating Systems, 2016
    Co-Authors: Izzat El Hajj, Alexander Merritt, Gerd Zellweger, Dejan Milojicic, Reto Achermann, Paolo Faraboschi, Timothy Roscoe, Karsten Schwan
    Abstract:

    Memory-centric computing demands careful organization of the Virtual Address Space, but traditional methods for doing so are inflexible and inefficient. If an application wishes to Address larger physical memory than Virtual Address bits allow, if it wishes to maintain pointer-based data structures beyond process lifetimes, or if it wishes to share large amounts of memory across simultaneously executing processes, legacy interfaces for managing the Address Space are cumbersome and often incur excessive overheads. We propose a new operating system design that promotes Virtual Address Spaces to first-class citizens, enabling process threads to attach to, detach from, and switch between multiple Virtual Address Spaces. Our work enables data-centric applications to utilize vast physical memory beyond the Virtual range, represent persistent pointer-rich data structures without special pointer representations, and share large amounts of memory between processes efficiently. We describe our prototype implementations in the DragonFly BSD and Barrelfish operating systems. We also present programming semantics and a compiler transformation to detect unsafe pointer usage. We demonstrate the benefits of our work on data-intensive applications such as the GUPS benchmark, the SAMTools genomics workflow, and the Redis key-value store.

Jim Hays - One of the best experts on this subject based on the ideXlab platform.

  • architectural support for translation table management in large Address Space machines
    International Symposium on Computer Architecture, 1993
    Co-Authors: Jerry Huck, Jim Hays
    Abstract:

    Virtual memory page translation tables provide mappings from Virtual to physical Addresses. When the hardware controlled Translation Lookaside Buffers (TLBs) do not contain a translation, these tables provide the translation. Approaches to the structure and management of these tables vary from full hardware implementations to complete software based algorithms. The size of the Virtual Address Space used by processes is rapidly growing beyond 32 bits of Address. As the utilized Address Space increases, new problems and issues surface. Traditional methods for managing the page translation tables are inappropriate for large Address Space architectures. The Hashed Page Table (HPT), described here, provides a very fast and Space efficient translation table that reduces overhead by splitting TLB management responsibilities between hardware and software. Measurements demonstrate its applicability to a diverse range of operating systems and workloads and, in particular, to large Virtual Address Space machines. In simulations of over 4 billion instructions, improvement of 5 to 10% were observed.

Torsten Hoefler - One of the best experts on this subject based on the ideXlab platform.

  • Enabling highly scalable remote memory access programming with MPI-3 one sided
    Communications of the ACM, 2018
    Co-Authors: Robert Gerstenberger, Maciej Besta, Torsten Hoefler
    Abstract:

    Modern high-performance networks offer remote direct memory access (RDMA) that exposes a process' Virtual Address Space to other processes in the network. The Message Passing Interface (MPI) specification has recently been extended with a programming interface called MPI-3 Remote Memory Access (MPI-3 RMA) for efficiently exploiting state-of-the-art RDMA features. MPI-3 RMA enables a powerful programming model that alleviates many message passing downsides. In this work, we design and develop bufferless protocols that demonstrate how to implement this interface and support scaling to millions of cores with negligible memory consumption while providing highest performance and minimal overheads. To arm programmers, we provide a spectrum of performance models for RMA functions that enable rigorous mathematical analysis of application performance and facilitate the development of codes that solve given tasks within specified time and energy budgets. We validate the usability of our library and models with several application studies with up to half a million processes. In a wider sense, our work illustrates how to use RMA principles to accelerate computation- and data-intensive codes.

Benjamin G Zorn - One of the best experts on this subject based on the ideXlab platform.

  • archipelago trading Address Space for reliability and security
    Architectural Support for Programming Languages and Operating Systems, 2008
    Co-Authors: Vitaliy B Lvin, Gene Novark, Emery D Berger, Benjamin G Zorn
    Abstract:

    Memory errors are a notorious source of security vulnerabilities that can lead to service interruptions, information leakage and unauthorized access. Because such errors are also difficult to debug, the absence of timely patches can leave users vulnerable to attack for long periods of time. A variety of approaches have been introduced to combat these errors, but these often incur large runtime overheads and generally abort on errors, threatening availability. This paper presents Archipelago, a runtime system that takes advantage of available Address Space to substantially reduce the likelihood that a memory error will affect program execution. Archipelago randomly allocates heap objects far apart in Virtual Address Space, effectively isolating each object from buffer overflows. Archipelago also protects against dangling pointer errors by preserving the contents of freed objects after they are freed. Archipelago thus trades Virtual Address Space---a plentiful resource on 64-bit systems---for significantly improved program reliability and security, while limiting physical memory consumption by tracking the working set of an application and compacting cold objects. We show that Archipelago allows applications to continue to run correctly in the face of thousands of memory errors. Across a suite of server applications, Archipelago's performance overhead is 6% on average (between -7% and 22%), making it especially suitable to protect servers that have known security vulnerabilities due to heap memory errors.