IP Library Granted Patent US 9,660,878
Granted Patent B2
US 9,660,878 · App. 14/211,134 · Granted May 23, 2017

Managing fabric priorities across heterogeneous server platforms

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,660,878
App. No.
14/211,134
Granted
May 23, 2017
Kind
B2
Abstract

Embodiments relate to facilitating a plurality of heterogeneous hosts to use a range of priority values. A method of facilitating a plurality of heterogeneous hosts to use a range of priority values is provided. The method retrieves a plurality of priority ranges from a plurality of network forwarding elements shared by a plurality of heterogeneous hosts. The network forwarding elements provide access to a set of storage devices that stores data for the plurality of heterogeneous hosts. The method generates, by a computer that comprises one of the heterogeneous hosts, a universal priority range from the plurality of priority ranges. The method maps a plurality of workloads performed by the computer to priority values in the universal priority range. The method sends the universal priority range to at least one other host of the heterogeneous hosts.

Claims (63)

1. A computer program product for facilitating a plurality of heterogeneous hosts to use a range of priority values, the computer program product comprising:

a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable by a processing circuit to cause the processing circuit to perform a method comprising:

retrieving a plurality of ranges of priority values from a plurality of network forwarding elements shared by a plurality of heterogeneous hosts, the network forwarding elements providing access to a set of storage devices that stores data for the plurality of heterogeneous hosts;

generating a universal priority range from the plurality of ranges of priority values;

mapping a plurality of workloads performed by the plurality of heterogeneous hosts to priority values in the universal priority range; and

sending the universal priority range to at least one other host of the plurality of heterogeneous hosts;

wherein the at least one other host maps a plurality of workloads performed by the at least one other host to the priority values in the universal priority range; and

wherein the network forwarding elements forward the data for the plurality of workloads between the at least one host and the storage devices based on the priority values mapped to the workloads, wherein data with a higher priority value is forwarded before data with a lower priority value, and wherein the priority values mapped to the workloads are stored in a packet header of the data.

2. The computer program product of claim 1 , wherein the retrieving the plurality of priority comprises:

sending a request for a range of priority values to a network forwarding element; and

receiving the range of priority values from the network forwarding element.

3. The computer program product of claim 1 , wherein the generating the universal priority range comprises:

setting a maximum priority value of the universal priority range to a minimum priority value of maximum priority values of the range of priority values; and

setting a minimum priority value of the universal priority range to a maximum priority value of minimum priority values of the range of priority values.

4. The computer program product of claim 1 , wherein each of the workloads is associated with a performance goal that quantifies how fast the workload has to be performed by a corresponding host, wherein the mapping the plurality of workloads to the priority values is based on the performance goals associated with the workloads.

5. The computer program product of claim 4 , wherein the method further comprises:

monitoring each workload to determine whether the workload is meeting the performance goal; and

adjusting the mapping between the workload to the priority value based on determining that the workload is not meeting the performance goal.

6. The computer program product of claim 1 , wherein each of the workloads is associated with an importance value that indicates importance of the workload relative to other workloads, wherein the mapping the plurality of workloads to the priority values is based on the importance values of the workloads.

7. The computer program product of claim 1 , wherein the network forwarding elements form a fabric, wherein the method further comprises:

determining whether a network forwarding element is removed from or added to the fabric; and

based on determining that a network forwarding element is removed from or added to the fabric, updating the universal priority range.

8. The computer program product of claim 1 , wherein at least two of the heterogeneous hosts run different operating systems.

9. A computer implemented method of facilitating a plurality of heterogeneous hosts to use a range of priority values, the method comprising:

retrieving a plurality of ranges of priority values from a plurality of network forwarding elements shared by a plurality of heterogeneous hosts, the network forwarding elements providing access to a set of storage devices that stores data for the plurality of heterogeneous hosts;

generating, by a computer that comprises one of the heterogeneous hosts, a universal priority range from the plurality of ranges of priority values;

mapping a plurality of workloads performed by the plurality of heterogeneous hosts to priority values in the universal priority range; and

