Award Abstract # 1439075
XPS: EXPL: FP: Architecture and Software for Scalable Persistent Memory

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: WILLIAM MARSH RICE UNIVERSITY
Initial Amendment Date: July 28, 2014
Latest Amendment Date: July 28, 2014
Award Number: 1439075
Award Instrument: Standard Grant
Program Manager: Marilyn McClure
mmcclure@nsf.gov
 (703)292-5197
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: August 1, 2014
End Date: July 31, 2018 (Estimated)
Total Intended Award Amount: $269,735.00
Total Awarded Amount to Date: $269,735.00
Funds Obligated to Date: FY 2014 = $269,735.00
History of Investigator:
  • Peter Varman (Principal Investigator)
    pjv@rice.edu
Recipient Sponsored Research Office: William Marsh Rice University
6100 MAIN ST
Houston
TX  US  77005-1827
(713)348-4820
Sponsor Congressional District: 09
Primary Place of Performance: William Marsh Rice University
6100 Main St
Houston
TX  US  77005-1827
Primary Place of Performance
Congressional District:
09
Unique Entity Identifier (UEI): K51LECU1G8N3
Parent UEI:
NSF Program(s): Exploiting Parallel&Scalabilty
Primary Program Source: 01001415DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s):
Program Element Code(s): 828300
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Emerging Storage Class Memory (SCM) technologies combine the non-volatility of storage devices like hard disks and solid state drives (SSDs) with the ability to access data at byte granularity rather than at a block level. Application developers can focus on a single fine-grained storage abstraction, rather than deal with word-granularity access for DRAM memory and a block interface for file-based disk storage. Accessing data directly from SCM instead of software-arbitrated block access has significant performance advantages, especially for modern data intensive applications based on graph and relation processing. However the use of direct SCM access places a significant burden on the application to achieve transactional and robust execution in the presence of unexpected machines failures and software aborts.

The research will identify lightweight, scalable architectural and software techniques for developing robust SCM-based software. The goal is to make the development of software for persistent memory comparable to programming conventional DRAM main-memory by relieving the programmer from the complexities of managing transactional atomicity and persistence. Both hardware solutions based on enhancements to the processor and memory-controller architecture, and software approaches in the form of a lightweight persistence library will be developed. The techniques will be scaled up to handle multiple threads and cores, and scale out to multiple CPU sockets and to distributed clustered architectures.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 11)
E. Giles, K. Doshi, P. Varman "Transaction Local Aliasing in Storage Class Memory" 10th IEEE International Conference on Networking, Architecture, and Storage (Short Paper) , 2015 10.1109/NAS.2015.7255242
Ellis Giles "Container-based virtualization for byte-addressable NVM data storage" 2016 IEEE International Conference on Big Data (Big Data) , 2017 10.1109/BigData.2016.7840923
Ellis Giles, Kshitij Dishi and Peter Varman "Brief Announcement: Hardware Transactional Storage Class Memory" Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures , 2017 , p.375 10.1145/3087556.3087589
Ellis Giles, Kshitij Doshi and Peter Varman "Continuous Checkpointing of HTM Transactions in NVM" Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management , 2017 , p.70 10.1145/3092255.3092270
Ellis Giles, Kshitij Doshi and Peter Varman "Persisting in-memory databases using SCM" 2016 IEEE International Conference on Big Data (Big Data) , 2017 10.1109/BigData.2016.7840950
Ellis Giles, Kshitij Doshi, Peter Varman "Brief Announcement: Hardware Transactional Persistent Memory" 30th ACM Symposium on Parallel Algorithms and Architectures , 2018 10.1145/3210377.3210656
Ellis Giles, Kshitij Doshi, Peter Varman "Hardware Transactional Persistent Memory" International Symposium on Memory Systems , 2018
K. Doshi, E. Giles, P. Varman "Atomic Persistence for SCM with a Non-intrusive Backend Controller" 22nd International Symposium on High Performance Computer Architecture (HPCA'16) , 2016 , p.77 10.1109/HPCA.2016.7446055
Libei Pu, Kshitij Doshi, Ellis Giles, Peter Varman "Non-intrusive Persistence with a Backend NVM Controller" Computer Architecture Letters , v.15 , 2016 DOI: 10.1109/LCA.2015.2443105
Qingyue Liu and Peter Varman "Ouroboros Wear-Leveling: A Two-LevelHierarchical Wear-Leveling Model for NVRAM" ACM Transactions on Storage , v.13 , 2017 10.1145/3139530
Qingyue Liu and Peter Varman "Ouroboros Wear-Leveling: A Two-LevelHierarchical Wear-Leveling Model for NVRAM" Massive Storage Systems and Technologies (MSST'17) , 2017 http://storageconference.us/2017/index.html
(Showing: 1 - 10 of 11)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

The goals of the project were to develop mechanisms to support atomic and durable concurrent transactions in emerging persistent memory devices, exemplified by the recent Apache Pass memory chips from Intel. These devices have capacity, speed, and power advantages over traditional block-based non-volatile media, and can be addressed directly by the programmer at word granularity using Load and Store instructions. This fast, direct access to non-volatile storage is at odds with existing transactional systems; in traditional systems, the low speed of the IO devices permit these accesses to be mediated by costly operating system or dedicated database management software. However, with persistent memory, applications must now deal with ensuring the consistency of the persistent medium in the presence of unexpected aborts caused by failures or exceptions.

Several solutions for durable transaction support were developed in the project based on the idea of Write-aside Persistence (WrAP). WrAP aims to allow applications to execute at near-native speeds using the processor caches, while relegating persistence operations to the background. A software implementation was developed and embodied in a library called SoftWrap; the approach uses aliasing and redo logging to ensure atomicity by preventing untimely cache evictions from corrupting persistent memory. Another solution was based on employing simple hardware support in the memory controller to regulate the times at which evicted cache lines can be safely written back to persistent memory. In these solutions, isolation between concurrent threads was enforced by software-based locking. The mechanisms were evaluated using both micro benchmarks as well as by adapting an open-source in-memory database system for persistent memory.

An additional component of the project dealt with using Hardware Transaction Memory (HTM) for durable persistent-memory transactions. HTM is a feature of high-end CPUs that uses processor mechanisms to ensure efficient transactional in-memory execution of concurrent threads. An additional challenge when using HTM with persistent memory is to ensure that the durable transaction ordering is consistent with the in-memory transaction ordering enforced by the HTM. Solutions based on extending SoftWrap as well as by extending the memory-controller design were developed and evaluated.  Both emulation as well as implementation on early experimental Apache Pass hardware systems made available by Intel were used for evaluations. These are the first solutions that can be implemented on existing processor hardware without changes to the processor cache hierarchy or HTM mechanisms.

The work supported the research of a graduate student for both an MS and a Ph.D. Several undergraduates were also involved in aspects of the research. There has also been considerable interest from industry in the work.

 


Last Modified: 12/04/2018
Modified by: Peter J Varman

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page