|
ABSTRACT
An organization's data is often its most valuable asset, but today's file systems provide few facilities to ensure its safety. Databases, on the other hand, have long provided transactions. Transactions are useful because they provide atomicity, consistency, isolation, and durability (ACID). Many applications could make use of these semantics, but databases have a wide variety of nonstandard interfaces. For example, applications like mail servers currently perform elaborate error handling to ensure atomicity and consistency, because it is easier than using a DBMS. A transaction-oriented programming model eliminates complex error-handling code because failed operations can simply be aborted without side effects. We have designed a file system that exports ACID transactions to user-level applications, while preserving the ubiquitous and convenient POSIX interface. In our prototype ACID file system, called Amino, updated applications can protect arbitrary sequences of system calls within a transaction. Unmodified applications operate without any changes, but each system call is transaction protected. We also built a recoverable memory library with support for nested transactions to allow applications to keep their in-memory data structures consistent with the file system. Our performance evaluation shows that ACID semantics can be added to applications with acceptable overheads. When Amino adds atomicity, consistency, and isolation functionality to an application, it performs close to Ext3. Amino achieves durability up to 46% faster than Ext3, thanks to improved locality.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Albert D. Alexandrov , Maximilian Ibel , Klaus E. Schauser , Chris J. Scheiman, Extending the operating system at the user level: the Ufo global file system, Proceedings of the Annual Technical Conference on Proceedings of the USENIX 1997 Annual Technical Conference, p.6-6, January 06-10, 1997, Anaheim, California
|
| |
2
|
Berliner, B. and Polk, J. 2001. Concurrent Versions System (CVS). www.cvshome.org.
|
| |
3
|
Callaghan, B., Pawlowski, B., and Staubach, P. 1995. NFS version 3 protocol specification. Tech. Rep. RFC 1813, Network Working Group.
|
 |
4
|
Peter M. Chen , Wee Teck Ng , Subhachandra Chandra , Christopher Aycock , Gurushankar Rajamani , David Lowell, The Rio file cache: surviving operating system crashes, Proceedings of the seventh international conference on Architectural support for programming languages and operating systems, p.74-83, October 01-04, 1996, Cambridge, Massachusetts, United States
|
| |
5
|
CollabNet, Inc. 2004. Subversion. http://subversion.tigris.org.
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
Douglas P. Ghormley , David Petrou , Steven H. Rodrigues , Thomas E. Anderson, SLIC: an extensibility system for commodity operating systems, Proceedings of the Annual Technical Conference on USENIX Annual Technical Conference, 1998, p.4-4, June 15-19, 1998, New Orleans, Louisiana
|
| |
11
|
Giarrusso, P. 2005. Fwd: Re: {patch 1/4} UML Support - Ptrace: adds the host SYSEMU support, for UML and general usage. www.uwsg.iu.edu/hypermail/linux/kernel/0507.3/1992.html.
|
| |
12
|
Ian Goldberg , David Wagner , Randi Thomas , Eric A. Brewer, A secure environment for untrusted helper applications confining the Wily Hacker, Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography, p.1-1, July 22-25, 1996, San Jose, California
|
| |
13
|
Haardt, M. and Coleman, M. 1999. ptrace(2). Linux Programmer's Manual, Section 2.
|
 |
14
|
|
| |
15
|
IEEE/ANSI. 1996. Information Technology--Portable Operating System Interface (POSIX)--Part 1: System Application: Program Interface (API) {C Language}. Tech. rep. STD-1003.1, ISO/IEC.
|
 |
16
|
|
| |
17
|
Katcher, J. 1997. PostMark: A new filesystem benchmark. Tech. rep. TR3022, Network Appliance. www.netapp.com/tech_library/3022.html.
|
| |
18
|
|
| |
19
|
Lewis, P., Bernstein, A., and Kifer, M. 2002. Databases and Transaction Processing: An Application-Oriented Approach. Chapter 8: Database Design II: Relational Normalization Theory. Addison Wesley, 211--260.
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
|
| |
24
|
Microsoft Corporation. 2004. Microsoft MSDN WinFS Documentation. http://msdn.microsoft.com/data/winfs/.
|
| |
25
|
Murphy, N., Tonkelowitz, M., and Vernal, M. 2002. The design and implementation of the database file system. www.eecs.harvard.edu/~vernal/learn/cs261r/index.shtml.
|
| |
26
|
MySQL AB. 2005. MySQL: The world's most popular open source database. www.mysql.org.
|
| |
27
|
Olson, M. A. 1993. The design and implementation of the inversion file system. In Proceedings of the Winter 1993 USENIX Technical Conference. San Diego, CA. USENIX, 205--217.
|
| |
28
|
Oracle Corporation. 2000. Oracle Internet File System Archive Documentation. http://otn.oracle.com/documentation/ifs_arch.html.
|
| |
29
|
Amit Purohit , Charles P. Wright , Joseph Spadavecchia , Erez Zadok, Cosy: develop in user-land, run in kernel-mode, Proceedings of the 9th conference on Hot Topics in Operating Systems, p.19-19, May 18-21, 2003, Lihue, Hawaii
|
 |
30
|
|
 |
31
|
Douglas S. Santry , Michael J. Feeley , Norman C. Hutchinson , Alistair C. Veitch , Ross W. Carton , Jacob Ofir, Deciding when to forget in the Elephant file system, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.110-123, December 12-15, 1999, Charleston, South Carolina, United States
|
 |
32
|
|
 |
33
|
|
| |
34
|
|
| |
35
|
Seltzer, M. and Yigit, O. 1991. A new hashing package for UNIX. In Proceedings of the Winter USENIX Technical Conference. Dallas, TX. USENIX Association, 173--184.
|
| |
36
|
Margo I. Seltzer , Gregory R. Ganger , M. Kirk McKusick , Keith A. Smith , Craig A. N. Soules , Christopher A. Stein, Journaling versus soft updates: asynchronous meta-data protection in file systems, Proceedings of the Annual Technical Conference on 2000 USENIX Annual Technical Conference, p.6-6, June 18-23, 2000, San Diego, California
|
| |
37
|
Sendmail Consortium. 2004. Sendmail home page. www.sendmail.org.
|
| |
38
|
Sendmail, Inc. 2004. Sendmail Advanced Message Server. www.sendmail.com/products/mailcenter/sams/.
|
| |
39
|
Sleepycat Software, Inc. 2004. Berkeley DB Reference Guide, 4.3.27 Ed. http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/frame.html.
|
| |
40
|
Szeredi, M. 2005. Filesystem in userspace. http://fuse.sourceforge.net.
|
| |
41
|
|
CITED BY
|
|
Dan Tsafrir , Tomer Hertz , David Wagner , Dilma Da Silva, Portably solving file TOCTTOU races with hardness amplification, Proceedings of the 6th USENIX Conference on File and Storage Technologies, p.1-18, February 26-29, 2008, San Jose, California
|
|