Results 11 - 20
of
23
RACE: A Robust Adaptive Caching Strategy for Buffer Cache
"... Abstract — While many block replacement algorithms for buffer caches have been proposed to address the wellknown drawbacks of the LRU algorithm, they are not robust and cannot maintain a consistent performance improvement over all workloads. This paper proposes a novel and simple replacement scheme, ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract — While many block replacement algorithms for buffer caches have been proposed to address the wellknown drawbacks of the LRU algorithm, they are not robust and cannot maintain a consistent performance improvement over all workloads. This paper proposes a novel and simple replacement scheme, called RACE, which differentiates the locality of I/O streams by actively detecting access patterns inherently exhibited in two correlated spaces: the discrete block space of program contexts from which I/O requests are issued and the continuous block space within files to which I/O requests are addressed. This scheme combines global I/O regularities of an application and local I/O regularities of individual files accessed in that application to accurately estimate the locality strength, which is crucial in deciding which blocks to be replaced upon a cache miss. Through comprehensive simulations on real-application traces, RACE is shown to significantly outperform LRU and all other state-of-the-art cache management schemes studied in this paper, in terms of absolute hit ratios. I.
PATH: Page Access Tracking to Improve Memory Management
"... Traditionally, operating systems use a coarse approximation of memory accesses to implement memory management algorithms by monitoring page faults or scanning page table entries. With finer-grained memory access information, however, the operating system can manage memory much more effectively. Prev ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Traditionally, operating systems use a coarse approximation of memory accesses to implement memory management algorithms by monitoring page faults or scanning page table entries. With finer-grained memory access information, however, the operating system can manage memory much more effectively. Previous work has proposed the use of a software mechanism based on virtual page protection and soft faults to track page accesses at finer granularity. In this paper, we show that while this approach is effective for some applications, for many others it results in an unacceptably high overhead. We propose simple Page Access Tracking Hardware (PATH) to provide accurate page access information to the operating system. The suggested hardware support is generic and can be used by various memory management algorithms. In this paper, we show how the information generated by PATH can be used to implement (i) adaptive page replacement policies, (ii) smart process memory allocation to improve performance or to provide isolation and better process prioritization, and (iii) effectively prefetch virtual memory pages when applications have non-trivial memory access patterns. Our simulation results show that these algorithms can dramatically improve performance (up to 500%) with PATH-provided information, especially when the system is under memory pressure. We show that the software overhead of processing PATH information is less than 6 % across the applications we examined (less than 3 % in all but two applications), which is at least an order of magnitude less than the overhead of existing software approaches.
Operating Systems Course
, 2007
"... One part of the Operating Systems Course, Winter 2006/2007 of Prof. C. Kirsch (Department of Computer Sciences, University of Salzburg) was to design and implement an operating system in a student chosen programming language. It was required, that the operating system at least includes some concurre ..."
Abstract
- Add to MetaCart
One part of the Operating Systems Course, Winter 2006/2007 of Prof. C. Kirsch (Department of Computer Sciences, University of Salzburg) was to design and implement an operating system in a student chosen programming language. It was required, that the operating system at least includes some concurrency support, memory management, device abstraction, and file handling. This paper presents the main concepts of the Basic Operating System. First, this document describes the goals of the BOS team, followed by the characteristics of BOS and the used development environment. Second, this document outlines memory management, as well as processes and threads. Third, it describes the implementation of inter process communication, input and output, and file systems. Finally, this work describes the class demonstrations, followed by instructions for
A Hybrid Approach to Dynamic Reorganization of Disk Layout for Performance Improvement
"... Since a traditional file system cannot account for runtime reference behavior when making data-placement decisions, performance may degrade severely when the data-access patterns that actually take place at runtime are different from the data relations that the file system has expected. This paper p ..."
Abstract
- Add to MetaCart
Since a traditional file system cannot account for runtime reference behavior when making data-placement decisions, performance may degrade severely when the data-access patterns that actually take place at runtime are different from the data relations that the file system has expected. This paper presents a hybrid approach to rearranging data placements on disk according to the access patterns observed at runtime for performance improvement. It combines replication and migration of data blocks to leverage their respective strengths while compensating for each other’s weaknesses. A two-pass data pruning method is proposed to reclaim the disk space used for replication when available storage is low. Our experimental evaluation has shown that the hybrid approach performs as well as the better of replication and migration in various scenarios. It preserves data sequentiality and reclaims the disk space used for replication without offsetting the performance benefits of replication and migration, and also retains the thus-achieved performance gain even in case of frequent data modifications. The hybrid approach is shown to be superior to either replication or migration alone. 1
An Implementation of Storage Management in Capability Environments
, 1995
"... this paper, we present an approach to the management of a large virtual memory space aimed at solving these problems. We insert partial information concerning the physical allocation of each object into the virtual identifier of this object. Objects are grouped into large swapping units, called page ..."
Abstract
- Add to MetaCart
this paper, we present an approach to the management of a large virtual memory space aimed at solving these problems. We insert partial information concerning the physical allocation of each object into the virtual identifier of this object. Objects are grouped into large swapping units, called pages. The page size is independent of the average object size. This results in enhanced efficiency in managing the relocation information both with regard to memory requirements and access times. The allocation of objects into pages, and the movement of pages through the memory hierarchy, are controlled by user processes. This means that programs which have knowledge of their own use of virtual memory can increase their locality of reference, diminish the number of swap operations and reduce fragmentation
USENIX Association
- In Proceedings of the 2003 Conference on File and Storage Technologies (FAST
, 2004
"... We consider the problem of cache management in a demand paging scenario with uniform page sizes. We propose a new cache management policy, namely, Adaptive Replacement Cache (ARC), that has several advantages. ..."
Abstract
- Add to MetaCart
We consider the problem of cache management in a demand paging scenario with uniform page sizes. We propose a new cache management policy, namely, Adaptive Replacement Cache (ARC), that has several advantages.
IEEE 4 Computer
- Computer
, 2004
"... overhead algorithm that responds online to changing access patterns. ARC continually balances between the recency and frequency features of the workload, demonstrating that adaptation eliminates the need for the workload -specific pretuning that plagued many previous proposals to improve LRU. ..."
Abstract
- Add to MetaCart
overhead algorithm that responds online to changing access patterns. ARC continually balances between the recency and frequency features of the workload, demonstrating that adaptation eliminates the need for the workload -specific pretuning that plagued many previous proposals to improve LRU. ARC's online adaptation will likely have benefits for real-life workloads due to their richness and variability with time. These workloads can contain long sequential I/Os or moving hot spots, changing frequency and scale of temporal locality and fluctuating between stable, repeating access patterns and patterns with transient clustered references. Like LRU, ARC is easy to implement, and its running time per request is essentially independent of the cache size. A real-life implementation revealed that ARC has a low space overhead---0.75 percent of the cache size. Also, unlike LRU, ARC is scanresistant in that it allows one-time sequential requests to pass through without poll
Advanced memory management and disk scheduling techniques for general-purpose operating systems
, 2005
"... Operating systems have evolved into sophisticated, high-performance virtualizing platforms, to support and be fair towards concurrently running applications. How-ever, since applications usually run oblivious of each other and prefer narrow system interfaces, they inadvertently contend for resources ..."
Abstract
- Add to MetaCart
Operating systems have evolved into sophisticated, high-performance virtualizing platforms, to support and be fair towards concurrently running applications. How-ever, since applications usually run oblivious of each other and prefer narrow system interfaces, they inadvertently contend for resources, resulting in inappropriate allo-cations and significant performance degradations. This dissertation identifies and eliminates two such problems: one we call rigidity in physical memory management which we solve using adaptive memory management, and a second we call deceptive idleness in disk schedulers that we solve through anticipatory disk scheduling. Many applications, their libraries, and runtimes can trade memory consumption for performance by maintaining caches, triggering garbage collection, etc. However, due to ignorance of memory pressure in the system, they are forced to be conservative about memory usage. Adaptive memory management is a technique that informs applications of the severity of memory pressure via a metric that quantifies the cost of using memory. This enables applications to allocate memory liberally when available
Management
"... Traditionally, operating systems use a coarse approximation of memory accesses to implement memory management algorithms by monitoring page faults or scanning page table entries. With finer-grained memory access information, however, the operating system can manage memory much more effectively. Prev ..."
Abstract
- Add to MetaCart
Traditionally, operating systems use a coarse approximation of memory accesses to implement memory management algorithms by monitoring page faults or scanning page table entries. With finer-grained memory access information, however, the operating system can manage memory much more effectively. Previous work has proposed the use of a software mechanism based on virtual page protection and soft faults to track page accesses at finer granularity. In this paper, we show that while this approach is effective for some applications, for many others it results in an unacceptably high overhead. We propose simple Page Access Tracking Hardware (PATH) to provide accurate page access information to the operating system. The suggested hardware support is generic and can be used by various memory management algorithms. In this paper, we show how the information generated by PATH can be used to implement (i) adaptive page replacement policies, (ii) smart process memory allocation to improve performance or to provide isolation and better process prioritization, and (iii) effectively prefetch virtual memory pages when applications have non-trivial memory access patterns. Our simulation results show that these algorithms can dramatically improve performance (up to 500%) with PATH-provided information, especially when the system is under memory pressure. We show that the software overhead of processing PATH information is less than 6 % across the applications we examined (less than 3% in all but two applications), which is at least an order of magnitude less than the overhead of existing software approaches. 1.
RESEARCH FEATURE Outperforming LRU with an Adaptive Replacement Cache Algorithm
"... The self-tuning, low-overhead, scan-resistant adaptive replacement cache algorithm outperforms the least-recently-used algorithm by dynamically responding to changing access patterns and continually balancing between workload recency and frequency features. ..."
Abstract
- Add to MetaCart
The self-tuning, low-overhead, scan-resistant adaptive replacement cache algorithm outperforms the least-recently-used algorithm by dynamically responding to changing access patterns and continually balancing between workload recency and frequency features.

