Results 11 -
19 of
19
Accumulative Versioning File System Moraine and Its Application to Metrics Environment MAME
- Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering
"... It is essential to manage versions of software products created during software development. There are various versioning tools actually used in these days, although most of them require the developers to issue management commands for consistent versioning. In this paper, we present a novel versioni ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
It is essential to manage versions of software products created during software development. There are various versioning tools actually used in these days, although most of them require the developers to issue management commands for consistent versioning. In this paper, we present a novel versioning file system Moraine, which accumulatively and automatically collects all files created or modified. Those files are versioned and stored as compressed forms. The older versions are easily retrieved from Moraine by the time-stamps or tags if required. Using Moraine system, we have developed a metrics (measurement) environment called MAME (Moraine As a Metrics Environment). MAME can collect various metrics data for on-going or past projects, since its basis, Moraine, is able to retrieve all versions of all products (files). Both Moraine and MAME have been implemented. Using these systems, we have evaluated the performance of Moraine and MAME with various test data and student project data. The result shows that disk space required by this approach is several times larger than ordinary approaches; however, it is acceptable at the current tendency of disk price decrease. By this approach, an ideal metrics environment has been easily established by developing simple data-collection tools for version files. 1.
Fragmentation in Large Object Repositories
"... Fragmentation leads to unpredictable and degraded application performance. While these problems have been studied in detail for desktop filesystem workloads, this study examines newer systems such as scalable object stores and multimedia repositories. Such systems use a get/put interface to store ob ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Fragmentation leads to unpredictable and degraded application performance. While these problems have been studied in detail for desktop filesystem workloads, this study examines newer systems such as scalable object stores and multimedia repositories. Such systems use a get/put interface to store objects. In principle, databases and filesystems can support such applications efficiently, allowing system designers to focus on complexity, deployment cost and manageability. Although theoretical work proves that certain storage policies behave optimally for some workloads, these policies often behave poorly in practice. Most storage benchmarks focus on short-term behavior or do not measure fragmentation. We compare SQL Server to NTFS and find that fragmentation dominates performance when object sizes exceed 256KB-1MB. NTFS handles fragmentation better than SQL Server. Although the performance curves will vary with other systems and workloads, we expect the same interactions between fragmentation and free space to apply. It is well-known that fragmentation is related to the percentage free space. We found that the ratio of free space to object size also impacts performance. Surprisingly, in both systems, storing objects of a single size causes fragmentation, and changing the size of write requests affects fragmentation. These problems could be addressed with simple changes to the filesystem and database interfaces. It is our hope that an improved understanding of fragmentation will lead to predictable storage systems that require less maintenance after deployment.
An Efficient Versioning File System for Self-SecuringStorage
, 2000
"... Self-securing storage prevents intruders from undetectably tampering with or permanently deleting stored data. By keeping all versions of all data for a window of time and separating the storage system from the host operating system, self securing storage can protect its data from corruption. This p ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Self-securing storage prevents intruders from undetectably tampering with or permanently deleting stored data. By keeping all versions of all data for a window of time and separating the storage system from the host operating system, self securing storage can protect its data from corruption. This paper describes a versioning file system that combines log-structuring with novel metadata journaling and data replication techniques to minimize the performance costs of comprehensive versioning. Experiments show that self-securing storage devices can deliver performance that is comparable with conventional storage. Further ~ analyses indicate that several weeks worth of all versions can reasonably be kept on state-of-the-art disks, especially when differencing and compression technologies are employed. 1
Virtualization Mechanisms for Mobility, Security and System Administration
, 2010
"... This dissertation demonstrates that operating system virtualization is an effective method for solving many different types of computing problems. We have designed novel systems that make use of commodity software while solving problems that were not conceived when the software was originally writte ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This dissertation demonstrates that operating system virtualization is an effective method for solving many different types of computing problems. We have designed novel systems that make use of commodity software while solving problems that were not conceived when the software was originally written. We show that by leveraging and extending existing virtualization techniques, and introducing new ones, we can build these novel systems without requiring the applications or operating systems to be rewritten. We introduce six architectures that leverage operating system virtualization. *Pod creates fully secure virtual environments and improves user mobility. AutoPod reduces the downtime needed to apply kernel patches and perform system maintenance. PeaPod creates least-privilege systems by introducing the pea abstraction. Strata improves the ability of administrators to manage large numbers of machines by introducing the Virtual Layered File System. Apiary builds upon Strata to create a new form of desktop security by using isolated persistent and ephemeral application containers. Finally, ISE-T applies the two-person control model to system administration.
1 To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem?
, 2006
"... Application designers must decide whether to store large objects (BLOBs) in a filesystem or in a database. Generally, this decision is based on factors such as application simplicity or manageability. Often, system performance affects these factors. Folklore tells us that databases efficiently handl ..."
Abstract
- Add to MetaCart
Application designers must decide whether to store large objects (BLOBs) in a filesystem or in a database. Generally, this decision is based on factors such as application simplicity or manageability. Often, system performance affects these factors. Folklore tells us that databases efficiently handle large numbers of small objects, while filesystems are more efficient for large objects. Where is the break-even point? When is accessing a BLOB stored as a file cheaper than accessing a BLOB stored as a database record? Of course, this depends on the particular filesystem, database system, and workload in question. This study shows that when comparing the NTFS file
Versioning Extensions for Linux
, 1999
"... We describe the implementation of a dynamically loadable kernel module that adds versioning capabilities to the Linux operating system. The versioning system provides per-directory policies to control the creation of versions, the maximum number of versions per file, and the access permissions of ve ..."
Abstract
- Add to MetaCart
We describe the implementation of a dynamically loadable kernel module that adds versioning capabilities to the Linux operating system. The versioning system provides per-directory policies to control the creation of versions, the maximum number of versions per file, and the access permissions of version files. The module enables versioning over any file system that does not restrict the format of filenames and maintains forward and backward compatibility with the non-versioned file system. The module replaces system calls that can modify or delete files with ones that create new versions prior to execution of the original system call. The modified system calls present the same semantics to calling programs, making the presence of versioning undetectable. We show that the overhead of versioning is less than 20% for the open system call and less than 40% for the faster close system call. A cache of directory policies significantly reduces the overhead due to versioning during the open system call. Producing a new version results in the system call that causes the versioning to incur a large and file size dependent penalty due to the copy operation.
Design and Analysis of Block-Level Snapshots for Data Protection and Recovery
"... Abstract—This paper presents a comprehensive study on implementations and performance evaluations of two snapshot techniques: copy-on-write snapshot and redirect-on-write snapshot. We develop a simple Markov process model to analyze data block behavior and its impact on application performance, whil ..."
Abstract
- Add to MetaCart
Abstract—This paper presents a comprehensive study on implementations and performance evaluations of two snapshot techniques: copy-on-write snapshot and redirect-on-write snapshot. We develop a simple Markov process model to analyze data block behavior and its impact on application performance, while the snapshot operation is underway at the block-level storage. We have implemented the two snapshots techniques on both Windows and Linux operating systems. Based on our analytical model and our implementation, we carry out quantitative performance evaluations and comparisons of the two snapshot techniques using IoMeter, PostMark, TPC-C, and TPC-W benchmarks. Our measurements reveal many interesting observations regarding the performance characteristics of the two snapshot techniques. Depending on the applications and different I/O workloads, the two snapshot techniques perform quite differently. In general, copy-on-write performs well on read-intensive applications, while redirect-on-write performs well on writeintensive applications.
A Case for Continuous Data Protection at Block Level in Disk Array Storages
, 2009
"... This paper presents a study of data storages for continuous data protection (CDP). After analyzing the existing data protection technologies, we propose a new disk array architecture that provides Timely Recovery to Any Point in time, referred to as TRAP. TRAP stores not only the data stripe upon a ..."
Abstract
- Add to MetaCart
This paper presents a study of data storages for continuous data protection (CDP). After analyzing the existing data protection technologies, we propose a new disk array architecture that provides Timely Recovery to Any Point in time, referred to as TRAP. TRAP stores not only the data stripe upon a write to the array but also the time-stamped Exclusive ORs (XORs) of successive writes to each data block. By leveraging the XOR operations that are performed upon each block write in today’s RAID4/5 controllers, TRAP does not incur noticeable performance overhead. More importantly, TRAP is able to recover data very quickly to any point in time upon data damage by tracing back the sequence and history of XORs resulting from writes. What is interesting is that the TRAP architecture is very space efficient. We have implemented a prototype of the new TRAP architecture using software at the block level and carried out extensive performance measurements using TPC-C benchmarks running on Oracle and Postgres databases, TPC-W running on a MySQL database, and file system benchmarks running on Linux and Windows systems. Our experiments demonstrated that TRAP not only is able to recover data to any point in time very quickly upon a failure but also uses less storage space than traditional daily incremental backup/snapshot. Compared to the state-of-the-art CDP technologies, TRAP saves disk storage space by one to two orders of magnitude with a simple and a fast encoding algorithm. In addition, TRAP can provide two-way data recovery with the availability of only one reference image in contrast to the one-way recovery of snapshot and incremental backup technologies.
2 nd Reader: Pradeep KhoslaArchitecture and Interface of a Self-Securing Object Store
, 2000
"... Self-securing storage prevents intruders from undetectably tampering with or permanently deleting stored data. To accomplish this, self-securing storage devices internally audit all requests and keep all versions of all data for a window of time, regardless of the commands received from potentially ..."
Abstract
- Add to MetaCart
Self-securing storage prevents intruders from undetectably tampering with or permanently deleting stored data. To accomplish this, self-securing storage devices internally audit all requests and keep all versions of all data for a window of time, regardless of the commands received from potentially compromised host operating systems. Within this window, system administrators have valuable information for intrusion diagnosis and recovery. This thesis discusses the architecture behind the Self-Securing Storage Systems ($4) project. It also presents the external interface that the $4 drive uses for communication with client systems. The design and evaluation of the initial S4/NFS client is presented as an example client-side interface to a self-securing object store. 1

