Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Amir Saman Memaripour

dblp:120/9699 · also Amirsaman Memaripour · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorComputer networks · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
6 papers
Memory systems · 52% Storage systems · 32% Distributed systems · 14%
Software engineering, system software, and programming languages
1 paper
Operating systems · 100%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
non-volatile memory
1.342020
Pronto: Easy and Fast Persistence for Volatile Data Structures · ASPLOS 2020
Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks · ASPLOS 2019
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx · EuroSys 2017
Memory systems › non-volatile memory
non-volatile main memory
0.732020
Pronto: Easy and Fast Persistence for Volatile Data Structures · ASPLOS 2020
Mojim: A Reliable and Highly-Available Non-Volatile Memory System · ASPLOS 2015
NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System · SOSP 2017
Storage systems › file systems › file system design
persistent memory file system
0.722019
Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks · ASPLOS 2019
NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System · SOSP 2017
Distributed systems
replication
0.632018
Hyperloop: group-based NIC-offloading to accelerate replicated transactions in multi-tenant storage systems · SIGCOMM 2018
Mojim: A Reliable and Highly-Available Non-Volatile Memory System · ASPLOS 2015
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx · EuroSys 2017
Storage systems
crash consistency
0.412020
Pronto: Easy and Fast Persistence for Volatile Data Structures · ASPLOS 2020
Memory systems › non-volatile memory
persistent data structures
0.412020
Pronto: Easy and Fast Persistence for Volatile Data Structures · ASPLOS 2020
Storage systems
atomic writes
0.312017
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx · EuroSys 2017
Memory systems › non-volatile memory › persistent memory
byte-addressable persistent memory
0.312017
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx · EuroSys 2017
Cloud and datacenter computing › multi-tenancy
multi-tenant storage
0.112018
Hyperloop: group-based NIC-offloading to accelerate replicated transactions in multi-tenant storage systems · SIGCOMM 2018
Distributed systems › replication › primary-backup replication
chain replication
0.112017
Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx · EuroSys 2017

Methods — techniques the papers use, named apart from their topics

