Dynamic link scaling based on bandwidth utilization
AssigneeOracle International Corporation
InventorsBrian F. Keish, Thomas M. Wicki, Sebastian Turullols
Life of this patent
Estimating the term…
Abstract
Systems and methods for reducing power consumption during data transport across multiple processors when link utilization is low. In a multi-node system, at least one of two nodes may indicate low utilization for a given link between them. In response to further determining no enabled link between the two nodes is over utilized, each of the two nodes may remove the given link from consideration for being scheduled to receive data for transfer and turn off the given link when no more transactions are scheduled for the given link. Disabled links may be re-enabled when high utilization is detected on at least one link between the two nodes.
Claims19
A computing system comprising:
- control logic;
- a plurality of nodes including at least a first node and a second node, wherein each of said nodes includes a processor and a cache;
- and
- a set of links coupling the first node to the second node, the set of links including at least a first link and a second link;
- wherein in response to a cache miss by a processor within a given node of the plurality of nodes, the given node is configured to convey a request for data corresponding to the cache miss to another node of the plurality of nodes via the set of links;
- wherein each of a first node and a second node of the plurality of nodes is configured to:
- detect a level of utilization for each of the first link and the second link;
- send an indication of low utilization for the first link in the set of links to the control logic, in response to determining the first link is underutilized;
- and
- send an indication of high utilization for the first link in the set of links to the control logic, in response to determining the first link is overutilized;
- wherein the control logic is configured to:
- send a notification to each of the first node and the second node for turning off the second link, in response to determining both the first link and the second link are currently enabled for communicating between the first node and the second node, and the first link is underutilized;
- and
- send a notification for enabling the second link, in response to determining the first link is overutilized and the second link is currently disabled, thereby enabling both the first link and the second link for concurrent communication between the first node and the second node.
A method to be used in a computing system comprising control logic, a plurality of nodes including at least a first node and a second node, and a set of links including at least a first link and a second link coupling the first node to the second node, the method comprising:
- in response to a cache miss by a processor within a given node of the plurality of nodes, conveying a request for data corresponding to the cache miss to another node of the plurality of nodes via the set of links;
- detecting a level of utilization for each of the first link and the second link;
- sending to the control logic an indication of low utilization for the first link in the set of links between the first node and the second node, in response to determining the first link is underutilized;
- sending an indication of high utilization for the first link in the set of links to the control logic, in response to determining the first link is overutilized;
- and
- sending a notification to each of the first node and the second node for turning off the second link, in response to determining both the first link and the second link are currently enabled for communicating between the first node and the second node, and the first link is underutilized;
- sending a notification for enabling the second link, in response to determining the first link is overutilized and the second link is currently disabled, thereby enabling both the first link and the second link for concurrent communication between the first node and the second node.
A non-transitory computer readable storage medium storing program instructions operable to reduce power consumption during data transport across multiple nodes in a system comprising control logic, a plurality of nodes including at least a first node and a second node, and a set of links including at least a first link and a second link coupling the first node to the second node, wherein the program instructions are executable by a processor to:
- wherein in response to a cache miss by a processor within a given node of the plurality of nodes, the given node is configured to convey a request for data corresponding to the cache miss to another node of the plurality of nodes via the set of links
- detect a level of utilization for each of the first link and the second link;
- send to the control logic an indication of low utilization for the first link in the set of links between the first node and the second node, in response to determining the first link is underutilized;
- send an indication of high utilization for the first link in the set of links to the control logic, in response to determining the first link is overutilized;
- and
- send a notification to each of the first node and the second node for turning off the second link, in response to determining both the first link and the second link are currently enabled for communicating between the first node and the second node, and the first link is underutilized;
- and
- send a notification for enabling the second link, in response to determining the first link is overutilized and the second link is currently disabled, thereby enabling both the first link and the second link for concurrent communication between the first node and the second node.
Dependencies are inferred from the claim text.