Results 1 - 10
of
13
EELRU: Simple and Effective Adaptive Page Replacement
- IN PROCEEDINGS OF THE 1999 ACM SIGMETRICS CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS
, 1999
"... Despite the many replacement algorithms proposed throughout the years, approximations of Least Recently Used (LRU) replacement are predominant in actual virtual memory management systems because of their simplicity and efficiency. LRU, however, exhibits well-known performance problems for regular ac ..."
Abstract
-
Cited by 51 (1 self)
- Add to MetaCart
Despite the many replacement algorithms proposed throughout the years, approximations of Least Recently Used (LRU) replacement are predominant in actual virtual memory management systems because of their simplicity and efficiency. LRU, however, exhibits well-known performance problems for regular access patterns over more pages than the main memory can hold (e.g., large loops). In this paper we present Early Eviction LRU (EELRU). EELRU is a simple adaptive replacement algorithm, which uses only the kind of information needed by LRU---how recently each page has been touched relative to the others. It exploits this information more effectively than LRU, using a simple on-line cost/benefit analysis to guide its replacement decisions. In the very common situations where LRU is good, EELRU is good because it behaves like LRU. In common worst cases for LRU, EELRU is significantly better, and in fact close to optimal as it opts to sacrifice some pages to allow others to stay in memory longer....
Cramm: Virtual memory support for garbage-collected applications
- In USENIX Symposium on Operating Systems Design and Implementation
, 2006
"... Existing virtual memory systems usually work well with applications written in C and C++, but they do not provide adequate support for garbage-collected applications. The performance of garbage-collected applications is sensitive to heap size. Larger heaps reduce the frequency of garbage collections ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
Existing virtual memory systems usually work well with applications written in C and C++, but they do not provide adequate support for garbage-collected applications. The performance of garbage-collected applications is sensitive to heap size. Larger heaps reduce the frequency of garbage collections, making them run several times faster. However, if the heap is too large to fit in the available RAM, garbage collection can trigger thrashing. Existing Java virtual machines attempt to adapt their application heap sizes to fit in RAM, but suffer performance degradations of up to 94 % when subjected to bursts of memory pressure. We present CRAMM (Cooperative Robust Automatic Memory Management), a system that solves these problems. CRAMM consists of two parts: (1) a new virtual memory system that collects detailed reference information for (2) an analytical model tailored to the underlying garbage collection algorithm. The CRAMM virtual memory system tracks recent reference behavior with low overhead. The CRAMM heap sizing model uses this information to compute a heap size that maximizes throughput while minimizing paging. We present extensive empirical results demonstrating CRAMM’s ability to maintain high performance in the face of changing application and system load. 1
Trace Reduction for Virtual Memory Simulations
"... The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we presenttwonew algorithms for trace reduction --- Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exac ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we presenttwonew algorithms for trace reduction --- Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exact simulations for common replacement policies and for memories larger than a user-defined threshold. In particular, simulation on OLR-reduced traces is accurate for the LRU replacement algorithm, while simulation on SAD-reduced traces is accurate for the LRU and OPT algorithms. OLR also satisfies an optimality property: for a given trace and memory size it produces the shortest possible trace that has the same LRU behavior as the original for a memory of at least this size. Our approach has multiple applications, especially in simulating virtual memory systems
Autonomic Heap Sizing: Taking Real Memory into Account
- In Proceedings of the 2004 ACM SIGPLAN International Symposium on Memory Management
, 2004
"... The selection of heap size has an enormous impact on the performance of applications that use garbage collection. A heap that barely meets the application's minimum requirements will result in excessive garbage collection overhead, while a heap that exceeds physical memory will cause paging. Choosin ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
The selection of heap size has an enormous impact on the performance of applications that use garbage collection. A heap that barely meets the application's minimum requirements will result in excessive garbage collection overhead, while a heap that exceeds physical memory will cause paging. Choosing the best heap size a priori is impossible in multiprogrammed environments, where physical memory allocated to each process constantly changes. This paper presents an autonomic heap-sizing algorithm that one can apply to different underlying garbage collectors with only modest modifications. It relies on a combination of analytical models and detailed information from the virtual memory manager. The analytical models characterize the relationship between collection algorithm, heap size, and footprint. The virtual memory manager tracks recent reference behavior, and reports the current footprint and allocation to the collector. The garbage collector then uses those values as inputs to its model to compute a heap size that maximizes throughput while minimizing paging. We show that by using our adaptive heap sizing algorithm, we can reduce running time over fixed-sized heaps by as much as 90%.
Flexible Reference Trace Reduction for VM Simulations
- ACM TRANS. MODEL. COMPUT. SIMUL
, 2003
"... The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we present two new algorithms for trace reduction--Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exa ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
The unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we present two new algorithms for trace reduction--Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exact simulations for common replacement policies and for memories larger than a user-defined threshold. In particular, simulation on OLR-reduced traces is accurate for the LRU replacement algorithm, while simulation on SAD-reduced traces is accurate for the LRU and OPT algorithms. Both policies can easily be modified and extended to maintain timing information, thus allowing for exact simulation of the Working Set and VMIN policies. OLR also satisfies an optimality property: for a given original trace and chosen memory size, it produces the shortest possible reduced trace that has the same LRU behavior as the original for a memory of at least the chosen size. We present a proof of this optimality of OLR, and show that SAD, while not optimal, yields nearly optimal performance in practice. Our
Buffer Management in Distributed Database Systems: A Data Mining-Based Approach
- In Proc. of VI Int'l on Extending Database Technology
, 1998
"... . In this paper, we propose a data mining-based approach to public buffer management in distributed database systems where database buffers are organized into two areas: public and private. While the private buffer areas contain pages to be updated by particular users, the public buffer area contain ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
. In this paper, we propose a data mining-based approach to public buffer management in distributed database systems where database buffers are organized into two areas: public and private. While the private buffer areas contain pages to be updated by particular users, the public buffer area contains pages shared among users from different sites. Different from traditional buffer management strategies where limited knowledge of user access patterns is used, the proposed approach discovers knowledge from page access sequences of user transactions and uses it to guide public buffer placement and replacement. The knowledge to be discovered and the discovery algorithms are discussed. The effectiveness of the proposed approach was investigated through a simulation study. The results indicate that with the help of the discovered knowledge, the public buffer hit ratio can be improved significantly. 1 Introduction Due to the higher cost of fetching data from disk than from RAM, most database ...
Multicache-based Content Management for Web Caching
, 2000
"... Large scale web caches are in fact localized sources of web contents. Besides replacement policies, which decide the contents of a cache, the management of such contents is an issue of special significance to web caching. This paper introduces our ongoing work on the research of cache content manage ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Large scale web caches are in fact localized sources of web contents. Besides replacement policies, which decide the contents of a cache, the management of such contents is an issue of special significance to web caching. This paper introduces our ongoing work on the research of cache content management. We propose a multicache based content management scheme in which web contents are distributed to several subcaches rather than maintained in a monolithic priority queue. This scheme is suitable for managing large cache space and capable of implementing sophisticated control logic. The efficiency of this scheme is demonstrated by design and implementation of a new replacement policy. Trace-driven simulations are used to evaluate these results.
Optimal Trace Reduction for LRU-based Simulations
, 1998
"... LRU is a well-known buffer management policy under which an element buffer of size k always stores the k most recently used elements. Many variants of the policy are widely used in memory systems (e.g., virtual memory subsystems). We study a simple-to-state algorithmic problem called the LRU trace r ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
LRU is a well-known buffer management policy under which an element buffer of size k always stores the k most recently used elements. Many variants of the policy are widely used in memory systems (e.g., virtual memory subsystems). We study a simple-to-state algorithmic problem called the LRU trace reduction problem: for a sequence of references to elements (a reference trace), compute the shortest sequence with identical LRU behavior for buffers of at least a given size. Despite the straightforward statement of the problem, its solution is non-trivial. We offer an efficient algorithm with important practical applications in performance analysis.
Buffer Replacement Using Online Optimization by Mining
"... this report, we are only interested in a technique used for discovering association rules. The problem of mining association rules was introduced in [3] using an example in the supermarket. In the supermarket, bar-code technology has made it possible to collect the so called basket data that store i ..."
Abstract
- Add to MetaCart
this report, we are only interested in a technique used for discovering association rules. The problem of mining association rules was introduced in [3] using an example in the supermarket. In the supermarket, bar-code technology has made it possible to collect the so called basket data that store items purchased on a per-transaction basis. An example of an association rule that can be mined from these basket data will be "30% of the transactions contain bread and butter, out of these transactions, 90% purchase milk".

