Skip to content

Commit 89756bb

Browse files
committed
Changes configuration keys for workflow offloading policy
1 parent 49e00d0 commit 89756bb

5 files changed

Lines changed: 24 additions & 23 deletions

File tree

internal/config/keys.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,29 +78,29 @@ const TRACING_ENABLED = "tracing.enabled"
7878
// Custom output file for traces
7979
const TRACING_OUTFILE = "tracing.outfile"
8080

81-
// Offloading policy to use
81+
// Workflow offloading policy to use
8282
// Possible values: "disable", "ilp"
83-
const OFFLOADING_POLICY = "offloading.policy"
83+
const WORKFLOW_OFFLOADING_POLICY = "workflow.offloading.policy"
8484

8585
// Port used by ILP Offloading Policy for solving the ILP formulation
86-
const OFFLOADING_POLICY_OPTIMIZER_PORT = "offloading.policy.optimizer.port"
86+
const WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_PORT = "workflow.offloading.policy.optimizer.port"
8787

8888
// IP address / hostname used by ILP Offloading Policy for solving the ILP formulation
89-
const OFFLOADING_POLICY_OPTIMIZER_HOST = "offloading.policy.optimizer.host"
89+
const WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_HOST = "workflow.offloading.policy.optimizer.host"
9090

9191
// Number of times a scheduling plan can be reused before being re-computed
92-
const OFFLOADING_POLICY_ILP_PLACEMENT_TTL = "offloading.policy.ilp.placement.ttl"
92+
const WORKFLOW_OFFLOADING_POLICY_ILP_PLACEMENT_TTL = "workflow.offloading.policy.ilp.placement.ttl"
9393

9494
// Monetary computation cost per region (Map: string -> float)
95-
const OFFLOADING_POLICY_REGION_COST = "offloading.policy.region.cost"
95+
const WORKFLOW_OFFLOADING_POLICY_REGION_COST = "workflow.offloading.policy.region.cost"
9696

9797
// Weight of objective terms in the ILP offloading policy
98-
const OFFLOADING_POLICY_ILP_OBJ_WEIGHT_VIOLATIONS = "offloading.policy.ilp.obj.violations"
99-
const OFFLOADING_POLICY_ILP_OBJ_WEIGHT_DATA_TRANSFERS = "offloading.policy.ilp.obj.data"
100-
const OFFLOADING_POLICY_ILP_OBJ_WEIGHT_COST = "offloading.policy.ilp.obj.cost"
98+
const WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_VIOLATIONS = "workflow.offloading.policy.ilp.obj.violations"
99+
const WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_DATA_TRANSFERS = "workflow.offloading.policy.ilp.obj.data"
100+
const WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_COST = "workflow.offloading.policy.ilp.obj.cost"
101101

102102
// Estimated bandwidth between the current node and the data store
103-
const OFFLOADING_POLICY_NODE_TO_DATA_STORE_BANDWIDTH = "offloading.policy.node2datastore.bandwidth"
103+
const WORKFLOW_OFFLOADING_POLICY_NODE_TO_DATA_STORE_BANDWIDTH = "workflow.offloading.policy.node2datastore.bandwidth"
104104

105105
// Estimated bandwidth between cloud nodes and the data store
106-
const OFFLOADING_POLICY_CLOUD_TO_DATA_STORE_BANDWIDTH = "offloading.policy.cloud2datastore.bandwidth"
106+
const WORKFLOW_OFFLOADING_POLICY_CLOUD_TO_DATA_STORE_BANDWIDTH = "workflow.offloading.policy.cloud2datastore.bandwidth"

