Skip to content

Rudimentary GPU load balancing #89

@dcommander

Description

@dcommander

This issue is to track an idea for a script-based GPU load balancer that would be invoked by vglrun. Ideally this script would, if VGL_DISPLAY/-d is auto:

  1. Call nvidia-smi and amdconfig to build a list of available GPUs for which load information can be obtained, as well as the load of each GPU.
  2. Somehow figure out which X screen is attached to the least-loaded GPU. I'm not quite sure how to do this. nvidia-smi can be used to figure out whether any Xorg processes are attached to the least-loaded GPU (not sure whether amdconfig can do the same thing), and ps can obtain the command line (and thus the X display number) of the Xorg process, but that doesn't tell me which X screen is attached to which GPU (there can be multiple screens per Xorg process.)
  3. Set VGL_DISPLAY to the X screen of the least-loaded GPU.
  4. ???
  5. Profit.

This does not depend on #10, but it would need to accommodate that new feature. The idea is that #10 would work the way the old GLP feature used to work on Solaris/SPARC, i.e. it would be activated by specifying a device path rather than an X display in VGL_DISPLAY/-d. Similarly, this feature could be extended by specifying autoegl instead of auto, thus instructing the script to find an EGL device path instead of an X display. If (2) above proves impossible or unwieldy, then this feature might have to rely on EGL.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions