The Parallel Persistent Memory Model

05/15/2018
by   Guy E. Blelloch, et al.
0

We consider a parallel computational model that consists of P processors, each with a fast local ephemeral memory of limited size, and sharing a large persistent memory. The model allows for each processor to fault with bounded probability, and possibly restart. On faulting all processor state and local ephemeral memory are lost, but the persistent memory remains. This model is motivated by upcoming non-volatile memories that are as fast as existing random access memory, are accessible at the granularity of cache lines, and have the capability of surviving power outages. It is further motivated by the observation that in large parallel systems, failure of processors and their caches is not unusual. Within the model we develop a framework for developing locality efficient parallel algorithms that are resilient to failures. There are several challenges, including the need to recover from failures, the desire to do this in an asynchronous setting (i.e., not blocking other processors when one fails), and the need for synchronization primitives that are robust to failures. We describe approaches to solve these challenges based on breaking computations into what we call capsules, which have certain properties, and developing a work-stealing scheduler that functions properly within the context of failures. The scheduler guarantees a time bound of O(W/P_A + D(P/P_A) _1/f W) in expectation, where W and D are the work and depth of the computation (in the absence of failures), P_A is the average number of processors available during the computation, and f < 1/2 is the probability that a capsule fails. Within the model and using the proposed methods, we develop efficient algorithms for parallel sorting and other primitives.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/08/2017

Efficient Logging in Non-Volatile Memory by Exploiting Coherency Protocols

Non-volatile memory (NVM) technologies such as PCM, ReRAM and STT-RAM al...
research
05/25/2021

Execution of NVRAM Programs with Persistent Stack

Non-Volatile Random Access Memory (NVRAM) is a novel type of hardware th...
research
05/22/2018

Hardware Transactional Persistent Memory

Emerging Persistent Memory technologies (also PM, Non-Volatile DIMMs, St...
research
12/26/2021

Asynchronous Memory Access Unit for General Purpose Processors

In future data centers, applications will make heavy use of far memory (...
research
12/31/2017

Deterministic Computations on a PRAM with Static Processor and Memory Faults

We consider Parallel Random Access Machine (PRAM) which has some process...
research
10/24/2018

Scheduling computations with provably low synchronization overheads

Work Stealing has been a very successful algorithm for scheduling parall...
research
11/01/2017

Determination of Checkpointing Intervals for Malleable Applications

Selecting optimal intervals of checkpointing an application is important...

Please sign up or login with your details

Forgot password? Click here to reset