OmniSciDB
a5dc49c757
|
#include <HashingSchemeRecycler.h>
Public Member Functions | |
HashingSchemeRecycler () | |
std::numeric_limits () | |
std::numeric_limits () | |
void | putItemToCache (QueryPlanHash key, std::optional< HashType > item, CacheItemType item_type, DeviceIdentifier device_identifier, size_t item_size, size_t compute_time, std::optional< EMPTY_META_INFO > meta_info=std::nullopt) override |
void | initCache () override |
void | clearCache () override |
void | markCachedItemAsDirty (size_t table_key, std::unordered_set< QueryPlanHash > &key_set, CacheItemType item_type, DeviceIdentifier device_identifier) override |
std::string | toString () const override |
Public Member Functions inherited from DataRecycler< std::optional< HashType >, EMPTY_META_INFO > | |
DataRecycler (const std::vector< CacheItemType > &item_types, size_t total_cache_size, size_t max_item_size, int num_gpus) | |
virtual | ~DataRecycler ()=default |
virtual std::optional< HashType > | getItemFromCache (QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, std::optional< EMPTY_META_INFO > meta_info=std::nullopt)=0 |
void | markCachedItemAsDirtyImpl (QueryPlanHash key, CachedItemContainer &m) const |
bool | isCachedItemDirty (QueryPlanHash key, CachedItemContainer &m) const |
std::shared_ptr < CachedItemContainer > | getCachedItemContainer (CacheItemType item_type, DeviceIdentifier device_identifier) const |
std::optional< CachedItem < std::optional< HashType > , EMPTY_META_INFO > > | getCachedItemWithoutConsideringMetaInfo (QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, CachedItemContainer &m, std::lock_guard< std::mutex > &lock) |
size_t | getCurrentNumCachedItems (CacheItemType item_type, DeviceIdentifier device_identifier) const |
size_t | getCurrentNumDirtyCachedItems (CacheItemType item_type, DeviceIdentifier device_identifier) const |
size_t | getCurrentNumCleanCachedItems (CacheItemType item_type, DeviceIdentifier device_identifier) const |
size_t | getCurrentCacheSizeForDevice (CacheItemType item_type, DeviceIdentifier device_identifier) const |
std::shared_ptr< CacheItemMetric > | getCachedItemMetric (CacheItemType item_type, DeviceIdentifier device_identifier, QueryPlanHash key) const |
void | setTotalCacheSize (CacheItemType item_type, size_t new_total_cache_size) |
void | setMaxCacheItemSize (CacheItemType item_type, size_t new_max_cache_item_size) |
Private Member Functions | |
bool | hasItemInCache (QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, std::lock_guard< std::mutex > &lock, std::optional< EMPTY_META_INFO > meta_info=std::nullopt) const override |
void | removeItemFromCache (QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, std::lock_guard< std::mutex > &lock, std::optional< EMPTY_META_INFO > meta_info=std::nullopt) override |
void | cleanupCacheForInsertion (CacheItemType item_type, DeviceIdentifier device_identifier, size_t required_size, std::lock_guard< std::mutex > &lock, std::optional< EMPTY_META_INFO > meta_info=std::nullopt) override |
Definition at line 24 of file HashingSchemeRecycler.h.
|
inline |
Definition at line 30 of file HashingSchemeRecycler.h.
References HT_HASHING_SCHEME.
|
inlineoverrideprivatevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 79 of file HashingSchemeRecycler.h.
|
overridevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 90 of file HashingSchemeRecycler.cpp.
References DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCacheLock(), DataRecyclerUtil::getDeviceIdentifierString(), HT_HASHING_SCHEME, LAYOUT_CACHE_DEVICE_IDENTIFIER, and VLOG.
|
overrideprivatevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 133 of file HashingSchemeRecycler.cpp.
References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), CHECK_EQ, EMPTY_HASHED_PLAN_DAG_KEY, g_enable_data_recycler, g_use_hashtable_cache, DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), and HT_HASHING_SCHEME.
|
inlineoverridevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 51 of file HashingSchemeRecycler.h.
|
overridevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 102 of file HashingSchemeRecycler.cpp.
References CHECK_EQ, g_enable_data_recycler, g_use_hashtable_cache, DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCacheLock(), HT_HASHING_SCHEME, and DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::markCachedItemAsDirtyImpl().
|
overridevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 45 of file HashingSchemeRecycler.cpp.
References CHECK_EQ, EMPTY_HASHED_PLAN_DAG_KEY, g_enable_data_recycler, g_use_hashtable_cache, DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemWithoutConsideringMetaInfo(), DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCacheLock(), DataRecyclerUtil::getDeviceIdentifierString(), HT_HASHING_SCHEME, and VLOG.
|
overrideprivatevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 71 of file HashingSchemeRecycler.cpp.
References DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), DataRecyclerUtil::getDeviceIdentifierString(), and VLOG.
HashingSchemeRecycler::std::numeric_limits | ( | ) |
HashingSchemeRecycler::std::numeric_limits | ( | ) |
|
overridevirtual |
Implements DataRecycler< std::optional< HashType >, EMPTY_META_INFO >.
Definition at line 118 of file HashingSchemeRecycler.cpp.
References DataRecycler< std::optional< HashType >, EMPTY_META_INFO >::getCachedItemContainer(), DataRecyclerUtil::getDeviceIdentifierString(), HashJoin::getHashTypeString(), HT_HASHING_SCHEME, and LAYOUT_CACHE_DEVICE_IDENTIFIER.