Enhanced Transmission Selection

Enhanced Transmission Selection (ETS) is a network scheduler scheduling algorithm that has been defined by the Data Center Bridging Task Group  of the IEEE 802.1 Working Group. It is a hierarchical scheduler that combines static priority scheduling and a bandwidth sharing algorithms (such as Weighted round robin or Deficit round robin).

Description
The Enhanced Transmission Selection algorithm is one scheduling algorithm supported by IEEE 802.1Q. In Enhanced Transmission Selection, they are two types or queues: Strict priority or Credit-based queues, and bandwidth-assigned queues. Each bandwidth-assigned queue has a bandwidth parameter, and the total for all bandwidth-assigned queue must be 100%.

If there is no frame ready for transmission, in the Strict priority and Credit-based queues, a frame from the bandwidth-assigned queue can be transmitted. A bandwidth-sharing algorithm is in charge of selecting the queue such that the bandwidth consumed by each queue approaches its percentage of the bandwidth leftover by the Strict priority and Credit-based queues. If a queue uses less than its percentage, the remainder of its percentage used by other queues.

The standard does not specify which bandwidth-sharing algorithm must be used since there are a number of variants of bandwidth sharing algorithm, but gives some constraints and references Weighted round robin. The Linux implementation of ETS does not consider Credit-based queues and uses Deficit round robin as bandwidth-sharing algorithm. ETS is also implemented in Microsoft Network Drivers