internal/workflow/heftless_policy.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ func (policy *HEFTlessPolicy) Evaluate(r *Request, p *Progress) (OffloadingDecis
3838

3939
params := prepareParameters(r, p)
4040
if r.QoS.MaxRespT <= 0.0 {
41+
// User did not specify a deadline
4142
params.Deadline = 99999
4243
}
4344

@@ -48,8 +49,8 @@ func (policy *HEFTlessPolicy) Evaluate(r *Request, p *Progress) (OffloadingDecis
4849
}
4950

5051
// Create POST request
51-
optimizerHost := config.GetString(config.OFFLOADING_POLICY_OPTIMIZER_HOST, "localhost")
52-
optimizerPort := config.GetInt(config.OFFLOADING_POLICY_OPTIMIZER_PORT, 8080)
52+
optimizerHost := config.GetString(config.WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_HOST, "localhost")
53+
optimizerPort := config.GetInt(config.WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_PORT, 8080)
5354
url := fmt.Sprintf("http://%s:%d/heftless", optimizerHost, optimizerPort)
5455
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
5556
if err != nil {

internal/workflow/ilp_offloading_policy.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ func (policy *IlpOffloadingPolicy) Evaluate(r *Request, p *Progress) (Offloading
4242
}
4343

4444
// Create POST request
45-
ilpOptimizerHost := config.GetString(config.OFFLOADING_POLICY_OPTIMIZER_HOST, "localhost")
46-
ilpOptimizerPort := config.GetInt(config.OFFLOADING_POLICY_OPTIMIZER_PORT, 8080)
45+
ilpOptimizerHost := config.GetString(config.WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_HOST, "localhost")
46+
ilpOptimizerPort := config.GetInt(config.WORKFLOW_OFFLOADING_POLICY_OPTIMIZER_PORT, 8080)
4747
url := fmt.Sprintf("http://%s:%d/ilp", ilpOptimizerHost, ilpOptimizerPort)
4848
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
4949
if err != nil {
@@ -72,7 +72,7 @@ func (policy *IlpOffloadingPolicy) Evaluate(r *Request, p *Progress) (Offloading
7272
return OffloadingDecision{Offload: false}, fmt.Errorf("decoding response: %w", err)
7373
}
7474

75-
defaultTTL := config.GetInt(config.OFFLOADING_POLICY_ILP_PLACEMENT_TTL, 2) - 1
75+
defaultTTL := config.GetInt(config.WORKFLOW_OFFLOADING_POLICY_ILP_PLACEMENT_TTL, 2) - 1
7676
cacheSolution(r, &placement, defaultTTL)
7777

7878
for k, v := range placement {

internal/workflow/remote_offloading_policy.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,12 +181,12 @@ func prepareParameters(r *Request, p *Progress) *remotePolicyParams {
181181
params.HandlingNode = LOCAL
182182
params.NodeMemory[LOCAL] = (float64)(node.Resources.AvailableMemMB)
183183

184-
wViolations := config.GetFloat(config.OFFLOADING_POLICY_ILP_OBJ_WEIGHT_VIOLATIONS, 0.33)
185-
wDataTransfers := config.GetFloat(config.OFFLOADING_POLICY_ILP_OBJ_WEIGHT_DATA_TRANSFERS, 0.33)
186-
wCost := config.GetFloat(config.OFFLOADING_POLICY_ILP_OBJ_WEIGHT_COST, 0.33)
184+
wViolations := config.GetFloat(config.WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_VIOLATIONS, 0.33)
185+
wDataTransfers := config.GetFloat(config.WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_DATA_TRANSFERS, 0.33)
186+
wCost := config.GetFloat(config.WORKFLOW_OFFLOADING_POLICY_ILP_OBJ_WEIGHT_COST, 0.33)
187187
params.ObjWeights = []float64{wViolations, wDataTransfers, wCost}
188188

189-
regionCost := config.GetStringMapFloat64(config.OFFLOADING_POLICY_REGION_COST)
189+
regionCost := config.GetStringMapFloat64(config.WORKFLOW_OFFLOADING_POLICY_REGION_COST)
190190
// TODO: ToLower() is needed because viper (used to parse configuration files) is not case sensitive
191191
localCost, ok := regionCost[strings.ToLower(registration.SelfRegistration.Area)]
192192
if !ok {
@@ -262,13 +262,13 @@ func prepareParameters(r *Request, p *Progress) *remotePolicyParams {
262262
}
263263

264264
// Bandwidth (we assume identical)
265-
dsBandwidth := config.GetFloat(config.OFFLOADING_POLICY_NODE_TO_DATA_STORE_BANDWIDTH, 100.0)
265+
dsBandwidth := config.GetFloat(config.WORKFLOW_OFFLOADING_POLICY_NODE_TO_DATA_STORE_BANDWIDTH, 100.0)
266266
for _, n := range params.EdgeNodes {
267267
params.DSBandwidth[n] = dsBandwidth
268268
}
269269

270270
if len(params.CloudNodes) > 0 {
271-
params.DSBandwidth[CLOUD] = config.GetFloat(config.OFFLOADING_POLICY_CLOUD_TO_DATA_STORE_BANDWIDTH, dsBandwidth*10)
271+
params.DSBandwidth[CLOUD] = config.GetFloat(config.WORKFLOW_OFFLOADING_POLICY_CLOUD_TO_DATA_STORE_BANDWIDTH, dsBandwidth*10)
272272
}
273273

274274
localWarmStatus := node.WarmStatus()

internal/workflow/workflow.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
var offloadingPolicy OffloadingPolicy = &IlpOffloadingPolicy{}
2929

3030
func CreateOffloadingPolicy() {
31-
policyConf := config.GetString(config.OFFLOADING_POLICY, "disable")
31+
policyConf := config.GetString(config.WORKFLOW_OFFLOADING_POLICY, "disable")
3232
log.Printf("Configured offloading policy: %s\n", policyConf)
3333
if policyConf == "ilp" {
3434
offloadingPolicy = &IlpOffloadingPolicy{}

0 commit comments

Comments
 (0)