Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • N nrm
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 16
    • Issues 16
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • argo
  • nrm
  • Issues
  • #10

Closed
Open
Created Jul 05, 2018 by Sridutt Bhalachandra@sriduttbContributor9 of 9 tasks completed9/9 tasks

Integration of power policy in to NRM

Need to integrate power policies into NRM to allow control of power happens at the NRM level and not the application. The policies need contextual information from the application (e.g. time spent doing computation and in the barrier during a phase) for decision. This information from the application is to be provided to NRM using the downstream API by an application-specific (e.g. PMPI) library written in C/C++. Using this the NRM will invoke the correct power policy.

Find below the set of tasks towards achieving this

  • Implement C downstream API to transmit application context information to NRM (daemon)
  • Add option to manifest file to enable power policy
  • Modify environment to reflect manifest option (LD_PRELOAD for PMPI library)
  • Implement Power Policy based on Dynamic Duty Cycle Modulation (DDCM) in NRM [See Issue #11 (closed)]
  • Add damper and slowdown parameters of power policy to manifest file
  • Add container creation information (resources and powerpolicy) to ContainerManager Class
  • Initialize power policy parameters passed using the manifest file and fix appropriate TODOs in PowerPolicyManager Class using container information (except adding new power policies)
  • Fix the C downstream_api messages sent by the application to NRM to be more generic. These messages can be used to invoke power or any other policies relying on contextual information from an application phase (event name changed from power_policy to phase_context)
  • Make changes in NRM to respond to the phase_context event [previously called power_policy event (874a6a4d)] from the application. The NRM will have to store this information as it is received and call DDCM power policy through interfaces developed (Issue #11 (closed)) in the control loop.
Edited Aug 07, 2018 by Sridutt Bhalachandra
Assignee
Assign to
Time tracking