sending the universal priority range to at least one other host of the plurality of heterogeneous hosts,

wherein the at least one other host maps a plurality of workloads performed by the at least one other host to the priority values in the universal priority range, and

wherein the network forwarding elements forward the data for the plurality of workloads between the at least one host and the storage devices based on the priority values mapped to the workloads, wherein data with a higher priority value is forwarded before data with a lower priority value, and wherein the priority values mapped to the workloads are stored in a packet header of the data.

10. The method of claim 9 , wherein the retrieving the plurality of priority comprises:

sending a request for a range of priority values to a network forwarding element; and

receiving a range of priority values from the network forwarding element.

11. The method of claim 9 , wherein the generating the universal priority range comprises:

setting a maximum priority value of the universal priority range to a minimum priority value of maximum priority values of the range of priority values; and

setting a minimum priority value of the universal priority range to a maximum priority value of minimum priority values of the range of priority values.

12. The method of claim 9 , wherein each of the workloads is associated with a performance goal that quantifies how fast the workload has to be performed by a corresponding host, wherein the mapping the plurality of workloads to the priority values is based on the performance goals associated with the workloads.

13. The method of claim 12 further comprising:

monitoring each workload to determine whether the workload is meeting the performance goal; and

adjusting the mapping between the workload to the priority value based on determining that the workload is not meeting the performance goal.

14. The method of claim 9 , wherein each of the workloads is associated with an importance value that indicates importance of the workload relative to other workloads, wherein the mapping the plurality of workloads to the priority values is based on the importance values of the workloads.

15. The method of claim 9 , wherein the network forwarding elements form a fabric, wherein the method further comprises:

determining whether a network forwarding element is removed from or added to the fabric; and

based on determining that a network forwarding element is removed from or added to the fabric, updating the universal priority range.

16. A computer system for facilitating a plurality of heterogeneous hosts to use a range of priority values, the computer system being one of the heterogeneous hosts, the system comprising:

a memory having computer readable instructions; and

a processor configured to execute the computer readable instructions, the instructions comprising:

retrieving a plurality of ranges of priority values from a plurality of network forwarding elements shared by a plurality of heterogeneous hosts, the network forwarding elements providing access to a set of storage devices that stores data for the plurality of heterogeneous hosts;

generating a universal priority range from the plurality of ranges of priority values;

mapping a plurality of workloads performed by the plurality of heterogeneous hosts to priority values in the universal priority range; and

sending the universal priority range to at least one other host of the plurality of heterogeneous hosts,

wherein the at least one other host maps a plurality of workloads performed by the at least one other host to the priority values in the universal priority range, and

wherein the network forwarding elements forward the data for the plurality of workloads between the at least one host and the storage devices based on the priority values mapped to the workloads, wherein data with a higher priority value is forwarded before data with a lower priority value, and wherein the priority values mapped to the workloads are stored in a packet header of the data.

17. The computer system of claim 16 , wherein the retrieving the plurality of priority comprises:

sending a request for a range of priority values to a network forwarding element; and

receiving a range of priority values from the network forwarding element.

18. The computer system of claim 16 , wherein the generating the universal priority range comprises:

setting a maximum priority value of the universal priority range to a minimum priority value of maximum priority values of the range of priority values; and

setting a minimum priority value of the universal priority range to a maximum priority value of minimum priority values of the range of priority values.

19. The computer system of claim 16 , wherein each of the workloads is associated with a performance goal that quantifies how fast the workload has to be performed by a corresponding host, wherein the mapping the plurality of workloads to the priority values is based on the performance goals associated with the workloads.

20. The computer system of claim 19 , wherein the instructions further comprise:

monitoring each workload to determine whether the workload is meeting the performance goal; and

adjusting the mapping between the workload to the priority value based on determining that the workload is not meeting the performance goal.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MAPLEBEAR INC.
Reel/Frame 055155/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2014
From: RIEDY, DALE F.; YOCOM, PETER B.; YUDENFRIEND, HARRY M.
To: INTERNATIONAL BUSINESS MACHINES
Reel/Frame 032635/0476 →