OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SystemParameters.h
Go to the documentation of this file.
1 /*
2  * Copyright 2022 HEAVY.AI, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
23 #pragma once
24 
25 #include <string>
26 
28  bool cpu_only = false; // cpu-only execution
29  int num_gpus = -1; // number of gpus to use
30  int start_gpu = 0; // first gpu to use
31  size_t cuda_block_size = 0; // block size for the kernel execution
32  size_t cuda_grid_size = 0; // grid size multiplier (by # SMs) for the kernel execution
33  size_t calcite_max_mem = 1024; // max memory for calcite jvm in MB
34  int omnisci_server_port = 6274; // default port heavydb runs on
35  int calcite_port = 6279; // default port for calcite server to run on
36  std::string ha_group_id; // name of the HA group this server is in
37  std::string ha_unique_server_id; // name of the HA unique id for this server
38  std::string ha_brokers; // name of the HA broker
39  std::string ha_shared_data; // name of shared data directory base
40  std::string master_address; // address the RW master node is located
41  int master_port = 6274; // port the RW master node is listening on
42  bool is_decr_start_epoch; // are we doing a start epoch decrement?
43  size_t cpu_buffer_mem_bytes = 0; // max size of memory reserved for CPU buffers [bytes]
44  size_t gpu_buffer_mem_bytes = 0; // max size of memory reserved for GPU buffers [bytes]
45  // min size of CPU buffer pool memory allocations [bytes], default=256MB
46  size_t min_cpu_slab_size = size_t(1) << 28;
47  // min size of GPU buffer pool memory allocations [bytes], default=256MB
48  size_t min_gpu_slab_size = size_t(1) << 28;
49  // max size of CPU buffer pool memory allocations [bytes], default=4GB
50  size_t max_cpu_slab_size = size_t(1) << 32;
51  // max size of GPU buffer pool memory allocations [bytes], default=4GB
52  size_t max_gpu_slab_size = size_t(1) << 32;
53  double gpu_input_mem_limit = 0.9; // Punt query to CPU if input mem exceeds % GPU mem
54  std::string config_file = "";
55  std::string ssl_cert_file = ""; // file path to server's certified PKI certificate
56  std::string ssl_key_file = ""; // file path to server's' private PKI key
57  std::string ssl_trust_store = ""; // file path to java jks version of ssl_key_fle
58  std::string ssl_trust_password = "";
59  std::string ssl_keystore = "";
60  std::string ssl_keystore_password = ""; // pass phrae for java jks trust store.
61  std::string ssl_trust_ca_file = "";
63  bool aggregator = false;
65  true; // allow calcite to optimize the relalgebra for a view query
66  size_t calcite_timeout = 5000; // calcite connect/send/receive timeout
67  size_t calcite_keepalive = false; // calcite keepalive connection
68  int num_executors = 4;
69  int num_sessions = -1; // maximum number of user sessions
70  size_t buffer_page_size = 512;
72  DISALLOWED,
75  };
78 
80 };
std::string ha_shared_data
bool enable_calcite_view_optimize
std::string config_file
std::string ha_brokers
std::string ssl_trust_ca_file
std::string ssl_trust_store
std::string ha_unique_server_id
std::string ssl_key_file
RuntimeUdfRegistrationPolicy runtime_udf_registration_policy
std::string ssl_keystore_password
std::string ssl_trust_password
std::string ssl_keystore
std::string ha_group_id
std::string master_address
std::string ssl_cert_file