-
Notifications
You must be signed in to change notification settings - Fork 0
/
paperSummaries.txt
98 lines (81 loc) · 4.78 KB
/
paperSummaries.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
\subsection{Locality}
All computer caches work by exploiting spatial and temporal locality.
Research has been done looking into maximizing these traits for web application caching.\cite{onCachingSearchEngineResults}\cite{cacheAdmissionPolicies}
\section{Summaries}
triggerBasedORM \cite{triggerBasedORM}
Proposes CacheGenie: a caching middleware which makes it easy for web application developers to use caching mechanisms in their applications.
Developer doesn't worry about cache invalidation while writing application code.
Uses memcached.
Uses database triggers to update/invalidate cache.
Various consistency schemes.
Caching lists and incrementally updating contents.
sqlCached \cite{sqlCached}
Didn't like Memcached so they wrote their own caching thing using sqllite.
Specifically wanted rich querying and complex data.
cacheInvalidationWebSearch \cite{cacheInvalidationWebSearch}
Web search caching.
Online cache invalidation.
Query-driven cache invalidationf ramework - invalidation devision occurs on cache hit which avoids redundant invalidations.
Use generation time of cached queries.
Handles additions, updates, and deletions.
refreshingPerspectiveSearch \cite{refreshingPerspectiveSearch}
Eviction policies are not the issue because of the size of caches - freshness is.
Use a TTL and let it expire - easy but not very good.
Propose a strategy that refreshes caches, the time being dynamic - this is in addition to TTLs.
cacheAdmissionPolicies \cite{cacheAdmissionPolicies}
Proposes admission policies to prevent infrequent or even singleton queries from polluting the cache.
Temporal locality.
Singleton queries are single results that never occur again and increases cache misses because of evictions.
Propose optimal admission policy over LRU that uses a heuristic to separate infrequent queries from frequent ones.
Two stage cache - one for admission regulated queries and another for all other ones using LRU.
Uses previous data to determine important ones.
designTradOffs \cite{designTradeOffsSearchEngine}
Studies trade-offs in static vs. dynamic caching, caching query results vs. caching posting lists.
Correlates to the knapsack problem (optimal packing) for static cache.
You know frequencies and sizes beforehand and can take a long time to come up with the best set to cache.
keyBasedCacheExpiration \cite{keyBasedCacheExpiration}
Generational caching - use last modified as part of the cache key so you don't ever have to explicitly delete anything.
Automatically invalidates all of your caches.
comparisonOfCachingSolutions \cite{comparisonOfCachingSolutions}
Caching dynamic pages is difficult so do fragments of HTML instead.
Proposes Dynamic Content Acceleration solution which does just that.
Mentions observation-based invalidation.
timestamp \cite{timestampCacheInvalidation}
Include last updated timestamp for queries and predict when the data is stale.
Predict when items are stale and update them accordingly.
onCachingSerachEngineREsults \cite{onCachingSearchEngineResults}
Investigates replacement policies.
Looks at static caching.
Locality is key.
scalableConsistentCaching \cite{scalableConsistentCaching}
Data Update Propagation system that maintains dependence information between cached objects and their underlying data.
Uses graph traversals to do stuff.
Cache fragments of HTML.
Object dependence graph to represent dependencies.
Prefetching pages -> generate new content immediately and replace cache on top so every page load is a cache hit.
Use database triggers to update values used in caching.
Avoid cache stampedes by prefetching and updating caches in place (don't invalidate).
cachingdynamicWebContent \cite{cachingDynamicWebContent}
Fine grained invalidation is essential
Parse SQL queries to invalidate caches
gumball \cite{gumball}
Race condition prevention technique for middle-tier caches
sql query to trigger translation a novel consitency technique for cache augmented (no bibtex yet)
DB triggers to invalidate and update cache.
Caches query results automatically or application can do it manually.
txCache \cite{txCache}
Cacheable functions.
Transactional consistency.
Cache has validity interval built in.
Introduces race conditions.
Modify the DB to allow queries on past sets of data.
Invalidate caches by examining the query execution plan.
During a cacheable function, listen for DB calls and accumulate validity intervals which are aggregated into the cached object's validity interval.
MediaWiki distinguishes transactions between ones that need to see the latest version of the DB and ones that don't. This is because master/slave replication delay and stale data.
dataFreshness \cite{dataFreshness}
Materialized/non materialized views
asynchronous cache
quality of data, quality of service
lazyBase \cite{lazyBase}
Pipelined approach to meeting user specified query freshness and performance
DIDN'T READ