Managing graphics load balancing strategies
Abstract
A method and system for managing graphics load balancing strategies are disclosed. The method comprises using a plurality of rendering servers to render a multitude of graphics frames for a display device, wherein each of the rendering servers has an associated workload; identifying a plurality of load balancing strategies for balancing the workloads on the rendering servers; selecting one of the load balancing strategies; and using the selected one of the load balancing strategies to balance the workloads on the rendering servers. One or more defined metrics are monitored; and in response to a defined changed in said one or more defined metrics, another one of the load balancing strategies is selected and used to balance the workloads on the rendering servers. In one embodiment, the load balancing policy can be changed in real-time during the course of an application session.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of managing graphics load balancing strategies, comprising:
using a plurality of rendering servers to render concurrently a multitude of graphics frames for a display area on a display device, wherein each of the rendering servers has an associated workload; identifying a plurality of load balancing strategies for balancing the workloads on the rendering servers, each of the load balancing strategies being a respective one technique for partitioning the display area into a plurality of smaller regions and assigning said plurality of smaller regions of the display area to the rendering servers; and dynamically switching among the plurality of the load balancing strategies over a period of time to re-balance the workloads on the rendering servers, including using a system controller to implement the load balancing strategies, and using a manager to select different ones of the load balancing strategies for implementation at different times in said period of time and for communicating the selected load balancing strategies to the system controller, including the manager performing an execution loop to manage selection of the load balancing strategies, said execution loop including: analyzing performance statistics and additional information provided by the system controller to determine when a different one of the load balancing strategies is needed, changing from one of the load balancing strategies to another one of the load balancing strategies when a different one of the load balancing strategies is needed, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller when said different one of the load balancing strategies is executed.
2 . The method according to claim 1 , the execution loop further including the manager repeating the analyzing performance statistics and additional information, changing from one of the load balancing strategies to another one of the load balancing strategies, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller for a specified time.
3 . The method according to claim 2 , wherein the specified time is until a current application ceases.
4 . The method according to claim 1 , wherein the manager obtains the performance statistics for each server from the system controller, and provides an initial display tile partitions and assignments for each of the rendering servers, and repartitions, resizes and reassigns the partitions based on the performance feedback and the one of the load balancing strategies in use.
5 . The method according to claim 1 , wherein the system controller accepts new load balancing strategies from a user, and passes information to the manager, said information including display configuration performance statistics for each server and user-defined load balancing policy information.
6 . The method according to claim 1 , wherein the selecting another one of the load balancing strategies includes changing from said one of the load balancing strategies to said another one of the load balancing strategies in real time.
7 . The method according to claim 1 , wherein data are sent between the rendering servers, and the performance statistics includes the time it takes to send data between the rendering servers.
8 . The method according to claim 1 , wherein said performance statistics includes application usage patterns, the size and nature of the data being rendered, the display configuration, and the amount and type of rendering resources that are available.
9 . The method according to claim 1 , wherein said performance statistics includes one or more user defined metrics.
10 . The method according to claim 1 , wherein the identifying includes a user providing one or more of the load balancing strategies.
11 . A data processing system for managing graphics load balancing strategies, comprising:
a plurality of rendering servers to render a multitude of graphics frames for a display area on a display device, wherein each of the rendering servers has an associated workload; a rendering servers controller for identifying a plurality of load balancing strategies for balancing the workloads on the rendering servers, for using one of the load balancing strategies to balance the workloads on the rendering servers, and for monitoring one or more defined metrics, each of the load balancing strategies being a respective one technique for partitioning the display area into a plurality of smaller regions and assigning said plurality of smaller regions of the display region to the rendering servers; and a load balancing policies manager for dynamically switching among the plurality of the load balancing strategies over a period of time to re-balance the workloads on the rendering servers including acting, in response to a defined change in said one or more defined metrics, to select another one of the load balancing strategies, including the manager performing an execution loop to manage selection of the load balancing strategies, said execution loop including analyzing performance statistics and additional information provided by the system controller to determine when a different one of the load balancing strategies is needed, changing from one of the load balancing strategies to another one of the load balancing strategies when a different one of the load balancing strategies is needed, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller when said different one of the load balancing strategies is executed.
12 . The system according to claim 11 , wherein the execution loop further includes repeating the analyzing performance statistics and additional information, changing from one of the load balancing strategies to another one of the load balancing strategies, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller for a specified time.
13 . The system according to claim 12 , wherein the specified time is until a current application ceases.
14 . The system according to claim 11 , wherein the manager obtains the performance statistics for each server from the system controller, and provides an initial display tile partitions and assignments for each of the rendering servers, and repartitions, resizes and reassigns the partitions based on the performance feedback and the one of the load balancing strategies in use.
15 . The method according to claim 11 , wherein the system controller accepts new load balancing strategies from a user, and passes information to the manager, said information including display configuration performance statistics for each server and user-defined load balancing policy information.
16 . An article of manufacture comprising at least one tangible computer usable hardware device having computer readable program code logic tangibly embodied therein to execute a machine instruction in one or more processing units for managing graphics load balancing strategies, said computer readable program code logic, when executing, performing the following steps:
using a plurality of rendering servers to render a multitude of graphics frames for a display area on a display device, wherein each of the rendering servers has an associated workload; identifying a plurality of load balancing strategies for balancing the workloads on the rendering servers, each of the load balancing strategies being a respective one technique for partitioning the display area into a plurality of smaller regions and assigning said plurality of smaller regions of the display region to the rendering servers; and dynamically switching among the plurality of the load balancing strategies over a period of time to re-balance the workloads on the rendering servers, including using a system controller to implement the load balancing strategies, and using a manager to select different ones of the load balancing strategies for implementation at different times in said period of time and for communicating the selected load balancing strategies to the system controller, including the manager performing an execution loop to manage selection of the load balancing strategies, said execution loop including: analyzing performance statistics and additional information provided by the system controller to determine when a different one of the load balancing strategies is needed, changing from one of the load balancing strategies to another one of the load balancing strategies when a different one of the load balancing strategies is needed, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller when said different one of the load balancing strategies is executed.
17 . The computer program product according to claim 16 , wherein the execution loop further includes repeating the analyzing performance statistics and additional information, changing from one of the load balancing strategies to another one of the load balancing strategies, communicating said different one of the load balancing strategies to the system controller, and obtaining new performance statistics from the system controller for a specified time.
18 . The computer program product according to claim 17 , wherein the specified time is until a current application ceases.
19 . The computer program product according to claim 16 , wherein the manager obtains the performance statistics for each server from the system controller, and provides an initial display tile partitions and assignments for each of the rendering servers, and repartitions, resizes and reassigns the partitions based on the performance feedback and the one of the load balancing strategies in use.
20 . The computer program product according to claim 16 , wherein:
the using a plurality of rendering servers includes said plurality of rendering servers rendering the multitude of graphics frames at a defined rate; the changing from one of the load balancing strategies to another of the load balancing strategies includes changing from the one of the load balancing strategies to the another of the load balancing strategies without affecting said defined rate; and said defined rate is a constant rate.Join the waitlist — get patent alerts
Track US2017039674A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.