Principles of transaction-oriented database recovery
ACM Computing Surveys (CSUR)
Reimplementing the Cedar file system using logging and group commit
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
Design & analysis of fault tolerant digital systems
Design & analysis of fault tolerant digital systems
Phoenix: a safe in-memory file system
Communications of the ACM
Computer architecture: a quantitative approach
Computer architecture: a quantitative approach
Fault Injection for Dependability Validation: A Methodology and Some Applications
IEEE Transactions on Software Engineering
Fault Injection Experiments Using FIAT
IEEE Transactions on Computers
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Fast breakpoints: design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Measurements of a distributed file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
High-Availability Computer Systems
Computer
Non-volatile memory for fast, reliable file systems
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The design and implementation of a log-structured file system
The design and implementation of a log-structured file system
FINE: A Fault Injection and Monitoring Environment for Tracing the UNIX System Behavior Under Faults
IEEE Transactions on Software Engineering - Special issue on software reliability
Distributed operating systems
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
FERRARI: A Flexible Software-Based Fault and Error Injection System
IEEE Transactions on Computers - Special issue on fault-tolerant computing
Hive: fault containment for shared-memory multiprocessors
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
DCD—disk caching disk: a new approach for boosting I/O performance
ISCA '96 Proceedings of the 23rd annual international symposium on Computer architecture
The Rio file cache: surviving operating system crashes
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
The undocumented PC (2nd ed.): a programmer's guide to I/O, CPU's, and fixed memory areas
The undocumented PC (2nd ed.): a programmer's guide to I/O, CPU's, and fixed memory areas
Free transactions with Rio Vista
Proceedings of the sixteenth ACM symposium on Operating systems principles
Reliable computer systems (3rd ed.): design and evaluation
Reliable computer systems (3rd ed.): design and evaluation
Virtual log based file systems for a programmable disk
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
A trace-driven analysis of the UNIX 4.2 BSD file system
Proceedings of the tenth ACM symposium on Operating systems principles
The Multics virtual memory: concepts and design
Communications of the ACM
Protected Mode Software Architecture
Protected Mode Software Architecture
Operating System Concepts, 4th Ed.
Operating System Concepts, 4th Ed.
On using network RAM as a non-volatile buffer
Cluster Computing
Implementation techniques for main memory database systems
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Management of Partially Safe Buffers
IEEE Transactions on Computers
Xception: A Technique for the Experimental Evaluation of Dependability in Modern Computers
IEEE Transactions on Software Engineering
Ensuring Data Security and Integrity with a Fast Stable Storage
Proceedings of the Fourth International Conference on Data Engineering
Experimental assessment of parallel systems
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
Experimental evaluation of the fail-silent behaviour in programs with consistency checks
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
An approach towards benchmarking of fault-tolerant commercial systems
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
Software Exploitation of a Fault-Tolerant Computer with a Large Memory
FTCS '98 Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing
Automated Robustness Testing of Off-the-Shelf Software Components
FTCS '98 Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing
Comparing the Robustness of POSIX Operating Systems
FTCS '99 Proceedings of the Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing
The Systematic Improvement of Fault Tolerance in the Rio File Cache
FTCS '99 Proceedings of the Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing
Some requirements for architectural support of software debugging
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
How to connect stable memory to a computer
ACM SIGOPS Operating Systems Review
Exploring failure transparency and the limits of generic recovery
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
The design and implementation of a DCD device driver for Unix
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Soft updates: a technique for eliminating most synchronous writes in the fast filesystem
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
FTCS'95 Proceedings of the Twenty-Fifth international conference on Fault-tolerant computing
RAPID-Cache-A Reliable and Inexpensive Write Cache for High Performance Storage Systems
IEEE Transactions on Parallel and Distributed Systems
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
Obtaining High Performance for Storage Outsourcing
FAST '02 Proceedings of the 1st USENIX Conference on File and Storage Technologies
The Conquest file system: Better performance through a disk/persistent-RAM hybrid design
ACM Transactions on Storage (TOS)
Fast and correct performance recovery of operating systems using a virtual machine monitor
Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Obtaining high performance for storage outsourcing
FAST'02 Proceedings of the 1st USENIX conference on File and storage technologies
Is Linux kernel oops useful or not?
HotDep'12 Proceedings of the Eighth USENIX conference on Hot Topics in System Dependability
Hi-index | 14.98 |
Today's file systems are limited in speed and reliability by memory's vulnerability to operating system crashes. Because memory is viewed as unsafe, systems periodically write modified file data back to disk. These extra disk writes lower system performance and the delay period before data is safe lowers reliability. The goal of the Rio (RAM I/O) file cache is to make ordinary main memory safe for persistent storage by enabling memory to survive operating system crashes. Reliable main memory enables the Rio file cache to be as reliable as a write-through file cache, where every write is safe instantly, and as fast as a pure write-back file cache, with no reliability-induced writes to disk. This paper describes the systematic, quantitative process we used to design and verify the Rio file cache on Intel PCs running FreeBSD and the reliability and performance of the resulting system.