trace analysis · 0.8performance profiling · 0.8NVMM-aware library · 0.4non-volatile memory · 0.3RDMA · 0.3transactional update · 0.3off-critical-path copy · 0.3replication protocol · 0.2NVMM emulation · 0.2
YearPublicationVenuePosition
2020 Pronto: Easy and Fast Persistence for Volatile Data Structures
abstract
Non-Volatile Main Memories (NVMMs) promise an opportunity for fast, persistent data structures. However, building these data structures is hard because their data must be consistent in the wake of a failure. Existing methods for building persistent data structures require either in-depth code changes to an existing data structure using an NVMM-aware library or rewriting the data structure from scratch. Unfortunately, both of these methods are labor-intensive and error-prone.
Amir Saman Memaripour, Joseph Izraelevitz, Steven Swanson
ASPLOS1
2019 Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks
abstract
Emerging fast, non-volatile memories will enable systems with large amounts of non-volatile main memory (NVMM) attached to the CPU memory bus, bringing the possibility of dramatic performance gains for IO-intensive applications. This paper analyzes the impact of state-of-the-art NVMM storage systems on some of these applications and explores how those applications can best leverage the performance that NVMMs offer. Our analysis leads to several conclusions about how systems and applications should adapt to NVMMs. We propose FiLe Emulation with DAX (FLEX), a technique for moving file operations into user space, and show it and other simple changes can dramatically improve application performance. We examine the scalability of NVMM file systems in light of the rising core counts and pronounced NUMA effects in modern systems, and propose changes to Linux's virtual file system (VFS) to improve scalability. We also show that adding NUMA-aware interfaces to an NVMM file system can significantly improve performance.
Jian Xu 0012, Juno Kim, Amir Saman Memaripour, Steven Swanson
ASPLOS3
2018 Breeze: User-Level Access to Non-Volatile Main Memories for Legacy Software
abstract
Non-volatile main memory (NVMM) technologies, such as phase change memory and 3D XPoint, offer DRAM-like performance and byte-addressable access to persistent data. A wide range of applications (e.g., key-value stores and database systems) stand to benefit from the performance potential of these technologies. These potential benefits are greatest when applications can access memory directly via load/store instructions rather than conventional file-based interfaces. This approach presents several challenges. In particular, applications need guaranteed consistency and safety semantics to protect their data structures in the face of system failures and programming errors. Implementing data structures that meet these requirements is challenging and error-prone. Researchers have proposed several libraries and programming language extensions that simplify this task, but, to date, all the proposed solutions either require pervasive changes to existing software or rely on special hardware support. As a result, porting legacy applications to leverage NVMM is likely to be prohibitively difficult and time consuming. We propose Breeze, a NVMM toolchain that minimizes the changes necessary to enable legacy code to reap the benefits of directly accessing NVMM. Breeze guarantees data consistency and validity of persistent pointers regardless of failures. The toolchain transparently detects and logs writes to NVMM and provides a simple mechanism for identifying atomic sections while avoiding complications common in previous systems such as special persistent pointer types. Porting Memcached and MongoDB to use Breeze only requires changes to 5% of the source code compared to 7-14% for NVML and NVM-Direct. Breeze also provides equal or superior performance compared to NVML and NVM-Direct, outperforming them by up to 10x.
Amir Saman Memaripour, Steven Swanson
ICCD1
2018 Hyperloop: group-based NIC-offloading to accelerate replicated transactions in multi-tenant storage systems
abstract
Storage systems in data centers are an important component of large-scale online services. They typically perform replicated transactional operations for high data availability and integrity. Today, however, such operations suffer from high tail latency even with recent kernel bypass and storage optimizations, and thus affect the predictability of end-to-end performance of these services. We observe that the root cause of the problem is the involvement of the CPU, a precious commodity in multi-tenant settings, in the critical path of replicated transactions. In this paper, we present HyperLoop, a new framework that removes CPU from the critical path of replicated transactions in storage systems by offloading them to commodity RDMA NICs, with non-volatile memory as the storage medium. To achieve this, we develop new and general NIC offloading primitives that can perform memory operations on all nodes in a replication group while guaranteeing ACID properties without CPU involvement. We demonstrate that popular storage applications can be easily optimized using our primitives. Our evaluation results with microbenchmarks and application benchmarks show that HyperLoop can reduce 99th percentile latency ≈ 800X with close to 0% CPU consumption on replicas.
Daehyeok Kim, Amir Saman Memaripour, Anirudh Badam, Yibo Zhu 0001, Hongqiang Harry Liu, Jitendra Padhye, Shachar Raindel, Steven Swanson, Vyas Sekar, Srinivasan Seshan
SIGCOMM2
2017 Atomic In-place Updates for Non-volatile Main Memories with Kamino-Tx
abstract
Data structures for non-volatile memories have to be designed such that they can be atomically modified using transactions. Existing atomicity methods require data to be copied in the critical path which significantly increases the latency of transactions. These overheads are further amplified for transactions on byte-addressable persistent memories where often the byte ranges modified for data structure updates are significantly smaller compared to the granularity at which data can be efficiently copied and logged. We propose Kamino-Tx that provides a new way to perform transactional updates on non-volatile byte-addressable memories (NVM) without requiring any copying of data in the critical path. Kamino-Tx maintains an additional copy of data off the critical path to achieve atomicity. But in doing so Kamino-Tx has to overcome two important challenges of safety and minimizing NVM storage overhead. We propose a more dynamic approach to maintaining the additional copy of data to reduce storage overheads. To further mitigate the storage overhead of using Kamino-Tx in a replicated setting, we develop Kamino-Tx-Chain, a variant of Chain Replication where replicas perform in-place updates and do not maintain data copies locally; replicas in Kamino-Tx-Chain leverage other replicas as copies to roll back or forward for atomicity. Our results show that using Kamino-Tx increases throughput by up to 9.5x for unreplicated systems and up to 2.2x for replicated settings.
Amir Saman Memaripour, Anirudh Badam, Amar Phanishayee, Yanqi Zhou, Ramnatthan Alagappan, Karin Strauss, Steven Swanson
EuroSys1
2017 NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System
abstract
Emerging fast, persistent memories will enable systems that combine conventional DRAM with large amounts of non-volatile main memory (NVMM) and provide huge increases in storage performance. Fully realizing this potential requires fundamental changes in how system software manages, protects, and provides access to data that resides in NVMM. We address these needs by describing an NVMM-optimized file system called NOVA-Fortis that is both fast and resilient in the face of corruption due to media errors and software bugs. We identify and propose solutions for the unique challenges in adding fault tolerance to an NVMM file system, adapt state-of-the-art reliability techniques to an NVMM file system, and quantify the performance and storage overheads of these techniques. We find that NOVA-Fortis' reliability features consume 14.8% of the storage for redundancy and reduce application-level performance by between 2% and 38% compared to the same file system with the features removed. NOVA-Fortis outperforms DAX-aware file systems without reliability features by 1.5x on average. It outperforms reliable, block-based file systems running on NVMM by 3x on average.
Jian Xu 0012, Lu Zhang 0064, Amir Saman Memaripour, Akshatha Gangadharaiah, Amit Borase, Tamires Brito Da Silva, Steven Swanson, Andy Rudoff
SOSP3
2015 Mojim: A Reliable and Highly-Available Non-Volatile Memory System
abstract
Next-generation non-volatile memories (NVMs) promise DRAM-like performance, persistence, and high density. They can attach directly to processors to form non-volatile main memory (NVMM) and offer the opportunity to build very low-latency storage systems. These high-performance storage systems would be especially useful in large-scale data center environments where reliability and availability are critical. However, providing reliability and availability to NVMM is challenging, since the latency of data replication can overwhelm the low latency that NVMM should provide. We propose Mojim, a system that provides the reliability and availability that large-scale storage systems require, while preserving the performance of NVMM. Mojim achieves these goals by using a two-tier architecture in which the primary tier contains a mirrored pair of nodes and the secondary tier contains one or more secondary backup nodes with weakly consistent copies of data. Mojim uses highly-optimized replication protocols, software, and networking stacks to minimize replication costs and expose as much of NVMM?s performance as possible. We evaluate Mojim using raw DRAM as a proxy for NVMM and using an industrial NVMM emulation system. We find that Mojim provides replicated NVMM with similar or even better performance than un-replicated NVMM (reducing latency by 27% to 63% and delivering between 0.4 to 2.7X the throughput). We demonstrate that replacing MongoDB's built-in replication system with Mojim improves MongoDB's performance by 3.4 to 4X.
Amir Saman Memaripour, Steven Swanson
ASPLOS3