FastSlim: Prefetch-Safe Trace Reduction for I/O Cache Simulation
نویسندگان
چکیده
Simulation is an indispensable tool for evaluating I/O systems, complementing benchmarking and analytical modeling. This paper presents a new algorithm, called FastSlim, to reduce the size of I/O traces. FastSlim improves performance of trace-driven simulation of I/O caching systems without compromising simulation accuracy. FastSlim is more general than existing trace reduction schemes in two ways. First, it is prefetch-safe, i.e., traces reduced by FastSlim yield provably exact simulations of I/O systems with prefetching, a key technique for improving I/O performance. Second, it is compatible with a wide range of cache replacement policies, including widely used practical approximations to lru. FastSlim-reduced traces are safe for simulations of storage hierarchies and systems with parallel disks. This paper gives a formal treatment of prefetching and replacement issues for trace reduction, introduces the FastSlim algorithm, proves that FastSlim and variants are safe for a broad range of I/O caching and prefetching systems, and presents experimental results from applying FastSlim to a representative set of virtual out-of-core (VOOC) applications. The results show that FastSlim reduces trace volume by factors of 10 2 to 10 3 for the applications studied. 1 1. INTRODUCTION A key challenge for high-performance computer systems is to bridge the widening gap in bandwidths and access times between internal memory and external storage. One approach to attacking the I/O bottleneck is through software innovations to manage the memory/storage hierarchy more eeectively. Research in this direction has given rise to two important trends. First, many systems extend the storage hierarchy to incorporate parallel disks Patterson et al. 1988], tertiary storage, and multiple levels of DRAM-based I/O cache, e.g., network memory Feeley et al. 1995]. Second, many systems employ new techniques to proactively manage movement and placement of data in the storage hierarchy. In particular, prefetching is now a part of every advanced I/O system, and recent research has yielded a family of integrated prefetching and caching schemes Cao et al. 1995; Kimbrel et al. 1996; Patterson et al. 1995]. The most exible and powerful tool for evaluating new I/O structures is simulation, which handles varying assumptions about the workload and the hardware. Unfortunately, high overhead compromises the usefulness of simulation. While execution-driven simulation eliminates the need to store and process large trace les, it leads to unacceptably high processing costs for evaluating I/O systems. On the other hand, trace les for trace-driven simulation may be very large, leading to excessive costs to store …
منابع مشابه
Practical and Theoretical Issues in Prefetching and Caching
This thesis has two parts, the rst more practical, and the second more theoretical. The rst part considers informed prefetching and caching in which an application provides information about its upcoming I/O accesses to the operating system, allowing the system to prefetch data and to make informed cache replacement decisions. I compare existing algorithms for this problem using trace-driven si...
متن کاملNon-Referenced Prefetch(NRP) Cache for Instruction Prefetching
A new conceptual cache, NRP (Non-Referenced Prefetch) cache, is proposed to improve the performance of instruction prefetch mechanisms which try to prefetch both the sequential and non-sequential blocks under the limited memory bandwidth. The NRP cache is used in storing prefetched blocks which were not referenced by the CPU, while these blocks were discarded in other previous prefetch mechanis...
متن کاملA Performance Study of Instruction Cache Prefetching Methods
Prefetching methods for instruction caches are studied via trace-driven simulation. The two primary methods are “fallthrough” prefetch (sometimes referred to as “one block lookahead”) and “target” prefetch. Fall-through prefetches are for sequential line accesses, and a key parameter is the distance from the end of the current line where the prefetch for the next line is initiated. Target prefe...
متن کاملPrefetching Without Hints: A Cost-Bene t Analysis for Predicted Accesses
Prefetching disk blocks to main memory will become increasingly important to overcome the widening gap between disk access times and processor speeds. We present a prefetching scheme that chooses which blocks to prefetch based on their probability of access and decides whether to prefetch a particular block at a given time using a cost-beneet analysis. To calculate the probability of access of ...
متن کاملDead-block prediction & dead-block correlating prefetchers
Effective data prefetching requires accurate mechanisms to predict both “which” cache blocks to prefetch and “when” to prefetch them. This paper proposes the DeadBlock Predictors (DBPs), trace-based predictors that accurately identify “when” an L1 data cache block becomes evictable or “dead”. Predicting a dead block significantly enhances prefetching lookahead and opportunity, and enables placi...
متن کامل