Traffic differentiation with CSMA/ECA [Part 2]

Past posts in this Series [1][1.5] show how we managed to incorporate many instances of our MAC protocol (CSMA/ECA) into a single node to provide traffic differentiation.

In this post we analyse the effect of our SmartBackoff technique on the average time between successful transmissions.

Why is this important?

Well, when we provide traffic differentiation we are not just attempting to maximise the overall throughput. To provide Quality of Service (QoS) the Access Category (AC) with the highest priority should be able to access the channel and attempt transmission as soon as possible. This means that the time between successful transmissions of this AC should be lower than others’s.

To exemplify this, the following figure shows the average time between successful transmissions for a single node using EDCA, CSMA/ECA with Hysteresis (ECA_h) only, and CSMA/ECA with Hysteresis and Fair Share (ECA_full).

Figure 1: Time between successful transmissions. Single node and only one AC. Saturated.

Given that no collisions are possible (the data is derived by simulating traffic with only one node), ECA_full shows similar average time between successful transmissions than ECA_h (zero collisions in CSMA/ECA means that no aggregation is performed with Fair Share). Furthermore, due to the deterministic backoff after successful transmissions in CSMA/ECA, the time between successful transmissions is also deterministic. On the other hand, EDCA shows a higher value due to its random backoff technique, which increases the average time between successful transmissions. (In the very long-term, this metric for EDCA should be similar to ECA’s. This is because the deterministic backoff of ECA is the expected value of EDCA’s random backoff)

Figure 2: Time between successful transmissions. Sixteen (16) nodes and only one AC. Saturated.

Figure 2 shows the same information that Figure 1 but simulating the transmissions of sixteen nodes. EDCA and ECA_h send one packet in each attempt, while ECA_full aggregates according to Fair Share. In this example we see how EDCA is able to provide a lower average time between successful transmissions, while ECA_h appears as second. This is because collisions force ECA_h nodes to increase their backoff stage and use a deterministic backoff after successful transmissions in order to construct a collision-free schedule. The deterministic backoff used with Hysteresis is: Bd = 2^k*CWmin/2; where k∈[0,m] is the backoff stage with maximum value of m=5. A bigger deterministic backoff produces a bigger time between successful transmissions.

Again in Figure2, ECA_full shows the biggest value of the metric because on top of the schedule adaptation performed by Hysteresis (as in ECA_h), Fair Share instructs nodes to aggregate 2^k packets upon each attempt, taking much more channel time in each transmission.

What happens with more ACs?

With traffic differentiation we expect to see that the average time between successful transmissions follows the ACs’s priorities. That is, a higher priority AC should transmit more often than a lower priority AC. The following figure shows the average time between successful transmissions for sixteen nodes and four ACs in saturation.

Figure 3: Time between successful transmissions. Sixteen (16) nodes and only one AC. Saturated.

In Figure 3, ECA_s means CSMA/ECA with SmartBackoff.

First, we can see that results are as expected. Higher priority ACs transmit with a smaller period than lower priority ACs. Secondly, we appreciate the big impact Fair Share has in this metric. Notice how ECA and ECA_s bars show very big average time between successful transmissions when compared with EDCA or ECA_h. The figure suggests that aggregation has a big impact in this metric. Furthermore, SmartBackoff seems to provide negligible improvement to ECA_s.

Figure 4 compares the time between successful transmissions of EDCA and ECA_h with SmartBackoff. We call this ECA_h_s in the figure.

Figure 4: Time between successful transmissions. Sixteen (16) nodes and only one AC. Saturated.

In Figure 4, notice how EDCA average time between successful transmissions is greater than ECA_h or ECA_h_s. This again is due to collisions taking channel time and increasing the average time between successful transmissions for EDCA.

Figure 4 shows us that, even though SmartBackoff has great impact in the construction of CSMA/ECA’s collision-free schedule, it produces little effect regarding the average time between successful transmissions.

So what do we do with aggregation?

There is a lot of space for improvement. With a single AC we can safely use Fair Share, given that most of the time the goal is to maximise throughput. Nevertheless, when QoS is the goal we aim at minimising the time between successful transmissions for the highest priority AC.

As an initial suggestion, we might consider using Fair Share only on the lowest priority AC. Nevertheless, this measure does not ensure that the time between successful transmissions of the highest priority AC remains unaffected.

We will keep looking at this issue.

 

Posted under: CSMA/CA, CSMA/ECA, EDCA, Fair Share, Hysteresis, MAC, QoS, WiFi