Software Support
CHAPTER 9. SOFTWARE SUPPORT
9.3. OMNeT++ Arrival Process Module
9.3.7. Example Models
In the following it will be shown how theArrivalProcessmodule can be incorporated into differentOMNeT++models by two application examples. The results obtained from these simulation models support the observation that the negligence of autocorrelation may have serious impact on the simulation results.
Figure 9.5 shows a simple queueing model. The model consists of the OMNeT++
ArrivalProcessmodule feeding a single server queue with a capacity of 10. We used different configurations of the model by generating interarrival times according to a MAP of order 4, according to an ARTA model with exponential marginal distribution and according to a CHEP with Hyper-Erlang marginal distribution with 6 states.
OMNeT++models can be parameterized by a textual configuration file, usually called omnetpp.ini. This file includes parameters of the model that are subject to frequent changes for different simulation runs, i.e. interarrival time distributions, service times
CHAPTER 9. SOFTWARE SUPPORT
Figure 9.5.: SimpleOMNeT++model withArrivalProcessmodule
Listing 9.9: Example configuration file
1 [ General ]
2 network = Example1
3 **. server . serviceTime = exponential (0.4 s)
4 **. server . buffer = 10
5
6 [ Config MAP ]
7 description = " MAP Arrivals "
8 **. arrivalProcess . model = xmldoc (" map . xml ")
9
10 [ Config ARTA ]
11 description = " ARTA Arrivals "
12 **. arrivalProcess . model = xmldoc (" arta . xml ")
13
14 [ Config CHEP ]
15 description = " CHEP Arrivals "
16 **. arrivalProcess . model = xmldoc (" chep . xml ")
etc. Moreover, OMNeT++allows for the specification of alternative configurations for one model from which the desired configuration can be chosen when simulating the model. For theArrivalProcessmodule the configuration file is used to enter a model file with the process description and optionally to enter a function for postprocessing the generated time series. TheOMNeT++configuration file can be used to define alter-native configurations, one for each of the processes, to be used with the same model.
Listing 9.9 shows the configuration file for the model from Figure 9.5.
It contains four sections, one for the default configuration and three alternative con-figurations for different stochastic processes. The first one, namedGeneral, is the default and its entries are used for all other three configurations. They determine the network name, the service time and the queue capacity of the server, which is the same in all cases. The remaining three configurations are used to initialize the ArrivalProcessModule with three alternative stochastic processes to generate the ar-rivals in the model. Each of them consists of a description and a file containing the stochastic process inProFiDo’s XML interchange format, which have been generated by executing the workflow from Figure 9.2. Note, that the stochastic process used by theArrivalProcessmodule can easily be exchanged by specifying another XML description using the parameter**.arrivalProcess.model. Using the configuration from Listing 9.9 the model from Figure 9.5 is executed three times to compare the
9.3. OMNET++ ARRIVAL PROCESS MODULE
simulation results of the different processes.
The model is analyzed with several utilization levels for the server between %= 0.4 and % = 0.8 and the queue length distribution is taken as result measure. The three mentioned stochastic processes have been obtained by fitting MAPs, ARTA and CHEP models to the trace LBL-TCP-3 [130] from the Internet Traffic Archive [148]. For comparison we simulated the same setup with a slightly modified model that reads the interarrival times of the jobs directly from the trace to obtain reference values for the queue length according to a trace driven simulation. Finally, in another series of experiments we used an exponential distribution (i.e. the same distribution that the ARTA model uses as marginal distribution) fitted to the trace as a traffic generator with independent interarrival times resulting in a Poisson input process. Figure 9.6
1e-05 0.0001 0.001 0.01 0.1 1
0 2 4 6 8 10
probability
queue length
Trace Dist MAP ARTA CHEP
(a) Utilization %= 0.4
0.01 0.1 1
0 2 4 6 8 10
probability
queue length
Trace Dist MAP ARTA CHEP
(b) Utilization %= 0.8
Figure 9.6.: Queue length distribution for the model from Figure 9.5
shows the queue length distribution for the two different utilization values % = 0.4 and % = 0.8. From Figure 9.6(a) it is clearly visible that for % = 0.4 the probabilities of queue length up to 2 are similar for the trace, the three stochastic processes and the distribution. For larger values towards the tail of the queue length distribution the model with uncorrelated inputs significantly underestimates the probabilities. E.g., for queue length 10 the difference between the values of the trace driven simulation and the model with the Poisson input process is between 2 and 3 orders of magnitude. Among the stochastic processes, the MAP and the CHEP provide much better results than the ARTA process, although it should be noted, that both MAP and CHEP use a larger PH distribution with several states and the ARTA process only has an exponential marginal distribution. For a utilization of % = 0.8 the stochastic processes perform better for almost all values of the queue length distribution as shown in Figure 9.6(b).
Again, MAP and CHEP give better results than the ARTA process.
As a second example we modified the NClients model that is part of the INET Framework to use the ArrivalProcessmodule. Figure 9.7 gives an overview of the network that consists of four client hosts connected to a server via different routers.
Figure 9.8 shows the inner view of one of those hosts. The host consists of a mod-ule for the TCP protocol implementation, a modmod-ule for the network layer and sev-eral interfaces, which are taken from the implementation of the StandardHost of the INET framework. TCP packets are generated according to the events created by the ArrivalProcess module. Since the ArrivalProcessmodule only generates
CHAPTER 9. SOFTWARE SUPPORT
Figure 9.7.: Example model with simple network
Figure 9.8.: Host from Figure 9.7
correlated events, but is not tailored to a specific protocol implementation, this mod-ule is connected to the modmod-ule tcpGen, which serves as an interface between the ArrivalProcessmodule and the modules from the INET framework. tcpGen gen-erates a TCP connection and sends packets to the server whenever it is notified by the ArrivalProcessmodule. The server replies with a larger chunk of data to the request oftcpGen, i.e. the modules model typical web browsing behavior with a small request to the server and a larger reply by the server. The fourArrivalProcessmodules are initialized with CHEPs, MAPs and ARTA models with different exponential marginal distributions that all have been fitted to different parts of the trace BC-pAug89 [130].
For comparison we run the same setup with a slightly altered model where uncorre-lated TCP packets are generated according to the exponential distributions that have also been used for the ARTA models. To obtain reference values a trace driven sim-ulation with the original traces was run again. Figure 9.9(a) shows the queue length
9.4. A FRAMEWORK FOR FITTING AND ANALYZING STOCHASTIC