rocksdb/utilities
krad 1f0142ce19 Persistent Read Cache (Part 2) Data structure for building persistent read cache index
Summary:
We expect the persistent read cache to perform at speeds upto 8 GB/s. In order
to accomplish that, we need build a index mechanism which operate in the order
of multiple millions per sec rate.

This patch provide the basic data structure to accomplish that:

(1) Hash table implementation with lock contention spread
    It is based on the StripedHashSet<T> implementation in
    The Art of multiprocessor programming by Maurice Henry & Nir Shavit
(2) LRU implementation
    Place holder algorithm for further optimizing
(3) Evictable Hash Table implementation
    Building block for building index data structure that evicts data like files
    etc

TODO:
(1) Figure if the sharded hash table and LRU can be used instead
(2) Figure if we need to support configurable eviction algorithm for
EvictableHashTable

Test Plan: Run unit tests

Subscribers: andrewkr, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D55785
2016-05-17 13:18:47 -07:00
..
backupable Disable backupable_db_test.cc on Windows 2016-05-11 12:25:32 -07:00
checkpoint
compaction_filters
convenience
document Alpine Linux Build (#990) 2016-04-22 16:49:12 -07:00
flashcache
geodb
leveldb_options
memory
merge_operators
options
persistent_cache Persistent Read Cache (Part 2) Data structure for building persistent read cache index 2016-05-17 13:18:47 -07:00
redis
spatialdb
table_properties_collectors
transactions Fix Transaction memory leak 2016-05-16 16:32:55 -07:00
ttl
write_batch_with_index Modification of WriteBatch to support two phase commit 2016-05-10 14:06:07 -07:00
env_mirror.cc
env_mirror_test.cc
merge_operators.h