From 8264f50c5283d3aec739ae6657d0c40fe1bfbb42 Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Tue, 22 Jan 2019 16:48:09 -0800 Subject: [PATCH] convert driver to device for device constraint/attributes --- jobspec/parse_test.go | 4 ++-- jobspec/test-fixtures/basic.hcl | 4 ++-- scheduler/device_test.go | 28 +++++++++++------------ scheduler/feasible.go | 10 ++++----- scheduler/feasible_test.go | 40 ++++++++++++++++----------------- scheduler/rank_test.go | 2 +- 6 files changed, 44 insertions(+), 44 deletions(-) diff --git a/jobspec/parse_test.go b/jobspec/parse_test.go index f871dba44..c53aca4ed 100644 --- a/jobspec/parse_test.go +++ b/jobspec/parse_test.go @@ -235,14 +235,14 @@ func TestParse(t *testing.T) { Count: helper.Uint64ToPtr(10), Constraints: []*api.Constraint{ { - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "2GB", Operand: ">", }, }, Affinities: []*api.Affinity{ { - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "1080ti", Operand: "=", Weight: 50, diff --git a/jobspec/test-fixtures/basic.hcl b/jobspec/test-fixtures/basic.hcl index 553986bb8..5a9184be8 100644 --- a/jobspec/test-fixtures/basic.hcl +++ b/jobspec/test-fixtures/basic.hcl @@ -200,13 +200,13 @@ job "binstore-storagelocker" { device "nvidia/gpu" { count = 10 constraint { - attribute = "${driver.attr.memory}" + attribute = "${device.attr.memory}" value = "2GB" operator = ">" } affinity { - attribute = "${driver.model}" + attribute = "${device.model}" value = "1080ti" weight = 50 } diff --git a/scheduler/device_test.go b/scheduler/device_test.go index 309d66f1b..db68d948b 100644 --- a/scheduler/device_test.go +++ b/scheduler/device_test.go @@ -161,7 +161,7 @@ func TestDeviceAllocator_Allocate_Constraints(t *testing.T) { Name: "gpu", Constraints: []*structs.Constraint{ { - LTarget: "${driver.attr.cuda_cores}", + LTarget: "${device.attr.cuda_cores}", Operand: ">", RTarget: "4000", }, @@ -172,7 +172,7 @@ func TestDeviceAllocator_Allocate_Constraints(t *testing.T) { Name: "gpu", Constraints: []*structs.Constraint{ { - LTarget: "${driver.attr.cuda_cores}", + LTarget: "${device.attr.cuda_cores}", Operand: "<", RTarget: "4000", }, @@ -184,17 +184,17 @@ func TestDeviceAllocator_Allocate_Constraints(t *testing.T) { Constraints: []*structs.Constraint{ // First two are shared across both devices { - LTarget: "${driver.attr.memory_bandwidth}", + LTarget: "${device.attr.memory_bandwidth}", Operand: ">", RTarget: "10 GB/s", }, { - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", Operand: "is", RTarget: "11264 MiB", }, { - LTarget: "${driver.attr.graphics_clock}", + LTarget: "${device.attr.graphics_clock}", Operand: ">", RTarget: "1.4 GHz", }, @@ -209,18 +209,18 @@ func TestDeviceAllocator_Allocate_Constraints(t *testing.T) { Name: "nvidia/gpu", Constraints: []*structs.Constraint{ { - LTarget: "${driver.attr.memory_bandwidth}", + LTarget: "${device.attr.memory_bandwidth}", Operand: ">", RTarget: "10 GB/s", }, { - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", Operand: "is", RTarget: "11264 MiB", }, // Rules both out { - LTarget: "${driver.attr.graphics_clock}", + LTarget: "${device.attr.graphics_clock}", Operand: ">", RTarget: "2.4 GHz", }, @@ -271,7 +271,7 @@ func TestDeviceAllocator_Allocate_Affinities(t *testing.T) { Name: "gpu", Affinities: []*structs.Affinity{ { - LTarget: "${driver.attr.cuda_cores}", + LTarget: "${device.attr.cuda_cores}", Operand: ">", RTarget: "4000", Weight: 0.6, @@ -283,7 +283,7 @@ func TestDeviceAllocator_Allocate_Affinities(t *testing.T) { Name: "gpu", Affinities: []*structs.Affinity{ { - LTarget: "${driver.attr.cuda_cores}", + LTarget: "${device.attr.cuda_cores}", Operand: "<", RTarget: "4000", Weight: 0.1, @@ -295,7 +295,7 @@ func TestDeviceAllocator_Allocate_Affinities(t *testing.T) { Name: "gpu", Affinities: []*structs.Affinity{ { - LTarget: "${driver.attr.cuda_cores}", + LTarget: "${device.attr.cuda_cores}", Operand: ">", RTarget: "4000", Weight: -0.2, @@ -309,19 +309,19 @@ func TestDeviceAllocator_Allocate_Affinities(t *testing.T) { Affinities: []*structs.Affinity{ // First two are shared across both devices { - LTarget: "${driver.attr.memory_bandwidth}", + LTarget: "${device.attr.memory_bandwidth}", Operand: ">", RTarget: "10 GB/s", Weight: 0.2, }, { - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", Operand: "is", RTarget: "11264 MiB", Weight: 0.2, }, { - LTarget: "${driver.attr.graphics_clock}", + LTarget: "${device.attr.graphics_clock}", Operand: ">", RTarget: "1.4 GHz", Weight: 0.9, diff --git a/scheduler/feasible.go b/scheduler/feasible.go index 856b199b1..d88047328 100644 --- a/scheduler/feasible.go +++ b/scheduler/feasible.go @@ -953,17 +953,17 @@ func resolveDeviceTarget(target string, d *structs.NodeDeviceResource) (*psstruc // Handle the interpolations switch { - case "${driver.model}" == target: + case "${device.model}" == target: return psstructs.NewStringAttribute(d.Name), true - case "${driver.vendor}" == target: + case "${device.vendor}" == target: return psstructs.NewStringAttribute(d.Vendor), true - case "${driver.type}" == target: + case "${device.type}" == target: return psstructs.NewStringAttribute(d.Type), true - case strings.HasPrefix(target, "${driver.attr."): - attr := strings.TrimPrefix(target, "${driver.attr.") + case strings.HasPrefix(target, "${device.attr."): + attr := strings.TrimPrefix(target, "${device.attr.") attr = strings.TrimSuffix(attr, "}") val, ok := d.Attributes[attr] return val, ok diff --git a/scheduler/feasible_test.go b/scheduler/feasible_test.go index 98a2f6b5e..1481b318b 100644 --- a/scheduler/feasible_test.go +++ b/scheduler/feasible_test.go @@ -1862,22 +1862,22 @@ func TestDeviceChecker(t *testing.T) { Constraints: []*structs.Constraint{ { Operand: "=", - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "1080ti", }, { Operand: ">", - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "1320.5 MB", }, { Operand: "<=", - LTarget: "${driver.attr.pci_bandwidth}", + LTarget: "${device.attr.pci_bandwidth}", RTarget: ".98 GiB/s", }, { Operand: "=", - LTarget: "${driver.attr.cores_clock}", + LTarget: "${device.attr.cores_clock}", RTarget: "800MHz", }, }, @@ -1895,22 +1895,22 @@ func TestDeviceChecker(t *testing.T) { Constraints: []*structs.Constraint{ { Operand: "=", - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "1080ti", }, { Operand: ">", - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "1320.5 MB", }, { Operand: "<=", - LTarget: "${driver.attr.pci_bandwidth}", + LTarget: "${device.attr.pci_bandwidth}", RTarget: ".98 GiB/s", }, { Operand: "=", - LTarget: "${driver.attr.cores_clock}", + LTarget: "${device.attr.cores_clock}", RTarget: "800MHz", }, }, @@ -1928,22 +1928,22 @@ func TestDeviceChecker(t *testing.T) { Constraints: []*structs.Constraint{ { Operand: "=", - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "1080ti", }, { Operand: ">", - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "1320.5 MB", }, { Operand: "<=", - LTarget: "${driver.attr.pci_bandwidth}", + LTarget: "${device.attr.pci_bandwidth}", RTarget: ".98 GiB/s", }, { Operand: "=", - LTarget: "${driver.attr.cores_clock}", + LTarget: "${device.attr.cores_clock}", RTarget: "800MHz", }, }, @@ -1961,22 +1961,22 @@ func TestDeviceChecker(t *testing.T) { Constraints: []*structs.Constraint{ { Operand: "=", - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "2080ti", }, { Operand: ">", - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "1320.5 MB", }, { Operand: "<=", - LTarget: "${driver.attr.pci_bandwidth}", + LTarget: "${device.attr.pci_bandwidth}", RTarget: ".98 GiB/s", }, { Operand: "=", - LTarget: "${driver.attr.cores_clock}", + LTarget: "${device.attr.cores_clock}", RTarget: "800MHz", }, }, @@ -1994,22 +1994,22 @@ func TestDeviceChecker(t *testing.T) { Constraints: []*structs.Constraint{ { Operand: "=", - LTarget: "${driver.model}", + LTarget: "${device.model}", RTarget: "1080ti", }, { Operand: "<", - LTarget: "${driver.attr.memory}", + LTarget: "${device.attr.memory}", RTarget: "1320.5 MB", }, { Operand: "<=", - LTarget: "${driver.attr.pci_bandwidth}", + LTarget: "${device.attr.pci_bandwidth}", RTarget: ".98 GiB/s", }, { Operand: "=", - LTarget: "${driver.attr.cores_clock}", + LTarget: "${device.attr.cores_clock}", RTarget: "800MHz", }, }, diff --git a/scheduler/rank_test.go b/scheduler/rank_test.go index 9a6176ea3..76c063548 100644 --- a/scheduler/rank_test.go +++ b/scheduler/rank_test.go @@ -584,7 +584,7 @@ func TestBinPackIterator_Devices(t *testing.T) { Count: 1, Affinities: []*structs.Affinity{ { - LTarget: "${driver.attr.graphics_clock}", + LTarget: "${device.attr.graphics_clock}", Operand: ">", RTarget: "1.4 GHz", Weight: 0.9,