Posts Tagged Simulation

spaces in MiXiM makemakefiles

Posted by on Friday, 20 July, 2012

MiXiM uses a ‘makemakefiles’ script, which makes the Makefiles by means of the following command:

make -f makemakefiles

However, after some modifications (adding own stuff) it stopped making new Makefile files. From visual inspection, nothing is wrong with the file. However, there’s a subtle thing you may want to check: the TAB in front of each line. DO NOT make the mistake of adding a few spaces, this is not just there to prettify things, opp_makemake apparently delimits on this TAB and gets severely upset from spaces there.

Removing any spaces and adding a TAB fixes the problem.

Clustercomputing with mpirun and torque

Posted by on Wednesday, 18 July, 2012

Some time ago I wrote about Clustercomputing with Torque, with a focus on discrete event simulations (using the method of independent replications). Turns out that method was not really efficient, so we try something else. Read the rest of this entry »

Speeding up OMNeT++/MiXiM simulations

Posted by on Wednesday, 21 December, 2011

Compiler optimisation flags can be quite helpful in bringing the (sometimes huge) duration of your OMNeT++ simulations to an acceptable level. Using a compute cluster can help, but even then the execution of a single process can take many hours for large networks. So let’s look at how you compile your code; I got a speed-up of approximately 10 times on some of my simulations. Read the rest of this entry »

Bug in Mac80211 in MiXiM post-backoff

Posted by on Friday, 16 December, 2011

Post-backoff was introduced into IEEE 802.11 to make sure that a station could not claim the channel by noting that the channel was idle after its own transmission, and then immediately transmit again. The idea is quite simple; transmission over -> pull a backoff from the contention window and count down (respecting the same rules w.r.t. carrier sense and inter-frame spacing etc.) and finally end up in the idle state. If a new packet was handed down by the network layer during post-backoff, the countdown would continue and result in a transmission. This behaviour is also implemented in MiXiM’s Mac80211 (and prior to that in the Mobility Framework). However, there’s a bug. Read the rest of this entry »

Bug in Mac80211 in MiXiM backoff when channel busy

Posted by on Thursday, 15 December, 2011

This post describes a bug in MiXiM’s Mac80211 which seems to be a fundamental error: when the MAC gets a packet from the Netw and the channel is busy, it schedules a senseChannelWhileIdle(currentIFS + remainingBackoff) after the ongoing transmission ends. Unfortunately, remainingBackoff is often 0 as post-backoff is likely to have completed. The result? Many synchronised collisions one IFS after the ongoing transmission. Read the rest of this entry »