buffer.bib
@comment{{This file has been generated by bib2bib 1.96}}
@comment{{Command line: /usr/bin/bib2bib -ob buffer.bib -c 'class : "buffer"' lib.bib}}
@inproceedings{albo03,
author = {Mehmet Altinel and Christof Bornh\:{o}vd and Sailesh Krishnamurthy
and C. Mohan and Hamid Pirahesh and Berthold Reinwald},
title = {Cache Tables: Paving the Way for an Adaptive Database Cache},
booktitle = {Proc. International Conference on Very Large Data Bases},
year = {2003},
pages = {718-729},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/DBCachePaperS22P01.pdf},
url2 = {http://www.almaden.ibm.com/u/mohan/VLDB2003DBCachePaperS22P01.pdf}
}
@inproceedings{aram02,
author = {Ismail Ari and Ahmed Amer and Robert Gramacy and Ethan L. Miller
and Scott Brandt and Darrell D. E. Long},
title = {{ACME}: Adaptive Caching using Multiple Experts},
booktitle = {Workshop on Distributed Data and Structures 4 (WDAS)},
year = {2002},
pages = {143-158},
month = mar,
publisher = {Carleton Scientific},
class = {buffer},
timestamp = {27.12.2008},
url = {http://ssrc.cse.ucsc.edu/Papers/ari-ddas02.pdf},
url2 = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/aram02.pdf}
}
@inproceedings{bamo04,
author = {S. Bansal and D. Modha},
title = {{CAR}: Clock with Adaptive Replacement},
booktitle = {Proc. of the 3nd USENIX Symposium on File and Storage Technologies
(FAST'04)},
year = {2004},
month = mar,
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/bamo04.pdf},
url2 = {http://www.almaden.ibm.com/cs/people/dmodha/clockfast.pdf}
}
@article{bela66,
author = {L. A. Belady},
title = {A study of replacement algorithms for a virtual-storage computer},
journal = {{IBM} Systems Journal},
year = {1966},
volume = {5},
pages = {78-101},
number = {2},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/bela66.pdf}
}
@inproceedings{bopl04,
author = {R. Bonilla-Lucas and Peter Plachta and Aamer Sachedina and Daniel
Jim\'{e}nez-Gonz\'{a}lez and Calisto Zuzarte and Josep-Lluis Larriba-Pey},
title = {Characterization of the data access behavior for {TPC-C} traces},
booktitle = {Proc. IEEE International Symposium on Performance Analysis of Systems
and Software},
year = {2004},
pages = {115-122},
month = mar,
class = {workload buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/bopl04.pdf}
}
@inproceedings{chzh05,
author = {Zhifeng Chen and Yan Zhang and Yuanyuan Zhou and Heidi Scott and
Berni Schiefer},
title = {Empirical evaluation of multi-level buffer cache collaboration for
storage systems},
booktitle = {Proceedings of the International Conference on Measurements and Modeling
of Computer Systems (SIGMETRICS'05)},
year = {2005},
pages = {145-156},
annote = {Compares ``hierarchically aware'' approachs to ``aggressively-collaborative''
approaches. The former are transparent to the storage client (e.g.,
the DBMS), the latter are not. Aggressively-collaborative approaches
include two types of hint-passing: access patterns and application
semantics. Example of semantic hint is a hint that a block will be
read only one time. Even more aggressive is content-aware caching,
where the caches try explicitly to avoid duplication. Also considers
some additional optimizations: Quick eviction of duplicated blocks
(DU) removes pages from the buffer when they are read, Semantics-Directed
Caching (SE) uses ``importance'' values from the storage client (in
an ill-specified way) to affect buffering at the storage server.
General conclusion is that the agressively-collaborative approaches
do not help much compared to the hierarchically-aware approaches.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/chzh05.pdf}
}
@inproceedings{chzh03,
author = {Zhifeng Chen and Yuanyuan Zhou and Kai Li},
title = {Eviction-based cache placement for storage caches},
booktitle = {Proceedings of the USENIX 2003 Annual Technical Conference},
year = {2003},
pages = {269-282},
month = jun,
annote = {Eviction-based placement means that a page is loaded into the storage
cache when it is evicted from the storage client's cache, as opposed
to when it is requested by the client. Proposes tracking evictions
transparently by monitoring the target addresses of read requests.
Evicted pages are prefetched from disk into the storage system cache
at the time of predicted eviction from the storage client cache.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/chzh03.pdf},
url2 = {http://www.usenix.com/publications/library/proceedings/usenix03/tech/full_papers/chen/chen.pdf}
}
@article{duha82,
author = {A. H. Duke and M. H. Hartung and J. D. Huntley and F. J. Marschner},
title = {Buffered Writing in a Peripheral Storage Hierarchy},
journal = {IBM Technical Disclosure Bulletin},
year = {1982},
volume = {25},
pages = {2075-2076},
number = {4},
month = sep,
annote = {Describes a scheme for synchronizing writes in batches, rather than
individually.},
class = {buffer},
hardcopy = {Buffer},
timestamp = {05.08.2008}
}
@techreport{fasc06,
author = {Michael Factor and Assaf Schuster and Gala Yadgar},
title = {Multilevel Cache Management Based on Application Hints},
institution = {Technion Computer Science Department},
year = {2006},
number = {CS-2006-02},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/fasc06.pdf},
url2 = {http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/2006/CS/CS-2006-02.pdf}
}
@article{fitz04,
author = {Brad Fitzpatrick},
title = {Distributed caching with memcached},
journal = {Linux Journal},
year = {2004},
volume = {2004},
pages = {5},
number = {124},
month = aug,
class = {buffer},
timestamp = {23.11.2009},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/fitz04.html},
url2 = {http://www.linuxjournal.com/article/7451}
}
@article{gama08,
author = {Garrod, Charles and Manjhi, Amit and Ailamaki, Anastasia and Maggs,
Bruce and Mowry, Todd and Olston, Christopher and Tomasic, Anthony},
title = {Scalable query result caching for web applications},
journal = {Proc. of the VLDB Endowment},
year = {2008},
volume = {1},
pages = {550-561},
number = {1},
class = {buffer},
doi = {http://doi.acm.org/10.1145/1453856.1453917},
timestamp = {23.11.2009},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/gama08.pdf}
}
@inproceedings{gill08,
author = {Binny Gill},
title = {On Multi-level Exclusive Caching: Offline Optimality and Why Promotions
Are Better Than Demotions},
booktitle = {Proc. USENIX Conference on File and Storage Technologies (FAST'08)},
year = {2008},
pages = {49-65},
annote = {Includes lower and upper bounds on optimal off-line performance for
multi-level
caches.
Proposes a scheme called PROMOTE for managing multi-tier caches. As
a requested page
is passed up through the cache tiers, each cache decides whether it
will be responsible for
caching the page. Once a cache has decided to cache the page, it notifies
the higher level
caches of this by attaching a flag to the page as it is passed up
through tiers. The higher level
caches then do not cache the page. This enforces exclusiveness among
the caches.
Pages that are repeatedly requested should tend to migrate to higher
level caches.
Behaviour on writes is not specified, e.g, can a write affect which
cache is responsible for
a particular page.
This policy requires modification of the caching policies at every
tier, as each tier must
abide by caching decisions made at lower tiers, and must inform upper
tiers of its
decisions.},
class = {buffer},
timestamp = {13.09.2008},
url = {http://www.usenix.org/events/fast08/tech/full_papers/gill/gill.pdf},
url2 = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/gill08.pdf}
}
@inproceedings{jizh04,
author = {Song Jiang and Xiaodong Zhang},
title = {{ULC}: A File Block Placement and Replacement Protocol to Effectively
Exploit Hierarchical Locality in Multi-Level Buffer Caches},
booktitle = {Proc. 24th International Conference on Distributed Computing Systems
(ICDCS'04)},
year = {2004},
pages = {168-177},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/jizh04.pdf}
}
@inproceedings{josh94,
author = {Theodore Johnson and Dennis Shasha},
title = {{2Q}: A Low Overhead High Performance Buffer Management Replacement
Algorithm},
booktitle = {Proc. International Conference on Very Large Data Bases (VLDB'94)},
year = {1994},
pages = {439-450},
class = {buffer},
url = {http://www.vldb.org/conf/1994/P439.PDF}
}
@inproceedings{mali00,
author = {Patrick Martin and Hoi-Ying Li and Min Zheng and Keri Romanufa and
Wendy Powley},
title = {Dynamic Reconfiguration Algorithm: Dynamically Tuning Multiple Buffer
Pools},
booktitle = {11th International Conference on Database and Expert Systems Applications
(DEXA)},
year = {2000},
pages = {92-101},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/martinbpconfig.pdf}
}
@inproceedings{mapo02,
author = {Patrick Martin and Wendy Powley and Xiaoyi Xu},
title = {Configuring Buffer Pools in {DB2 UDB}},
booktitle = {Proc. CASCON},
year = {2002},
class = {buffer}
}
@inproceedings{medh03,
author = {Nimrod Megiddo and Dharmendra S. Modha},
title = {{ARC}: A Self-Tuning, Low Overhead Replacement Cache},
booktitle = {Proc. USENIX Conference on File and Storage Technology (FAST'03)},
year = {2003},
annote = {ARC maintains two LRU queues, one for pages that have been referenced
once and one for pages that have been referenced more than once.
For each queue, there is also a ghost queue that tracks additional
pages. The sizes of the two queues are adjusted dynamically. A hit
in the single-reference ghost queue causes the single-reference queue
to grow. A hit in the multi-reference ghost queue causes the multi-referenced
queue to grow.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/medh03.pdf},
url2 = {http://www.usenix.org/events/fast03/tech/full_papers/megiddo/megiddo.pdf}
}
@inproceedings{muho92,
author = {D. Muntz and P. Honeyman},
title = {Multi-Level Caching in Distributed File Systems - or - Your Cache
Ain't Nuthin' But Trash},
booktitle = {Proceedings of the USENIX Winter Conference},
year = {1992},
pages = {305-313},
month = jan,
annote = {Simulation study of bi-level LRU caches for a distributed file system.
Found that increasing client cache size quickly reduces the hit rate
of the second tier cache.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/muho92.pdf}
}
@inproceedings{onon93,
author = {Elizabeth J. O'Neil and Patrick E. O'Neil and Gerhard Weikum},
title = {The {LRU-K} Page Replacement Algorithm For Database Disk Buffering},
booktitle = {Proceedings of the ACM SIGMOD International Conference on Management
of Data (SIGMOD'93)},
year = {1993},
pages = {297-306},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/onon93.pdf}
}
@inproceedings{pazd91,
author = {Mark Palmer and Stanley Zdonik},
title = {Fido: A Cache That Learns to Fetch},
booktitle = {Proc. Int'l Conference on Very Large Data Bases},
year = {1991},
class = {buffer},
timestamp = {13.09.2008},
url = {http://www.vldb.org/conf/1991/P255.PDF}
}
@inproceedings{phgo95,
author = {Vidyadhar Phalke and Bhaskarpillai Gopinath},
title = {An Inter-Reference Gap Model For Temporal Locality in Program Behavior},
booktitle = {Proceedings of the 1995 ACM SIGMETRICS Joint International Conference
on Measurement and Modeling of Computer Systems},
year = {1995},
pages = {291-300},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/p291-phalke.pdf}
}
@article{saha00,
author = {Prasenjit Sarkar and John H. Hartman},
title = {Hint-based cooperative caching},
journal = {ACM Transactions on Computer Systems},
year = {2000},
volume = {18},
pages = {387-419},
number = {4},
annote = {Describes a cooperative two-level caching system in which first-level
caches may fetch blocks from other first-level caches. A hint is
potentially inaccurate information about the locations of blocks
in the first-level caches.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/saha00.pdf}
}
@inproceedings{soch08,
author = {Gokul Soundararajan and Jin Chen and Mohamed Sharaf and Cristiana
Amza},
title = {Dynamic Partitioning of the Cache Hierarchy in Shared Data Centers},
booktitle = {Proc. Int'l Conference on Very Large Data Bases (VLDB'08)},
year = {2008},
month = aug,
class = {buffer},
timestamp = {13.09.2008},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/soch08.pdf}
}
@inproceedings{wowi02,
author = {Theodore M. Wong and John Wilkes},
title = {My cache or yours? Making storage more exclusive},
booktitle = {USENIX Annual Technical Conference (USENIX 2002)},
year = {2002},
pages = {161-175},
month = jun,
annote = {Notes that storage system caches are often LRU-based, and points
out the multi-tier cache inclusion problem: that a second-tier LRU
cache behind a first-tier LRU cache will contain many of the same
pages as the first-tier cache. Defines a ``demote'' operation to
deal with this problem. Demote sends to the second tier a block that
has been evicted from the first tier. Argues that the cost of sending
these blocks to the second tier is low because storage networks have
lots of bandwidth. Also defines a ``demote'' buffer management policy
for tier two. This puts blocks read by tier one at the LRU end of
the buffer (like our +read-read policy) and puts blocks demoted by
the first tier at the MRU end.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/wowi02.pdf},
url2 = {http://www.hpl.hp.com/personal/John_Wilkes/papers/Wong2002.pdf}
}
@inproceedings{yafa08,
author = {Gala Yadgar and Michael Factor and Kai Li and Assaf Schuster},
title = {MC2: Multiple Clients on a Multilevel Cache},
booktitle = {Proc. Int'l Conference on Distributed Computing Systems (ICDCS'08)},
year = {2008},
month = jun,
annote = {Extends Karma (\cite{yafa07}) two a two-tier scenario in which multiple
clients which share
data also share a second-tier cache. Space is partitioned among clients,
with one additional
partition used for shared data. Within each partition, space is managed
using Karma.},
class = {buffer},
timestamp = {13.09.2008},
url = {http://www.cs.technion.ac.il/~gala/MC2ICDCS08.pdf},
url2 = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/yafa08.pdf}
}
@inproceedings{yafa07,
author = {Gala Yadgar and Michael Factor and Assaf Schuster},
title = {Karma: Know-It-All Replacement for a Multilevel Cache},
booktitle = {Proc. USENIX Conference on File and Storage Technologies (FAST'07)},
year = {2007},
month = feb,
annote = {Assumes caches support read, read-save, and demote. Requires that
blocks by grouped into
ranges by the application. Application must also specify the frequency
of access and access
pattern for each range. Each range is assigned some space in some
cache in the hierarchy,
and each range's space is then managed using a separate replacement
policy. Experiments used
PostgreSQL explain to generate range and access pattern hints - however,
explain data covers
the situation before the DBMS cache.},
class = {buffer},
timestamp = {13.09.2008},
url = {http://www.cs.technion.ac.il/~gala/KarmaFAST07.pdf},
url2 = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/yafa07.pdf}
}
@article{zhch04,
author = {Yuanyuan Zhou and Zhifeng Chen and Kai Li},
title = {Second-Level Buffer Cache Management},
journal = {IEEE Transactions on Parallel and Distributed Systems},
year = {2004},
volume = {15},
number = {7},
month = jul,
annote = {Presents a trace-based characterization of access patterns for second-tier
(L2) buffer caches, noting that L2 cache reference streams don't
exhibit any small reuse distances. Presents the MQ algorithm for
managing L2 cache. MQ uses multiple LRU queues. Pages are promoted
to higher queues according to frequency of reference. Replacements
happen in low queues first. An aging mechanism is used to demote
pages that cool down. Also describes so-called global replacement
algorithms, in which the L2 cache is informed when replacements are
made at L1. Evaluation is by trace-driven simulation and also by
experiment with an storage system cache implementation.},
class = {buffer},
url = {http://www.db.uwaterloo.ca/~kmsalem/lib/lib/zhch04.ps}
}
@comment{{jabref-meta: selector_url:http://www.db.uwaterloo.ca/~kmsalem
/lib/lib/;}}
@comment{{jabref-meta: selector_class:buffer;dbcontrol;grid;other;physi
cal;queryopt;repl;resourcemgmt;secac;storagemgmt;storageperf;storagesy
s;webcontrol;workload;}}
@comment{{jabref-meta: selector_url2:http://www.db.uwaterloo.ca/~kmsale
m/lib/lib/;}}
@comment{{jabref-meta: selector_journal:#tservcomp#;#cacm#;#ibmsysj#;#p
vldb#;#queue#;#record#;#tos#;}}
@comment{{jabref-meta: selector_keywords:}}
@comment{{jabref-meta: selector_booktitle:#damon#;#cidr#;#eurosys#;#fas
t#;#icac#;#icde#;#ladis#;#mascots#;#osdi#;#sigmod#;#socc#;#sosp#;#vldb
#;}}
@comment{{jabref-meta: groupsversion:3;}}
@comment{{jabref-meta: groupstree:
0 AllEntriesGroup:;
1 KeywordGroup:dbcontrol\;0\;class\;dbcontrol\;0\;0\;;
1 KeywordGroup:webcontrol\;0\;class\;webcontrol\;0\;0\;;
1 KeywordGroup:physical\;0\;class\;physical\;0\;0\;;
1 KeywordGroup:storagemgmt\;0\;class\;storagemgmt\;0\;0\;;
1 KeywordGroup:storageperf\;0\;class\;storageperf\;0\;0\;;
1 KeywordGroup:storagesys\;0\;class\;storagesys\;0\;0\;;
1 KeywordGroup:resourcemgmt\;0\;class\;resourcemgmt\;0\;0\;;
1 KeywordGroup:grid\;0\;class\;grid\;0\;0\;;
1 KeywordGroup:repl\;0\;class\;repl\;0\;0\;;
1 KeywordGroup:secac\;0\;class\;secac\;0\;0\;;
1 KeywordGroup:other\;0\;class\;other\;0\;0\;;
1 KeywordGroup:buffer\;0\;class\;buffer\;0\;0\;;
1 KeywordGroup:queryopt\;0\;class\;queryopt\;0\;0\;;
1 KeywordGroup:workload\;0\;class\;workload\;0\;0\;;
}}