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
    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