[config] ## The installation directory install_dir = INSTALL_DIR ## The type of API to call the cluster controller cloud_api_type = ganeti ## The dir that contains the credentials downloaded from Eucalyptus Web frontend #euca_rc_dir = /root/creds/ ## The bucket that contains the emi to use. All dbs are installed in the /opt directory inside the image. bucket_name = snf-image+cassandra310 ## The default size for instances instance_type = 10000_4_10000 ## The name of the cluster cluster_name = thanos-ganeti ## The template for instance hostnames hostname_template = ganeti-nodes- ## Are we reconfiguring an existing cluster? reconfigure = False ## Cluster type (supported types are: HBASE, HBASE92, HBASE94, CASSANDRA,CASSANDRA115,CASSANDRA223, RIAK) cluster_type = CASSANDRA310 ## Temporary database location db_file = INSTALL_DIR/eMRE.LOGS.tiramola.db #set logs folder name logs_folder_name = LOGS ##set the logging level logging_level=debug ##okeanos configuration ##Private network id (to add created VMs) network_id = 41098 network_id_2 = 43308 okeanos_compute_public_url = https://cyclades.okeanos.grnet.gr/compute/v2.0 okeanos_token = D77IVpU4BbzO9jJXV_kdeMGo0L5FNSzc1gCQsitFWkA clients_bucket_name = snf-image+ycsb clients_instance_type = 10000_2_8000 training_set_name = TRAINING_SET_NAME_VAR training_set_length = TRAINING_SET_LENGTH reward_function_name = REWARD_FUNCTION_NAME_VAR ## Prism executable path prism_file_path = PRISM_PATH_VAR prism_multi_file_path = PRISM_MULTI_PATH_VAR prism_output_folder = PRISM_OUTPUT_FOLDER ## model configuration max_steps = MAXSTEPS cumulative = CUMULATIVE ##simulation configuration simulation = SIMULATION_VAR sim_meas_count = MEAS_COUNT_VAR iteration = ITERATION_VAR sim_new_inlambda = PRODUCE_NEW_INLAMBDA_VAR load_meas_log = LOAD_MEAS_LOG sim_inlambda_file_path = LOAD_FILE_VAR ##elasticity configuration ## Starting one master and one node originally (min = 2) initial_cluster_size=INIT_VAR min_cluster_size=MIN_VAR ## Maximum cluster size (cost considerations) max_cluster_size=MAX_VAR ## How many nodes to add in each add action add_nodes = ADD_VAR ## How many nodes to remove in each add action rem_nodes = REM_VAR num_of_clusters = CLUSTERS_VAR gain_punishment = PUNISHMENT weighted_reward = WEIGHTEDREWARD latency_threshold = LATENCY_VAR window_inlambda = WINDOW_VAR ewma_inlambda = EWMA_VAR violation_cluster = VIOLATIONCLUSTER hourly = HOURLY ##attack attack = ATTACK transient_counter_limit = TRANSIENTCOUNTER ##policy configuration (only one True at a time) ##policy type (supported types are: RL-TB, MDP-TB, MDP-EB, MDP-EBG, MDP2, MDP3) policy = POLICY_VAR ##policy case type (supported types are: NOPROB, PROB, RF, RAF) policy_case = POLICYCASE accepted_percentage = ACCEPTANCEPERC spot_prices_db = SPOTPRICEDB ########## BASED ON LAMBDA AND LATENCY ################ ## Average max throughput per server serv_throughput = SERVER_THROUGHPUT_VAR ## Cost function that provides the state transition cost for the FSMDecisionMaker #trans_cost = 1 ## The gain function of staying at a particular state. This in essense is a rate. #gain = max(0,(( min( max_throughput, inlambda) - max(0, (latency-2000)/1000.0)*max_throughput ) * 0.002 ) - (num_nodes * 0.4) ) ## Rigged gain for rebalancing ## Force add nodes #gain = num_nodes ## Force remove nodes #gain = -1 * num_nodes ######### BASED ON PERFORMANCE ############### #gain=throughput/num_nodes #gain=1.0/num_nodes gain=GAIN_VAR trans_cost = 0 ########## BASED ON "r3(s)=B×thr−C×|VMs|^2" of Tirmaola_Socc2012_submission ################ #gain = 0.01*throughput #trans_cost = 0.2*(num_nodes*num_nodes) ########## BASED ON CPU ONLY ################ ## Cost function that provides the state transition cost for the FSMDecisionMaker #trans_cost = ((max_throughput * 0.0001) - (added_nodes * cpu)) ## The gain function of staying at a particular state. This in essense is a rate. #gain = ((num_nodes * cpu ) - (num_nodes * 40)) ########## BASED ON LATENCY ################ ## Cost function that provides the state transition cost for the FSMDecisionMaker #trans_cost = ((max_throughput * 0.002 * 0.9) + (added_nodes * 10000 * 0.002)) ## The gain function of staying at a particular state. This in essense is a rate. #gain = ((max_throughput * 0.002) - (num_nodes * 400) + (latency * max_throughput * 0.01)) [thresholds_add] ## Add the thresholds that the Coordinator will monitor and decide whether to add/remove nodes. ## The metrics that follow provide example setup. #mem_free = low_1000000 #disk_free = low_%10 #load_five = high_0.4 #cpu_idle = low_60 #cpu_wio = low_5 #load_five = high_10 [thresholds_remove] #mem_free = high_11000000 #load_five = low_1 #cpu_idle = high_85 #load_five = low_0