
NSF Org: |
CCF Division of Computing and Communication Foundations |
Recipient: |
|
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: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
6100 MAIN ST Houston TX US 77005-1827 (713)348-4820 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
6100 Main St Houston TX US 77005-1827 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Exploiting Parallel&Scalabilty |
Primary Program Source: |
|
Program Reference Code(s): | |
Program Element Code(s): |
|
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.
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.