OmniSciDB
a5dc49c757
|
Specifies all DataMgr
chunks needed for a query step/request, along with their sizes in bytes. It also keeps track of other metadata to avoid having to recompute this info, such as total_bytes and a vector of total byte sizes for each kernel. The latter is relevant if bytes_scales_per_kernel
is true, as the ExecutorResourceMgr
/ ExecutorResourcePool
can scale back the number of kernels allowed to run simultaneously to ensure that a query step can run.
More...
#include <ResourceRequest.h>
Public Attributes | |
ExecutorDeviceType | device_memory_pool_type {ExecutorDeviceType::CPU} |
std::vector< std::pair < ChunkKey, size_t > > | chunks_with_byte_sizes |
size_t | num_chunks {0} |
size_t | total_bytes {0} |
std::vector< size_t > | bytes_per_kernel |
size_t | max_bytes_per_kernel {0} |
bool | bytes_scales_per_kernel {false} |
Specifies all DataMgr
chunks needed for a query step/request, along with their sizes in bytes. It also keeps track of other metadata to avoid having to recompute this info, such as total_bytes and a vector of total byte sizes for each kernel. The latter is relevant if bytes_scales_per_kernel
is true, as the ExecutorResourceMgr
/ ExecutorResourcePool
can scale back the number of kernels allowed to run simultaneously to ensure that a query step can run.
Definition at line 34 of file ResourceRequest.h.
std::vector<size_t> ExecutorResourceMgr_Namespace::ChunkRequestInfo::bytes_per_kernel |
Definition at line 39 of file ResourceRequest.h.
bool ExecutorResourceMgr_Namespace::ChunkRequestInfo::bytes_scales_per_kernel {false} |
Definition at line 41 of file ResourceRequest.h.
std::vector<std::pair<ChunkKey, size_t> > ExecutorResourceMgr_Namespace::ChunkRequestInfo::chunks_with_byte_sizes |
Definition at line 36 of file ResourceRequest.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::add_chunk_requests_to_allocated_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_chunk_bytes_not_in_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_requested_chunks_not_in_pool(), and ExecutorResourceMgr_Namespace::ExecutorResourcePool::remove_chunk_requests_from_allocated_pool().
ExecutorDeviceType ExecutorResourceMgr_Namespace::ChunkRequestInfo::device_memory_pool_type {ExecutorDeviceType::CPU} |
Definition at line 35 of file ResourceRequest.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::add_chunk_requests_to_allocated_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::allocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::can_currently_satisfy_chunk_request(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::deallocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::determine_dynamic_resource_grant(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_chunk_bytes_not_in_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_requested_chunks_not_in_pool(), and ExecutorResourceMgr_Namespace::ExecutorResourcePool::remove_chunk_requests_from_allocated_pool().
size_t ExecutorResourceMgr_Namespace::ChunkRequestInfo::max_bytes_per_kernel {0} |
Definition at line 40 of file ResourceRequest.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::determine_dynamic_resource_grant().
size_t ExecutorResourceMgr_Namespace::ChunkRequestInfo::num_chunks {0} |
Definition at line 37 of file ResourceRequest.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::add_chunk_requests_to_allocated_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::allocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::deallocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_requested_chunks_not_in_pool(), and ExecutorResourceMgr_Namespace::ExecutorResourcePool::remove_chunk_requests_from_allocated_pool().
size_t ExecutorResourceMgr_Namespace::ChunkRequestInfo::total_bytes {0} |
Definition at line 38 of file ResourceRequest.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::add_chunk_requests_to_allocated_pool(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::allocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::can_currently_satisfy_chunk_request(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::deallocate_resources(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::determine_dynamic_resource_grant(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::get_requested_chunks_not_in_pool(), and ExecutorResourceMgr_Namespace::ExecutorResourcePool::remove_chunk_requests_from_allocated_pool().