OmniSciDB  6686921089
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DataRecycler.h File Reference
+ Include dependency graph for DataRecycler.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  EMPTY_META_INFO
 
class  CacheItemMetric
 
class  DataRecyclerUtil
 
class  CacheMetricTracker
 
struct  CachedItem< CACHED_ITEM_TYPE, META_INFO_TYPE >
 
class  DataRecycler< CACHED_ITEM_TYPE, META_INFO_TYPE >
 

Typedefs

using DeviceIdentifier = size_t
 
using CacheSizeMap = std::unordered_map< DeviceIdentifier, size_t >
 
using CacheMetricInfoMap = std::unordered_map< DeviceIdentifier, std::vector< std::shared_ptr< CacheItemMetric >>>
 

Enumerations

enum  CacheItemType {
  PERFECT_HT = 0, BASELINE_HT, OVERLAPS_HT, HT_HASHING_SCHEME,
  BASELINE_HT_APPROX_CARD, OVERLAPS_AUTO_TUNER_PARAM, NUM_CACHE_ITEM_TYPE
}
 
enum  CacheAvailability { AVAILABLE, AVAILABLE_AFTER_CLEANUP, UNAVAILABLE }
 
enum  CacheUpdateAction { ADD, REMOVE }
 
enum  CacheMetricType { REF_COUNT = 0, MEM_SIZE, COMPUTE_TIME, NUM_METRIC_TYPE }
 

Typedef Documentation

using CacheMetricInfoMap = std::unordered_map<DeviceIdentifier, std::vector<std::shared_ptr<CacheItemMetric>>>

Definition at line 114 of file DataRecycler.h.

using CacheSizeMap = std::unordered_map<DeviceIdentifier, size_t>

Definition at line 112 of file DataRecycler.h.

using DeviceIdentifier = size_t

Definition at line 111 of file DataRecycler.h.

Enumeration Type Documentation

Enumerator
AVAILABLE 
AVAILABLE_AFTER_CLEANUP 
UNAVAILABLE 

Definition at line 53 of file DataRecycler.h.

53  {
54  AVAILABLE, // item can be cached as is
55  AVAILABLE_AFTER_CLEANUP, // item can be cached after removing already cached items
56  UNAVAILABLE // item cannot be cached due to size limitation
57 };
Enumerator
PERFECT_HT 
BASELINE_HT 
OVERLAPS_HT 
HT_HASHING_SCHEME 
BASELINE_HT_APPROX_CARD 
OVERLAPS_AUTO_TUNER_PARAM 
NUM_CACHE_ITEM_TYPE 

Definition at line 36 of file DataRecycler.h.

36  {
37  PERFECT_HT = 0, // Perfect hashtable
38  BASELINE_HT, // Baseline hashtable
39  OVERLAPS_HT, // Overlaps hashtable
40  HT_HASHING_SCHEME, // Hashtable layout
41  BASELINE_HT_APPROX_CARD, // Approximated cardinality for baseline hashtable
42  OVERLAPS_AUTO_TUNER_PARAM, // Hashtable auto tuner's params for overlaps join
43  // TODO (yoonmin): support the following items for recycling
44  // ROW_RS, Row-wise resultset
45  // COUNTALL_CARD_EST, Cardinality of query result
46  // NDV_CARD_EST, # Non-distinct value
47  // FILTER_SEL Selectivity of (push-downed) filter node
49 };
Enumerator
REF_COUNT 
MEM_SIZE 
COMPUTE_TIME 
NUM_METRIC_TYPE 

Definition at line 66 of file DataRecycler.h.

Enumerator
ADD 
REMOVE 

Definition at line 59 of file DataRecycler.h.

59 { ADD, REMOVE };