OmniSciDB
a5dc49c757
|
Specifies the policies for resource grants in the presence of other requests, both under situations of resource undersubscription (i.e there are still resources of the given type in the pool) and oversubscription. More...
#include <ResourceGrantPolicy.h>
Public Member Functions | |
ConcurrentResourceGrantPolicy () | |
ConcurrentResourceGrantPolicy (const ResourceType resource_type, const ResourceConcurrencyPolicy concurrency_policy, const ResourceConcurrencyPolicy oversubscription_concurrency_policy) | |
bool | operator== (const ConcurrentResourceGrantPolicy &rhs) const |
std::string | to_string () const |
Public Attributes | |
ResourceType | resource_type {ResourceType::INVALID_TYPE} |
The type of a resource this concurrent resource grant policy pertains to. More... | |
ResourceConcurrencyPolicy | concurrency_policy {DISALLOW_REQUESTS} |
The grant policy in effect when there are concurrent requests for the resource specified by resource_type , but the resource is not oversubscribed (i.e. requested in greater quantity between all requests than is available) More... | |
ResourceConcurrencyPolicy | oversubscription_concurrency_policy {DISALLOW_REQUESTS} |
The grant policy in effect when there are concurrent requests for the resource specified by resource_type , and the resource is oversubscribed (i.e. requested in greater quantity between all requests than is available) More... | |
Specifies the policies for resource grants in the presence of other requests, both under situations of resource undersubscription (i.e there are still resources of the given type in the pool) and oversubscription.
For example, it may make sense to allow concurrent grants for CPU threads (via ResourceConcurrencyPolicy::ALLOW_CONCURRENT_REQUESTS
), but if there would be oversubscription of CPU threads, to only allow a single request for that type to run (via `ResourceConcurrencyPolicyALLOW_SINGLE_REQUEST). Or if the desired policy was to have GPU requests run alone in the system, ConcurrentResourceGrantPolicy::concurrency_policy
could be set to `ResourceConcurrencyPolicy::ALLOW_SINGLE_REQUEST_GLOBALLY1
Definition at line 172 of file ResourceGrantPolicy.h.
|
inline |
Definition at line 192 of file ResourceGrantPolicy.h.
|
inline |
Definition at line 194 of file ResourceGrantPolicy.h.
bool ExecutorResourceMgr_Namespace::ConcurrentResourceGrantPolicy::operator== | ( | const ConcurrentResourceGrantPolicy & | rhs | ) | const |
Definition at line 131 of file ResourceGrantPolicy.cpp.
References concurrency_policy, oversubscription_concurrency_policy, and resource_type.
std::string ExecutorResourceMgr_Namespace::ConcurrentResourceGrantPolicy::to_string | ( | ) | const |
Definition at line 138 of file ResourceGrantPolicy.cpp.
References concurrency_policy, ExecutorResourceMgr_Namespace::get_resource_concurrency_policy_string(), oversubscription_concurrency_policy, resource_type, and ExecutorResourceMgr_Namespace::resource_type_to_string().
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::log_parameters().
ResourceConcurrencyPolicy ExecutorResourceMgr_Namespace::ConcurrentResourceGrantPolicy::concurrency_policy {DISALLOW_REQUESTS} |
The grant policy in effect when there are concurrent requests for the resource specified by resource_type
, but the resource is not oversubscribed (i.e. requested in greater quantity between all requests than is available)
Definition at line 183 of file ResourceGrantPolicy.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::check_request_against_global_policy(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::check_request_against_policy(), operator==(), ExecutorResourceMgr_Namespace::ExecutorResourceMgr::set_concurrent_resource_grant_policy(), and to_string().
ResourceConcurrencyPolicy ExecutorResourceMgr_Namespace::ConcurrentResourceGrantPolicy::oversubscription_concurrency_policy {DISALLOW_REQUESTS} |
The grant policy in effect when there are concurrent requests for the resource specified by resource_type
, and the resource is oversubscribed (i.e. requested in greater quantity between all requests than is available)
Definition at line 190 of file ResourceGrantPolicy.h.
Referenced by ExecutorResourceMgr_Namespace::ExecutorResourcePool::check_request_against_global_policy(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::check_request_against_policy(), operator==(), ExecutorResourceMgr_Namespace::ExecutorResourceMgr::set_concurrent_resource_grant_policy(), and to_string().
ResourceType ExecutorResourceMgr_Namespace::ConcurrentResourceGrantPolicy::resource_type {ResourceType::INVALID_TYPE} |
The type of a resource this concurrent resource grant policy pertains to.
Definition at line 176 of file ResourceGrantPolicy.h.
Referenced by operator==(), ExecutorResourceMgr_Namespace::ExecutorResourceMgr::set_concurrent_resource_grant_policy(), ExecutorResourceMgr_Namespace::ExecutorResourcePool::set_concurrent_resource_grant_policy(), and to_string().