Differentiating blade destination and traffic types in a multi-root PCIe environment
First Claim
1. A method, in a data processing system, for differentiating between different traffic types comprising:
- generating a first mapping data structure that, for each single-root virtual hierarchy in a plurality of single-root virtual hierarchies of the data processing system, associates each traffic class in a plurality of traffic classes with a corresponding priority group in a plurality of priority groups and a corresponding virtual channel in a plurality of virtual channels;
generating a second mapping data structure that maps each virtual channel in the plurality of virtual channels to a corresponding virtual link in a plurality of virtual links of the data processing system; and
routing traffic of a particular priority group from a single-root virtual hierarchy of the plurality of single root virtual hierarchies to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure, wherein each combination of a single-root virtual hierarchy of the plurality of single-root virtual hierarchy and virtual channel is mapped to a different virtual link in the plurality of virtual links, wherein routing traffic from the single-root virtual hierarchy to the particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure comprises;
determining a traffic class associated with the traffic;
performing a lookup operation in the first mapping data structure to identify a virtual channel corresponding to the particular priority group of the traffic, the priority group of the traffic corresponding to a combination of the single-root virtual hierarchy and the traffic class of the traffic;
performing a lookup operation in the second mapping data structure to identify a virtual link associated with the virtual channel and single-root virtual hierarchy of the traffic; and
routing the traffic to the identified virtual link.
1 Assignment
0 Petitions
Accused Products
Abstract
Mechanisms for differentiating traffic types per host system blade in a multi-root PCI Express environment are provided. The mechanisms generate a first mapping data structure that, for each single-root virtual hierarchy in the multi-root data processing system, associates a plurality of traffic classes with a plurality of priority groups and maps each traffic class in the plurality of traffic classes to a corresponding virtual channel in a plurality of virtual channels. Moreover, a second mapping data structure is generated that maps each virtual channel in the plurality of virtual channels to corresponding per host system blade virtual links in a plurality of virtual links of the multi-root data processing system. Traffic of a particular priority group is routed from a single-root virtual hierarchy to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure.
81 Citations
18 Claims
-
1. A method, in a data processing system, for differentiating between different traffic types comprising:
-
generating a first mapping data structure that, for each single-root virtual hierarchy in a plurality of single-root virtual hierarchies of the data processing system, associates each traffic class in a plurality of traffic classes with a corresponding priority group in a plurality of priority groups and a corresponding virtual channel in a plurality of virtual channels; generating a second mapping data structure that maps each virtual channel in the plurality of virtual channels to a corresponding virtual link in a plurality of virtual links of the data processing system; and routing traffic of a particular priority group from a single-root virtual hierarchy of the plurality of single root virtual hierarchies to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure, wherein each combination of a single-root virtual hierarchy of the plurality of single-root virtual hierarchy and virtual channel is mapped to a different virtual link in the plurality of virtual links, wherein routing traffic from the single-root virtual hierarchy to the particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure comprises; determining a traffic class associated with the traffic; performing a lookup operation in the first mapping data structure to identify a virtual channel corresponding to the particular priority group of the traffic, the priority group of the traffic corresponding to a combination of the single-root virtual hierarchy and the traffic class of the traffic; performing a lookup operation in the second mapping data structure to identify a virtual link associated with the virtual channel and single-root virtual hierarchy of the traffic; and routing the traffic to the identified virtual link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product comprising a non-transitory computer recordable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a data processing system, causes the data processing system to:
-
generate a first mapping data structure that, for each single-root virtual hierarchy in a plurality of single-root virtual hierarchies of the data processing system, associates each traffic class in a plurality of traffic classes with a corresponding priority group in a plurality of priority groups and a corresponding virtual channel in a plurality of virtual channels; generate a second mapping data structure that maps each virtual channel in the plurality of virtual channels to a corresponding virtual link in a plurality of virtual links of the data processing system; and route traffic of a particular priority group from a single-root virtual hierarchy of the plurality of single root virtual hierarchies to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure, wherein each combination of a single-root virtual hierarchy of the plurality of single-root virtual hierarchy and virtual channel is mapped to a different virtual link in the plurality of virtual links, wherein routing traffic from the single-root virtual hierarchy to the particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure comprises; determining a traffic class associated with the traffic; performing a lookup operation in the first mapping data structure to identify a virtual channel corresponding to the particular priority group of the traffic, the priority group of the traffic corresponding to a combination of the single-root virtual hierarchy and the traffic class of the traffic; performing a lookup operation in the second mapping data structure to identify a virtual link associated with the virtual channel and single-root virtual hierarchy of the traffic; and routing the traffic to the identified virtual link. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A data processing system, comprising:
-
a hardware management console; and a host system coupled to the hardware management console, wherein the hardware management console; generates a first mapping data structure that, for each single-root virtual hierarchy in a plurality of single-root virtual hierarchies of the data processing system, associates each traffic class in a plurality of traffic classes with a corresponding priority group in a plurality of priority groups and a corresponding virtual channel in a plurality of virtual channels; generates a second mapping data structure that maps each virtual channel in the plurality of virtual channels to a corresponding virtual link in a plurality of virtual links of the data processing system; and routes traffic of a particular priority group from a single-root virtual hierarchy of the plurality of single root virtual hierarchies to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure, wherein each combination of a single-root virtual hierarchy of the plurality of single-root virtual hierarchy and virtual channel is mapped to a different virtual link in the plurality of virtual links, wherein routing traffic from the single-root virtual hierarchy to the particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure comprises; determining a traffic class associated with the traffic; performing a lookup operation in the first mapping data structure to identify a virtual channel corresponding to the particular priority group of the traffic, the priority group of the traffic corresponding to a combination of the single-root virtual hierarchy and the traffic class of the traffic; performing a lookup operation in the second mapping data structure to identify a virtual link associated with the virtual channel and single-root virtual hierarchy of the traffic; and routing the traffic to the identified virtual link.
-
Specification