Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added NodePowerGovernorAgent #2927

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

lhlawson
Copy link
Contributor

@lhlawson lhlawson commented Apr 18, 2023

Addition of a Node Power Governor Agent based upon the existing Power Governor Agent. Does not include a NodePowerGovernor

Additional Tasks (may be future PRs):

  • Document Agent
  • Unit Testing
  • System Testing
  • Integration Testing
  • Move endpoint logic to helper class
  • Rename BOARD_POWER_* signals & controls to NODE_POWER_*?

@lhlawson lhlawson force-pushed the public-lhlawson-node-power-characterization branch 5 times, most recently from 2ba6fd8 to 460c234 Compare April 20, 2023 00:37
, m_do_write_batch(false)
, m_last_power_budget(NAN)
, m_power_budget_changed(false)
, m_epoch_power_buf(geopm::make_unique<CircularBuffer<double> >(16)) // Magic number...
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Magic taken straight from the existing power governor agent. If this is not needed for ongoing experiments we can remove it.

@lhlawson lhlawson force-pushed the public-lhlawson-node-power-characterization branch 5 times, most recently from 85fee63 to 1594055 Compare April 20, 2023 19:55
@lhlawson lhlawson marked this pull request as ready for review April 21, 2023 18:53
@lhlawson lhlawson force-pushed the public-lhlawson-node-power-characterization branch from 1594055 to 537e6ff Compare July 13, 2023 17:49
Signed-off-by: lhlawson <lowren.h.lawson@intel.com>
@lhlawson lhlawson force-pushed the public-lhlawson-node-power-characterization branch from 537e6ff to e01d219 Compare July 13, 2023 18:52
Comment on lines +2 to +3
geopm::PowerGovernorAgent(3) -- agent that enforces a power cap
===============================================================
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
geopm::PowerGovernorAgent(3) -- agent that enforces a power cap
===============================================================
geopm::NodePowerGovernorAgent(3) -- agent that enforces a node power cap
========================================================================


#include `<geopm/NodePowerGovernorAgent.hpp> <https://github.com/geopm/geopm/blob/dev/src/NodePowerGovernorAgent.hpp>`_

Link with ``-lgeopm`` **(MPI)** or ``-lgeopmpolicy`` **(non-MPI)**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think geopmpolicy is gone now

Comment on lines +2 to +3
geopm_agent_power_governor(7) -- agent enforces a power cap
===========================================================
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
geopm_agent_power_governor(7) -- agent enforces a power cap
===========================================================
geopm_agent_node_power_governor(7) -- agent enforces a node power cap
=====================================================================

-----------

The :doc:`geopm::NodePowerGovernorAgent(3) <GEOPM_CXX_MAN_NodePowerGovernorAgent.3>` enforces a per-compute-node power cap of the
total platform power systems that support the Platform Power Limit feature. The platform power is determined by the platform vendor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
total platform power systems that support the Platform Power Limit feature. The platform power is determined by the platform vendor
total platform power on systems that support the Platform Power Limit feature. The platform power is determined by the platform vendor

Comment on lines +82 to +83
The agent gates the Controller's control loop to a cadence of *5ms*
(milliseconds).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This accurately describes the current revision of the agent. But maybe the agent should use the Waiter class, which has a configurable control loop gate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants