Collisions force CSMA/ECA+Hysteresis nodes to larger deterministic backoffs, increasing the number of free slots between successful transmissions and degrading the throughput when compared with DCF. This is leveraged by Fair Share, which makes nodes at backoff stage k transmit 2^k packets.
We saw that there is a way to safely reduce CSMA/ECA’s schedule. This means that nodes at very high backoff stages could attempt to reduce it and switch to a shorter collision-free schedule. Figure 1 below shows the average throughput with a perfect channel for DCF, CSMA/ECA+Hysteresis and CSMA/ECA with all its extensions.
In Figure 1, we can see that halving has a slight but positive effect on the average throughput for CSMA/ECA+Hysteresis. These nodes halve their collision-free schedule when it is possible, therefore transmit more often.
For CSMA/ECA halving presents another issue. If stations effectively halve their schedule, then the level of aggregation will also be reduced due to Fair Share. We see in the figure that CSMA/ECA halving curve in fact shows lower throughput than without halving.
Introducing channel errors
Our simulator allows us to model channel errors by declaring collisions with a defined probability, pc. That is, we can decide that %pc transmissions to the channel object would result in collisions.
We tested our halving technique with different pc values. Figure 2 shows the average throughput with pc = 0.1. Other values of pc are omitted because they lead to the same conclusion.
Our modelling of channel errors prevent our conservative halving technique from being successfully executed, therefore halving (if ever performed) has no significant effect. In Figure 2, CSMA/CA outperforms CSMA/ECA+Hysteresis for the number of nodes tested. Nevertheless, as the number of nodes increases CSMA/ECA+Hysteresis would outperform CSMA/CA due to its periods of collision-free operation, as shown in Figure 3.
Halving shows the expected benefits when we have a perfect channel.
On the other hand, when working with pc > 0 our approach seems to be too conservative. The conditions allowing the halving of the schedule are too demanding.
We are currently working of finding a good tradeoff between collisions and throughput. One of the options we are envisioning is to introduce the concept of stickiness in the halving process. In this new approach, the node must only find a slot in half the complete cycle, that is, C/2 (where C = 2^m*CWmin/2, and m is the maximum backoff stage ). If all the conditions are satisfied, then the node will halve its cycle length and increase its stickiness. This increase in stickiness will glue the node to its new slot in case of a collision.
By using the approach described above, we are purposely increasing the collisions to perform a more aggressive halving of the collision-free schedule. Given that CSMA/ECA always has less collisions than CSMA/CA, this increase is not expected to affect the performance too much; specially when pc > 0.