Customized processing for different classes of RDMA traffic
Discussed herein is a framework that provisions for customized processing for different classes of traffic. A network device in a communication path between a source host machine and a destination host machine extracts a tag from a packet received by the network device. The packet originates at a source executing on the source host machine and whose destination is the destination host machine. The tag set by the source and indicative of a first traffic class to be associated with the packet, the first traffic class being selected by the source from a plurality of traffic classes. The network device determines the first traffic class based on the tag extracted from the packet and processes the packet based on the first traffic class.
1 . A method comprising:
extracting, by a network device in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag set is by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class being selected by the application executing on the source host machine from a plurality of traffic classes;
determining, by the network device, the first traffic class based on the tag extracted from the packet; and
in response to receiving the packet including the tag set by the application executing on the source host machine, processing, by the network device, the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.
2 . The method of claim 1 , wherein the network device is a top of rack switch or a spine switch.
3 . The method of claim 1 , wherein the source host machine is included in a first rack of a network cluster, and the destination host machine is included in a second rack of the network cluster, the second rack being different than the first rack.
4 . The method of claim 1 , wherein the tag is included in a type of service field included in a header portion of the packet, the type of service field being 8 bits long, and wherein 6 bits of the type of service field are allocated to the tag.
5 . The method of claim 1 , wherein the plurality of traffic classes includes a bandwidth-sensitive RDMA traffic, a latency-sensitive RDMA traffic, a management type of traffic, or a lossy TCP traffic.
6 . The method of claim 1 , wherein the first set of parameters associated with the network device includes a first parameter corresponding to a type of explicit congestion notification marking, and a second parameter corresponding to a depth of a queue associated with the network device.
7 . A network device comprising:
a processor; and
a memory including instructions that, when executed by the processor, cause the network device to, at least:
extract, by the network device that lies in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag is set by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class selected by the application executing on the source host machine from a plurality of traffic classes;
determine the first traffic class based on the tag extracted from the packet; and
in response to receiving the packet including the tag set by the application executing on the source host machine, process the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.
8 . The network device of claim 7 , wherein the network device is a top of rack switch or a spine switch.
9 . The network device of claim 7 , wherein the source host machine is included in a first rack of a network cluster, and the destination host machine is included in a second rack of the network cluster, the second rack being different than the first rack.
10 . The network device of claim 7 , wherein the tag is included in a type of service field included in a header portion of the packet, the type of service field being 8 bits long, and wherein 6 bits of the type of service field are allocated to the tag.
11 . The network device of claim 7 , wherein the plurality of traffic classes includes a bandwidth-sensitive RDMA traffic, a latency-sensitive RDMA traffic, a management type of traffic, or a lossy TCP traffic.
12 . The network device of claim 7 , wherein the first set of parameters associated with the network device includes a first parameter corresponding to a type of explicit congestion notification marking, and a second parameter corresponding to a depth of a queue associated with the network device.
13 . A non-transitory computer readable medium storing specific computer-executable instructions that, when executed by a processor, cause a computer system to at least:
extract, by a network device in a communication path between a source host machine and a destination host machine, a tag from a packet received by the network device, the packet originating at the source host machine and whose destination is the destination host machine, wherein the tag is set by an application executing on the source host machine and is indicative of a first traffic class to be associated with the packet, the first traffic class selected by the application executing on the source host machine from a plurality of traffic classes;
determine, by the network device, the first traffic class based on the tag extracted from the packet; and
in response to receiving the packet including the tag set by the application executing on the source host machine, process the packet based on the first traffic class by setting a first set of parameters associated with the network device and a second set of parameters corresponding to a network interface card associated with the source host machine, wherein the second set of parameters includes an adaptive retransmission parameter, a slow restart parameter, a number of queues parameter, or a packet sequence number parameter.