On the Use of Discrete-Event Simulation in Computer Networks Analysis and Design

On the Use of Discrete-Event Simulation in Computer Networks Analysis and Design

Hussein Al-Bahadili (The Arab Academy for Banking & Financial Sciences, Jordan)
DOI: 10.4018/978-1-60566-774-4.ch019
OnDemand PDF Download:
No Current Special Offers


This chapter presents a description of a newly developed research-level computer network simulator, which can be used to evaluate the performance of a number of flooding algorithms in ideal and realistic mobile ad hoc network (MANET) environments. It is referred to as MANSim. The simulator is written in C++ programming language and it consists of four main modules: network, mobility, computational, and algorithm modules. This chapter describes the philosophy behind the simulator and explains its internal structure. The new simulator can be characterized as: a process-oriented discrete-event simulator using terminating simulation approach and stochastic input-traffic pattern. In order to demonstrate the effectiveness and flexibility of MANSim, it was used to study the performance of five flooding algorithms, these as: pure flooding, probabilistic flooding, LAR-1, LAR-1P, and OMPR. The simulator demonstrates an excellent accuracy, reliability, and flexibility to be used as a cost-effective tool in analyzing and designing wireless computer networks in comparison with analytical modeling and experimental tests. It can be learned quickly and it is sufficiently powerful, comprehensive, and extensible to allow investigation of a considerable range of problems of complicated geometrical configuration, mobility patterns, probability density functions, and flooding algorithms.
Chapter Preview


System designers use performance evaluation as an integral component of the design effort. Figure 1 describes the general role of simulation in design. The designer relies on the simulation model to provide guidance in choosing among alternative design choices, to detect bottlenecks in system performance, or to support cost-effective analysis. As part of this process, the designer may use the simulation output to modify the system abstraction, model, or implementation as opposed to the system itself. The simulation output may also be used include detail that may have not been considered in the previous abstraction, model, or the implementation, for example to collect additional or alternative types of data (Sinclair 2004, Law & Kelton 2000).

Figure 1.

The role of simulation in validating a design model


Another important use of simulation is as a tool to help validate an analytical approach to performance evaluation. In an analytical approach, the system model is implemented as a set of equations. The solution to these equations captures in some way the behavior of the model and thus optimistically of the system itself. Analytical modeling often requires simplifying assumptions that make the results suspect until they have been confirm by other techniques, such as simulation. Figure 2 illustrates the role of simulation in validating results from an analytical model. The system models A and B in Figure 2 may actually be identical, or they may be quite different (Nutaro 2007, Chung 2004).

Figure 2.

The role of simulation in validating an analytical model


Computer simulation is widely-used in investigating the performance of existing and proposed systems in many areas of science, engineering, operations research, and management science, especially in applications characterized by complicated geometries and interaction probabilities, and for dealing with system design in the presence of uncertainty (Banks et. al. 2005). This is particularly true in the case of computer systems and computer networks (Forouzan 2007, Stallings 2005, Tanenbaum 2003). In order to study a system using simulation, first some features from the system are abstracted, which believe significant in determining its performance. This abstraction is called the system model. Next, the model is implemented by writing a computer program whose execution mimics the behavior of the model. Data collected during the simulation program's execution are used to compute estimates of the performance of the original system. The accuracy of these estimates depends on the fidelity of the model and the way in which the measurements are taken from the simulation programs (Sinclair 2004).

The principle objective for this work is to introduce the reader to the principles of computer simulation and how it can be used in computer networks analysis and design. Simulation models can be classified according to different criteria, however, in this work, we consider three widely-used criteria in classifying the different types of simulation models, and these are: time-variation of the state of the system variables, simulation termination procedure, and input-traffic pattern. According to first criteria, simulation models can be classified into continuous-valued, discrete-event, or a combination of the two. Discrete-event simulation can be implemented using one of the three methodologies: event-driven, process-oriented, and distributed simulation. Process-oriented is a well-approved and a powerful tool for evaluating the performance of computer networks in comparison with analytical modeling and experimental tests.

Key Terms in this Chapter

Steady-State Simulation: A steady-state simulation is used to investigate the steady-state behavior of a system, where the simulation continues until the system reaches a steady-state. Otherwise the simulation results can be significantly different from the true results.

Simulation Language: Simulation language is a computer language describes the operation of a simulation model on a computer.

Event-Driven Simulation: It is a type of simulation that allows the system model to evolve as a sequence of events, where an event represents a change in the model state. The change takes zero time; i.e., each event is the boundary between two stable periods in the model’s evolution (periods during which the state variables do not change), and no time elapses in making the change.

Distribute Simulation: In a distributed simulation the model is implemented as a set of processes that exchange messages to control the sequencing and nature of changes in the model states.

MANSim: It is an academic, research-level computer network simulator, which can be used to evaluate, analyze, and compare the performance of a number of flooding algorithms in ideal and realistic MANET environments. It is written in C++ programming language, and consists of four main modules: network, mobility, computational, and algorithm modules.

Continuous-Valued Simulation: In a continuous-valued simulation, the values of the system states are continuously change with time. The various states of the system are usually represented by a set of algebraic differential, or integro-differential equations. The simulation program solves the equations and uses the numbers to change the state and output of the simulation.

Terminating Simulation: A terminating simulation is used to study the behavior of a system for a well-defined period of time or number of events.

Process-Oriented Simulation: It is a type of simulation that allows related state changes to be combined in the context of a process.

Discrete-Event Simulation: In discrete-event simulation the operation of a system is represented as a chronological sequence of events. Each event occurs at an instant in time and marks a change of state in the system.

Flooding Algorithm: A flooding algorithm is an algorithm for distributing material to every part of a connected network. They are used in systems such as Usenet and peer-to-peer file sharing systems and as part of some routing protocols. There are several variants of flooding algorithm: most work roughly as follows: each node acts as both a transmitter and a receiver, and each node tries to forward every message to every one of its neighbors except the source node. This results in every message eventually being delivered to all reachable parts of the network.

Stochastic Simulation: In stochastic simulation the system workload or the model input is characterized by various probability distributions, e.g., Poisson, exponential, On/Off, self-similar, etc. During the simulation execution, these distributions are used to produce random values which are the inputs to the simulation model

Network Simulator: It is a software tool develops to support computer networks analysis and design. Some of the network simulators are of general-purpose use and other dedicated to simulate particular types of computer networks.

MANET: A MANET, which stands for mobile ad hoc network, is defined as a collection of low-power wireless mobile nodes forming a temporary wireless network without the aid of any established infrastructure or centralized administration.

Trace-Driven Simulation: It is an important tool in many simulation applications in which the model’s inputs are derived from a sequence of observations made on a real system.

Complete Chapter List

Search this Book: