riebl / artery

OMNeT++ V2X simulation framework for ETSI ITS-G5
GNU General Public License v2.0
203 stars 131 forks source link

Token Bucket in DCC #208

Closed OverwatchGirl closed 1 year ago

OverwatchGirl commented 3 years ago

Hello @riebl ,

So, my work consists of implementing Token Buckt in DCC::FlowControl, i added the Token Bucket code to the method DCC:FlowControl::Enqueue() where eachAccessCategory has it's own bucket , which makes it 4 buckets.

Then i tried to measure the rate of each AccessCategory in inet/pysicallayer/common/packetlevel/Radio.cc , exactly in the method Radio::startTransmission().

When i got the results, and plotted them, i noticed that the rate is not following the parameters of the Token Bucketset in each AccessCategory. Now i wander if putting the Token Bucket in the enqueue() method was the right decision, and if it is not the case should i put in a lower level ?

Thank you in advance.

riebl commented 3 years ago

In my opinion, it is fine to implement the token buckets at DCC's access layer, i.e. in FlowControl.

OverwatchGirl commented 3 years ago

Hello,

I am having second thoughts concerning my approach. Do you think that implementing Token Bucket in ITS-G5, help control the rate of the transmitted messages, or is it useless due to the existing DCC algorithms that already control the message transmission rate ?

Thank you so much for your help.

PS : i adapted the Token Bucket methods that already exist in inet, to the context of DCC , and exactly in the method DCC:FlowControl::enqueue()

riebl commented 3 years ago

Your token bucket will only show an effect if its rate limit is more restrictive than DCC or DCC is disabled.