Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.
This repository was archived by the owner on Sep 9, 2024. It is now read-only.

unable to configure shared power profile per node via shared power workload #73

@amshankaran

Description

@amshankaran

Hi,
I have created two shared power workloads each one will use a different shared power profile while applying the shared workloads for two different nodes, frequency settings are overwritten by the last applied workloads power profile.

Profiles:

apiVersion: power.intel.com/v1
kind: PowerProfile
metadata:
  name: shared-node1
  namespace: intel-power
spec:
  name: "shared-node1"
  max: 2500
  min: 1500
  shared: true
  governor: "powersave"

apiVersion: power.intel.com/v1
kind: PowerProfile
metadata:
  name: shared-node2
  namespace: intel-power
spec:
  name: "shared-node2"
  max: 2600
  min: 1600
  shared: true
  governor: "powersave"

Workloads:

apiVersion: "power.intel.com/v1"
kind: PowerWorkload
metadata:
  name: shared-node1-workload
  namespace: intel-power
spec:
  name: shared-node1-workload
  allCores: true
  reservedCPUs:
    - 0
    - 1
  powerNodeSelector:
    kubernetes.io/hostname: node1
  powerProfile: shared-node1

apiVersion: "power.intel.com/v1"
kind: PowerWorkload
metadata:
  name: shared-node2-workload
  namespace: intel-power
spec:
  name: shared-node2-workload
  allCores: true
  reservedCPUs:
    - 0
    - 1
    - 2
    - 3
    - 4
  powerNodeSelector:
    kubernetes.io/hostname: node2
  powerProfile: shared-node2

After creating the power profiles I have applied the first workload shared-node1-workload

powernode

- apiVersion: power.intel.com/v1
  kind: PowerNode
  metadata:
    name: node1
    namespace: intel-power
  spec:
    nodeName: node1
    powerProfiles:
    - 'performance: 3600000 || 3400000 || '
    - 'balance-power: 2400000 || 2200000 || '
    powerWorkloads:
    - 'balance-power: balance-power || '
    - 'performance: performance || '
    sharedPool: shared-node1 || 2500000 || 1500000 || 2-63
    unaffectedCores: 0-1
- apiVersion: power.intel.com/v1
  kind: PowerNode
  metadata:
    name: node2
    namespace: intel-power
  spec:
    nodeName: node2
    powerProfiles:
    - 'performance: 3600000 || 3400000 || '
    - 'balance-power: 2400000 || 2200000 || '
    powerWorkloads:
    - 'performance: performance || '
    - 'balance-power: balance-power || '
    unaffectedCores: 0-63

After applying workload shared-node2-workload, the frequencies got changed for node1 as well and the shared pool got changed as shared-node2

powernode

- apiVersion: power.intel.com/v1
  kind: PowerNode
  metadata:
    name: node1
    namespace: intel-power
  spec:
    nodeName: node1
    powerProfiles:
    - 'balance-power: 2400000 || 2200000 || '
    - 'performance: 3600000 || 3400000 || '
    powerWorkloads:
    - 'performance: performance || '
    - 'balance-power: balance-power || '
    sharedPool: shared-node2 || 2600000 || 1600000 || 2-63   =======> got changed
    unaffectedCores: 0-1
- apiVersion: power.intel.com/v1
  kind: PowerNode
  metadata:
    name: node2
    namespace: intel-power
  spec:
    nodeName: node2
    powerProfiles:
    - 'balance-power: 2400000 || 2200000 || '
    - 'performance: 3600000 || 3400000 || '
    powerWorkloads:
    - 'balance-power: balance-power || '
    - 'performance: performance || '
    sharedPool: shared-node2 || 2600000 || 1600000 || 5-63
    unaffectedCores: 0-4

The reserved CPU configurations were applied properly, but the frequencies and the profile selection seems to be wrong.
Can't we use specific shared profiles per node?

power-manager version: 2.3.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions