Unreasonable delay in the Ieee80211Mac module in INET 2.6

21 views
Skip to first unread message

segmentation_fault

unread,
Oct 26, 2015, 12:00:07 PM10/26/15
to OMNeT++ Users

Hello,
I recently simulated a network of 30-60 nodes in INET, using the Ieee80211Mac module as the mac layer. The network is composed of N nodes all sending to a central node. Each node is composed by an Ethernet Traffic Generator (EtherTrafGen) that sends packets between 14 and 2000 bytes (uniformly distributed) with an intergeneration time exp(0.005s).
The problem arises when more than 1 AC is declared. With the same conditions, when the number of queues goes over 1 the delay introduced in the frame transmission seems unreasonable. All the packets are going as best effort by default, and no packet is moved to other ACs. The problem persists even when all the packets are placed in AC 0, and when they are placed all in AC 3.
The problem persists both with a classifier and the EDCA parameter set to true, and by forcing the number of queues to be more than two (that, in turns, makes the edcAF vector size more than 1). Delays measured in MAC layer at ACKs, SendUp, and in the application layer all agree on the trend.
For example, after 5 times per try, the delay, vs the number of declared queues is (along with 95% confidence interval, rightmost column):
nQueues 1 0.0350814453248 0.00106252822337
nQueues 2 2.32976075577 0.0122470987909
nQueues 3 2.33648048436 0.00533848181253
nQueues 4 2.28427334765 0.051946303581
. As is possible to notice, it jumps 2 orders of magnitude up.
Parameters use in the ini file follows at the end of the message.
All the other parameters do not express the same behaviour, remaining fairly stable. I suspect is the currentAC variable that varying creates somewhat an error in the backoff computation, but I ma not entirely sure.
I think it is a bug.
Regards
*.constraintAreaMinX = 0m
*
.constraintAreaMinY = 0m
*.constraintAreaMinZ = 0m
*
.constraintAreaMaxX = 600m
*.constraintAreaMaxY = 400m
*
.constraintAreaMaxZ = 0m

*.debug = true
*
.coreDebug = false
**.channelNumber = 0

channel physical parameters

*.channelControl.carrierFrequency = 2.4GHz
*.channelControl.pMax = 20.0mW
*.channelControl.sat = -110dBm
*.channelControl.alpha = 2

mobility

**.mobilityType = "StationaryMobility"

nic settings

.wlan.bitrate = 54Mbps
*.wlan.mac.opMode = "g"
*
.EDCA = true
*.mac.address = "auto"
*
.mac.maxQueueSize = 100
*.mac.rtsThresholdBytes = 3000B
*
.wlan.mac.retryLimit = 7
*.wlan.mac.cwMinData = 7
*
.wlan.mac.cwMinBroadcast = 31
*.wlan.mac.TXOP = 0s #All TXOPs disabled
#
.wlan.mac.AIFSN0 = 2

*.radio.transmitterPower = 20.0mW
*
.radio.carrierFrequency = 2.4GHz
*.radio.thermalNoise = -110dBm
*
.radio.sensitivity = -85dBm
*.radio.pathLossAlpha = 2
*
.radio.snirThreshold = 4dB

access point

.apAddress = "10:00:00:00:00:00"
*.accessPointAddress = "10:00:00:00:00:00"
*
.mgmt.frameCapacity = 100
**.ap.
.destAddress = ""
host[*]..destAddress = "10:00:00:00:00:00"
*.packetLength = uniform(14B,2000B) #from ACK_SIZE (112bit) to 2kbyte
*
.startTime = uniform(0s,1s)

**.wlan.mac.classifier = "Ieee80211eClassifier4q"

[Config nQueues]
.numHosts = 30
repeat = 5
#
.nQueues = ${nq = 1,2,3,4}
*.wlan.mac.classifier = ${classifier = "Ieee80211eClassifier1q","Ieee80211eClassifier2q","Ieee80211eClassifier3q","Ieee80211eClassifier4q"}
*
.sendInterval = exponential(${intrv = 0.005}s)
sim-time-limit = 100s
cmdenv-express-mode = true
**.vector-recording = false
cmdenv-status-frequency=60s

Reply all
Reply to author
Forward
0 new messages