Reimplementing the Cedar file system using logging and group commit
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
ACM Transactions on Database Systems (TODS)
The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
eNVy: a non-volatile, main memory storage system
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
The Rio file cache: surviving operating system crashes
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Free transactions with Rio Vista
Proceedings of the sixteenth ACM symposium on Operating systems principles
On-chip decoupling capacitor optimization using architectural level prediction
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Repeating History Beyond ARIES
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Proceedings of the twentieth ACM symposium on Operating systems principles
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
File system design for an NFS file server appliance
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Phase-change random access memory: a scalable technology
IBM Journal of Research and Development
Error Correction Codes for Non-Volatile Memories
Error Correction Codes for Non-Volatile Memories
Architecting phase change memory as a scalable dram alternative
Proceedings of the 36th annual international symposium on Computer architecture
A durable and energy efficient main memory using phase change memory technology
Proceedings of the 36th annual international symposium on Computer architecture
Scalable high performance main memory system using phase-change memory technology
Proceedings of the 36th annual international symposium on Computer architecture
Operating system support for NVM+DRAM hybrid main memory
HotOS'09 Proceedings of the 12th conference on Hot topics in operating systems
Dynamically replicated memory: building reliable systems from nanoscale resistive memories
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Phase change memory architecture and the quest for scalability
Communications of the ACM
Proceedings of the 7th ACM international conference on Computing frontiers
Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
Differentiated storage services
ACM SIGOPS Operating Systems Review
TPCTC'10 Proceedings of the Second TPC technology conference on Performance evaluation, measurement and characterization of complex systems
Mnemosyne: lightweight persistent memory
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Consistent and durable data structures for non-volatile byte-addressable memory
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
SSDAlloc: hybrid SSD/RAM memory management made easy
Proceedings of the 8th USENIX conference on Networked systems design and implementation
Operating system implications of fast, cheap, non-volatile memory
HotOS'13 Proceedings of the 13th USENIX conference on Hot topics in operating systems
Page placement in hybrid memory systems
Proceedings of the international conference on Supercomputing
Proceedings of the 38th annual international symposium on Computer architecture
Dynamic co-management of persistent RAM main memory and storage resources
Proceedings of the 8th ACM International Conference on Computing Frontiers
Energy-aware writes to non-volatile main memory
HotPower '11 Proceedings of the 4th Workshop on Power-Aware Computing and Systems
Differentiated storage services
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
SCMFS: a file system for storage class memory
Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis
PCMLogging: reducing transaction logging overhead with PCM
Proceedings of the 20th ACM international conference on Information and knowledge management
Energy-aware writes to non-volatile main memory
ACM SIGOPS Operating Systems Review
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
Preventing PCM banks from seizing too much power
Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture
When poll is better than interrupt
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
scc: cluster storage provisioning informed by application characteristics and SLAs
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
A limits study of benefits from nanostore-based future data-centric system architectures
Proceedings of the 9th conference on Computing Frontiers
CloudRAMSort: fast and efficient large-scale distributed RAM sort on shared-nothing cluster
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
Proceedings of the 26th ACM international conference on Supercomputing
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
NV-process: a fault-tolerance process model based on non-volatile memory
Proceedings of the Asia-Pacific Workshop on Systems
NV-process: a fault-tolerance process model based on non-volatile memory
APSys'12 Proceedings of the Third ACM SIGOPS Asia-Pacific conference on Systems
Energy-efficient and high-performance software architecture for storage class memory
ACM Transactions on Embedded Computing Systems (TECS)
Using managed runtime systems to tolerate holes in wearable memories
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Memorage: emerging persistent RAM based malleable main memory and storage architecture
Proceedings of the 27th international ACM conference on International conference on supercomputing
Proceedings of the 8th ACM European Conference on Computer Systems
Integrating memory management with a file system on a non-volatile main memory system
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Phase-change memory: An architectural perspective
ACM Computing Surveys (CSUR)
Bridging the programming gap between persistent and volatile memory using WrAP
Proceedings of the ACM International Conference on Computing Frontiers
Linux block IO: introducing multi-queue SSD access on multi-core systems
Proceedings of the 6th International Systems and Storage Conference
Storage-class memory needs flexible interfaces
Proceedings of the 4th Asia-Pacific Workshop on Systems
Optimizing the file system with variable-length I/O for fast storage devices
Proceedings of the 4th Asia-Pacific Workshop on Systems
SCMFS: A File System for Storage Class Memory and its Extensions
ACM Transactions on Storage (TOS)
Practical nonvolatile multilevel-cell phase change memory
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
From ARIES to MARS: transaction support for next-generation, solid-state drives
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
NVM heaps for accelerating browser-based applications
Proceedings of the 1st Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads
Exploring storage class memory with key value stores
Proceedings of the 1st Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads
MetaData persistence using storage class memory: experiences with flash-backed DRAM
Proceedings of the 1st Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads
Dynamic interval polling and pipelined post I/O processing for low-latency storage class memory
HotStorage'13 Proceedings of the 5th USENIX conference on Hot Topics in Storage and File Systems
Towards greener data centers with storage class memory
Future Generation Computer Systems
Kiln: closing the performance gap between systems with and without persistence support
Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
Aegis: partitioning data block for efficient recovery of stuck-at-faults in phase change memory
Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
NVM duet: unified working memory and persistent store architecture
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Improving writeback performance of memory-based storage devices
Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication
Last block logging mechanism for improving performance and lifetime on SCM-based file system
Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication
A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory
ACM Transactions on Storage (TOS)
Endurance-aware cache line management for non-volatile caches
ACM Transactions on Architecture and Code Optimization (TACO)
Unioning of the buffer cache and journaling layers with non-volatile memory
FAST'13 Proceedings of the 11th USENIX conference on File and Storage Technologies
Strata: scalable high-performance storage on virtualized non-volatile memory
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
On the energy overhead of mobile storage systems
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
Blizzard: fast, cloud-scale block storage for cloud-oblivious applications
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.02 |
Modern computer systems have been built around the assumption that persistent storage is accessed via a slow, block-based interface. However, new byte-addressable, persistent memory technologies such as phase change memory (PCM) offer fast, fine-grained access to persistent storage. In this paper, we present a file system and a hardware architecture that are designed around the properties of persistent, byteaddressable memory. Our file system, BPFS, uses a new technique called short-circuit shadow paging to provide atomic, fine-grained updates to persistent storage. As a result, BPFS provides strong reliability guarantees and offers better performance than traditional file systems, even when both are run on top of byte-addressable, persistent memory. Our hardware architecture enforces atomicity and ordering guarantees required by BPFS while still providing the performance benefits of the L1 and L2 caches. Since these memory technologies are not yet widely available, we evaluate BPFS on DRAM against NTFS on both a RAM disk and a traditional disk. Then, we use microarchitectural simulations to estimate the performance of BPFS on PCM. Despite providing strong safety and consistency guarantees, BPFS on DRAM is typically twice as fast as NTFS on a RAM disk and 4-10 times faster than NTFS on disk. We also show that BPFS on PCM should be significantly faster than a traditional disk-based file system.