Technical Field
Embodiments generally relate to router systems. More particularly, embodiments relate to a router system that includes a smart power manager that dynamically activates and deactivates individual lanes of the links of the router.
Discussion
Enabling high bandwidth links to support applications that are network bound may involve the dedication of a significant amount of power to the network instead of to computing components and memory modules.
The various advantages of the embodiments of the present invention will become apparent to one skilled in the art by reading the following specification and appended claims, and by referencing the following drawings, in which:
Network routers may generally be interconnected by a fabric that is tailored to high bandwidth communications. An autonomous mechanism at each router link of a network may predict future utilization of the network such that lightly utilized links may have one or more lanes powered down with little impact to overall network throughput. While this mechanism may function well, the autonomous nature of the mechanism may limit the benefits to merely reducing power consumption. A lack of integration of the autonomous mechanism with a global power manager may prevent additional benefits from being achieved. For example, if the global power manager were configured to communicate with the fabric to guide and measure network power consumption, the power savings in the network might be converted into additional performance for other parts of the system.
Techniques described herein provide for a router power manager that is able to manage the individual lanes of the links of the router in a dynamic manner by adjusting the power/bandwidth of the individual links intelligently to match the load of the router.
For example, in embodiments of the present invention, a smart power manager (or smart router manager) is provided. The smart power manager may receive an allocated power limit from a global power manager, and on the basis of the allocated power limit and connected routers or processor nodes, the smart power manager may increase the number of lane credits available to the router. The individual links may request credits to activate associated lanes. The smart power manager may optimize the router throughput for a given power limit dictated by the global power manager. By using a fine grained credit mechanism to track active lanes of the individual links, the router power manager may be able to adjust the number of active lanes for each link individually so that highly utilized links will have more active lanes (and thus more bandwidth) than links that are idle.
Turning now to
The router 10 may also include one or more controllers 28 and one or more link utilization managers 34. Each link of the router 10 may include a controller 28 and a link utilization manager 34. Although a separate controller 28 and a separate link utilization manager 34 are illustrated in
The link utilization managers 34 may analyze the traffic flow of each lane of the links, and determine which lanes should remain active, and which lanes should be deactivated on the basis of the determined traffic flow of each link.
Turning now to
The smart power manager 38 introduces fine-grained management of individual links on the router 10 (
Assume that the power limit of the router 10 is limited to 60% of the maximum power limit. The smart power manger 38 may set the number of active lanes in each link on a link by link basis. This fine-grained process may enable the smart power manager 38 to be more precise in meeting the power budget of the router 10 (
If a determination is made that the first link 12 and the third link 16 have a high utilization rate, the first link 12 and the third link 16 may continue to have all four lanes active because of the determined high utilization rate, while the second link 14 and the fourth link 18, which are lightly utilized, may each have only a single active lane. This greater flexibility at the link level allows higher fabric performance for a given power level.
Returning to
A lane credit manager 36 may assign credits to (or withdraw credits from) each of the links in order to activate lanes of the links on the basis of a received power limit. The lane credit manager 36 is thus able to determine how many active lanes are present in each link on the basis on the number of assigned credits. A credit is associated with each lane associated with the plurality of links. In other words, the number of credits may be equal to the number of lanes included in each link of the router 10. Each active lane of a link requires a credit from the lane credit manager 36. The total number of lane credits on router 10 (
Turning now to
As illustrated in
On the other hand, in an exemplary embodiment the router 10 may finely adjust the individual lanes of each link to more closely attain the 35% power limit. Therefore, 35% of the lanes may be active across the router 10. Since the smart power manager 38 may be able to activate any number of lanes per link, it is able to maintain more total active lanes than the related art router power manager.
Within each column illustrated in
Turning now to
In block 81, a power availability limit with regard to the router is received from the global power manager 25 (
Turning now to
If it is determined at block 51 that a link has requested a change in a number of active lanes 51, a determination is made at illustrated block 52 whether the link wishes to increase or decrease the number of active lanes. If the decision is to decrease the number of active lanes in the link, one or more lanes are removed from service at block 53, and the lane credit associated with the removed lane is returned to the lane credit manager at block 36, and the operation ends.
If instead, the decision at block 52 is to increase the number of active lanes in the link, or when a link wants to activate one or more lanes, a request is sent at block 54 to the lane credit manager 36, requesting a number of additional lane credits equal to the number of lanes that are to be activated. For example, if a single lane has to be activated, the link sends a request for one lane credit to the lane credit manager 36. If two lanes have to be activated, the link sends a request for two lane credits to the lane credit manager 36. If credits are available, the lane credit manager 36 returns at block 55 the requested credits, (or fewer credits than the requested credits), to the requesting link, and the lanes may be activated at block 57. At block 56, if no credits are available, none are returned and the lanes cannot be activated.
When the global power manager 25 (
Returning to
On the other hand, if it is determined at block 63 that the new power limit is lower than the current power limit of the router, the number of active lanes in the links are examined at block 65. A determination is made at block 66 whether lanes have to be removed from individual links to meet the new power limit. If lanes do not have to be removed, the operation of the router continues at block 67.
If the new power limit is lower than the current power limit of the router (10,
Example 1 may include a router system comprising a power source to supply power to the router, a plurality of links to communicate with one or more of processor nodes or external routers, wherein each of the plurality of links includes a plurality of lanes, a power manager, connected to the plurality of links, to receive a power availability limit with respect to the router, one or more link utilization managers to determine a link utilization level of each link of the plurality of links of the router, and one or more controllers to dynamically activate or deactivate individual lanes of each of the plurality of links based on the determined link utilization level of each of the plurality of links.
Example 2 may include the router of example 1, wherein all lanes of a link of the plurality of links are to remain active when the link utilization level of the link is greater than a predetermined threshold, and individual lanes of the link are to be deactivated when the link utilization level of the link is below the predetermined threshold.
Example 3 may include the router of example 1, wherein the one or more link utilization managers are to track active lanes in each of the plurality of links to determine the link utilization level.
Example 4 may include the router of any one of examples 1 to 3, further comprising a lane credit manager to assign lane credits to each active lane.
Example 5 may include the router of example 4, wherein the lane credit manager is to transmit, in response to one or more credit requests, one or more credit notifications to one or more of the plurality of links based on the assigned lane credits, wherein the one or more credit notifications are associated with one or more individual lane activations, and receive one or more credit returns from one or more of the plurality of links, wherein the credit returns are associated with one or more individual lane deactivations.
Example 6 may include the router of example 4, wherein the lane credit manager is to determine the lane credits based on the received power availability limit.
Example 7 may include a granularity enhancement apparatus comprising a power manager to receive a power availability limit with respect to a router, one or more link utilization managers to determine a link utilization level of each link of a plurality of links of the router, and one or more controllers to dynamically activate or deactivate individual lanes of each of the plurality of links based on the determined link utilization level of each of the plurality of links.
Example 8 may include the apparatus of example 7, wherein all lanes of a link of the plurality of links are to remain active when the link utilization level of the link is greater than a predetermined threshold, and individual lanes of the link are to be deactivated when the link utilization level of the link is below the predetermined threshold.
Example 9 may include the apparatus of example 7, wherein the one or more link utilization managers are to track active lanes in each of the plurality of links to determine the link utilization level.
Example 10 may include the apparatus of any one of examples 7 to 9, further comprising a lane credit manager to assign lane credits to each active lane.
Example 11 may include the apparatus of example 9, wherein the lane credit manager is to transmit, in response to one or more credit requests, one or more credit notifications to one or more of the plurality of links based on the assigned lane credits, wherein the one or more credit notifications are associated with one or more individual lane activations and receive one or more credit returns from one or more of the plurality of links, wherein the credit returns are associated with one or more individual lane deactivations.
Example 12 may include the apparatus of example 9, wherein the lane credit manager is to determine the lane credits based on the received power availability limit.
Example 13 may include a method of operating a granularity enhancement apparatus, comprising receiving a power availability limit with respect to a router, determining a link utilization level of each link of a plurality of links of the router, and dynamically activating or deactivating individual lanes of each of the plurality of links based on the determined link utilization level of each of the plurality of links.
Example 14 may include the method of example 13, wherein all lanes of a link of the plurality of links remain active when the link utilization level of the link is greater than a predetermined threshold and individual lanes of the link are deactivated when the link utilization level of the link is below the predetermined threshold.
Example 15 may include the method of example 13, wherein determining the link utilization level includes tracking active lanes in each of the plurality of links.
Example 16 may include the method of any one of examples 13 to 15, further comprising assigning lane credits to each active lane.
Example 17 may include the method of example 15, further including transmitting, in response to one or more credit requests, one or more credit notifications to one or more of the plurality of links based on the assigned lane credits, wherein the one or more credit notifications are associated with one or more individual lane activations, and receiving one or more credit returns from one or more of the plurality of links, wherein the credit returns are associated with one or more individual lane deactivations.
Example 18 may include the method of example 15, further including determining the lane credits based on the received power availability limit.
Example 19 may include at least one computer readable storage medium comprising a set of instructions, which when executed by an apparatus, cause the apparatus to receive a power availability limit with respect to a router, determine a link utilization level of each link of a plurality of links of the router, and dynamically activate or deactivate individual lanes of each of the plurality of links based on the determined link utilization level of each of the plurality of links.
Example 20 may include the at least one computer readable storage medium of example 19, wherein all lanes of a link of the plurality of links remain active when the link utilization level of the link is greater than a predetermined threshold and individual lanes of the link are deactivated when the link utilization level of the link is below the predetermined threshold.
Example 21 may include the at least one computer readable storage medium of example 19, wherein the instructions, when executed, cause the apparatus to track active lanes in each of the plurality of links to determine the link utilization level.
Example 22 may include the at least one computer readable storage medium of any one of examples 19 to 21, wherein the instructions, when executed, cause the apparatus to assign lane credits to each active lane.
Example 23 may include the at least one computer readable storage medium of example 22, wherein the instructions, when executed, cause the apparatus to transmit, in response to one or more credit requests, one or more credit notifications to one or more of the plurality of links based on the assigned lane credits, wherein the one or more credit notifications are associated with one or more individual lane activations, and receive one or more credit returns from one or more of the plurality of links, wherein the credit returns are associated with one or more individual lane deactivations.
Example 24 may include the at least one computer readable storage medium of example 22, wherein the lane credits available for use by the router are based on the received power availability limit.
Example 25 may include a granularity enhancement apparatus comprising means for receiving a power availability limit with respect to a router, means for determining a link utilization level of each link of a plurality of links of the router, and means for dynamically activating or deactivating individual lanes of each of the plurality of links based on the determined link utilization level of each of the plurality of links.
Example 26 may include the apparatus of example 25, wherein all lanes of a link of the plurality of links are to remain active when the link utilization level of the link is greater than a predetermined threshold, and individual lanes of the link are to be deactivated when the link utilization level of the link is below the predetermined threshold.
Example 27 may include the apparatus of example 25, wherein the link utilization level is to be determined by tracking active lanes in each of the plurality of links.
Example 28 may include the apparatus of example 27, further comprising means for assigning lane credits to each active lane.
Example 29 may include the apparatus of any one of examples 27 to 28, further including means for transmitting, in response to one or more credit requests, one or more credit notifications to one or more of the plurality of links based on the assigned lane credits, wherein the one or more credit notifications are associated with one or more individual lane activations, and means for receiving one or more credit returns from one or more of the plurality of links, wherein the credit returns are associated with one or more individual lane deactivations.
Example 30 may include the apparatus of any one of examples 27-28, wherein the lane credits available for use by the router are based on the received power availability limit.
Unless specifically stated otherwise, it may be appreciated that terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. The embodiments are not limited in this context.
The term “coupled” may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections. In addition, the terms “first”, “second”, etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments can be implemented in a variety of forms. Therefore, while the embodiments of this have been described in connection with particular examples thereof, the true scope of the embodiments should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims.
This invention was made with Government support under contract number H98230-13-D-0124 awarded by the Department of Defense. The Government has certain rights in this invention.