31 research outputs found
The Case for Replication-Aware Memory-Error Protection in Disaggregated Memory
Disaggregated memory leverages recent technology advances in high-density,
byte-addressable non-volatile memory and high-performance interconnects to
provide a large memory pool shared across multiple compute nodes. Due to higher
memory density, memory errors may become more frequent. Unfortunately,
tolerating memory errors through existing memory-error protection techniques
becomes impractical due to increasing storage cost. This work proposes
replication-aware memory-error protection to improve storage efficiency of
protection in data-centric applications that already rely on memory replication
for performance and availability. It lets such applications lower protection
storage cost by weakening the protection of each individual replica, but still
realize a strong protection target by relying on the collective protection
conferred by multiple replicas
SplitFS: Reducing Software Overhead in File Systems for Persistent Memory
We present SplitFS, a file system for persistent memory (PM) that reduces
software overhead significantly compared to state-of-the-art PM file systems.
SplitFS presents a novel split of responsibilities between a user-space library
file system and an existing kernel PM file system. The user-space library file
system handles data operations by intercepting POSIX calls, memory-mapping the
underlying file, and serving the read and overwrites using processor loads and
stores. Metadata operations are handled by the kernel PM file system (ext4
DAX). SplitFS introduces a new primitive termed relink to efficiently support
file appends and atomic data operations. SplitFS provides three consistency
modes, which different applications can choose from, without interfering with
each other. SplitFS reduces software overhead by up-to 4x compared to the NOVA
PM file system, and 17x compared to ext4-DAX. On a number of micro-benchmarks
and applications such as the LevelDB key-value store running the YCSB
benchmark, SplitFS increases application performance by up to 2x compared to
ext4 DAX and NOVA while providing similar consistency guarantees
Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models
The upcoming many-core architectures require software developers to exploit
concurrency to utilize available computational power. Today's high-level
language virtual machines (VMs), which are a cornerstone of software
development, do not provide sufficient abstraction for concurrency concepts. We
analyze concrete and abstract concurrency models and identify the challenges
they impose for VMs. To provide sufficient concurrency support in VMs, we
propose to integrate concurrency operations into VM instruction sets.
Since there will always be VMs optimized for special purposes, our goal is to
develop a methodology to design instruction sets with concurrency support.
Therefore, we also propose a list of trade-offs that have to be investigated to
advise the design of such instruction sets.
As a first experiment, we implemented one instruction set extension for
shared memory and one for non-shared memory concurrency. From our experimental
results, we derived a list of requirements for a full-grown experimental
environment for further research
Pathological Interaction of Locks with Transactional Memory
Transactional memory (TM) promises to simplify multithreaded
programming. Transactions provide mutual exclusion without the
possibility of deadlock and the need to assign locks to data
structures. To date, most investigations of transactional memory have
looked at purely transactional systems that do not interact with
legacy code using locks. Unfortunately, the reality of software
engineering is that such interaction is likely.
We investigate the interaction of transactional memory implementations
and lock-based code. We identify and discuss five pathologies that
arise with different systems when a lock is accessed both within and
outside a transaction: Blocking, Deadlock, Livelock, Early Release,
and Invisible Locking. To address these pathologies we designed and
implemented transaction-safe locks (TxLocks) by modifying the existing
lock implementation of the OpenSolaris C Library and extending the
conflict resolution policy of a hardware transactional memory system
Recommended from our members
Latency Prediction for Delay-sensitive V2X Applications in Mobile Cloud/Edge Computing Systems
Mobile edge computing (MEC) is a key enabler of delay-sensitive vehicle-to-everything (V2X) applications. Determining where to execute a task necessitates accurate estimation of the offloading latency. In this paper, we propose a latency prediction framework that integrates machine learning and statistical approaches. Aided by extensive latency measurements collected during driving, we first preprocess the data and divide it into two components: one that follows a trackable trend over time and the other that behaves like random noise. We then develop a Long Short-Term Memory (LSTM) network to predict the first component. This LSTM network captures the trend in latency over time. We further enhance the prediction accuracy of this technique by employing a k-medoids classification method. For the second component, we propose a statistical approach using a combination of Epanechnikov Kernel and moving average functions. Experimental results show that the proposed prediction approach reduces the prediction error to half of a standard deviation (STD) of the raw data. © 2020 IEEE.National Science FoundationThis item from the UA Faculty Publications collection is made available by the University of Arizona with support from the University of Arizona Libraries. If you have questions, please contact us at [email protected]