APPENDIX A
P ERFORMANCE E VALUATION : P ARADIGMS , T ECHNIQUES AND T OOLS
A . 1 . I N T R O D U C T I O N
Performance models of computer and communication systems have been studied for many years with a view to assisting optimization and guiding the design of new generations. The purpose of this appendix is to present briefly the modeling paradigms and the techniques used for performance evaluations, as well as some existing tools.
A . 2 . M O D E L I N G P A R A D I G M S
The central issue in any modeling study is the selection of appropriate abstraction mechanisms for representing the system under study. In the area of communication network modeling, three broad classes of modeling approaches can be identified [52].
The first class of network models are graph-based models such as finite state
machines and Petri nets. These modeling formalisms are typically used for
network protocol specification and verification.
The second class of network models are procedural in nature. In this case, protocols are specified as a collection of interacting procedures written in a programming-like language. This modeling approach is based on the fact that network protocols are, by design, a clear way in which algorithms can be expressed. This class of models has been used extensively in protocol specification and verification.
The final class of network models are the so-called "job shop" models, which include the analytic and extended queueing network models. The queueing network is perhaps the most natural and straightforward model of a computer network.
A . 2 . 1 . Q u e u e i n g N e t w o r k s
Queueing network models have been used extensively as a modeling paradigm for deriving analytical as well as simulation based performance measures [105].
Standard queueing networks are systems which consist of a set of servers (active resources) to serve arriving customers. If there are more arrivals in a time interval than the amount of customers which can be served in that interval, a queue will arise. The server selects one or more customer from the queue according to a certain selection strategy and serves them. Customers either can enter the system at a source (in open systems) or they have been in the system since an initial point of time (in closed systems). A stochastic routing description for each customer in the system determines which sequence of servers is passed with which branching probabilities. The extended version of the queueing modeling paradigm (EQN) includes modeling elements such as traffic sources, shared resources and rules governing the flow of jobs [106]. The EQN is useful for capturing and simulating the asynchronous and queueing aspects of networks.
A . 2 . 2 . P e t r i N e t
A Petri net [107, 108, 109] is a graphic model of a system in which actions are
represented by transitions, drawn as bars or boxes, whereas situations are
represented by the existence of tokens, drawn as block dots, inside places, drawn
as circles. Places and transitions may be connected by arcs, thus forming a
bipartite graph, and establishing input and output relations between places and
transitions. The dynamic behavior of a Petri net is governed by the firing rule
according to which transitions are enabled when all their input places contain an appropriate number of tokens. Enable transitions can fire. The transition firing removes token from the input places and deposits new tokens in the output places. There are several variants of Petri Nets, offering extensions to the basic model, such as : i) timed Petri Net (introducing abstract time in the network), and ii) colored Petri Net (introducing types of places).
Petri net models are excellent for describing and analyzing protocols, they are not well suited for modeling and simulating the flow of packets and messages in large networks. Furthermore, Petri Nets can very quickly lead to unmanageable graphs even for reasonably small systems. This problem has led to the extensions, exemplified above.
A . 3 . P E R F O R M A N C E E V A L U A T I O N T E C H N I Q U E S
This section deals with the performance evaluation techniques used in computer communication networks. Basically, there are three categories of these techniques: measurements on real systems, analytical techniques, and simulation.
A . 3 . 1 . M e a s u r e m e n t s o n R e a l S ys t e m s
Measurements provide the most direct means of network performance evaluation. Their main objective is to gather statistics about various events, interpret them in terms of the network performance, and tune the network parameters to achieve the most optimal performance possible. The main requirements associated with this technique are: i) the network must exist or at least a prototype, ii) the experimentation have to be feasible, namely it is possible to suspend the operation of an ongoing network in order to perform the experiments. In order to obtain meaningful results, enough statistics have to be gathered, during a few days or may be several weeks.
A . 3 . 2 . A n a l yt i c a l M e t h o d s
Analytic models are quick, economical, and easy to work with. They require a
high degree of abstraction, considerable effort and skill may be required on the
part of the network modeler to develop a performance model which accurately
reflects the system under study. A tractable analytic model often restricts the
range of system characteristics that can be explicitly considered in a performance model. As a result, a modeler runs the risk of distorting a model to make it amenable to analytic solution and may end up with a correct solution, but to the wrong problem. Nonetheless, analytic techniques can be effective when carefully applied in practice.
A . 3 . 3 . S i m u l a t i o n
Simulation is a powerful tool for evaluating performance of any type of network.
Many times, simulation is the only feasible method to analyze networks where measurements are impracticable and analytical techniques are not tractable. With a simulation techniques, a network can be modeled to any arbitrary level of detail. Since the system may be modeled to any degree of detail, less abstraction is required and the process of model formulation is a more straightforward task.
The solution of a simulation model is generally time consuming.
A . 4 . T O O L S
In the literature, several tools are described. Hereafter, a brief description of BONeS
1[10], OPNET
2[8], NESSY
3[11, 110], TOPNET
4[9], and NetMod
5[12].
A . 4 . 1 . O P N E T
OPNET is a simulation tool for analyzing communication networks. The model description is done hierarchically. The user of OPNET, graphically specifies the topology of his network which consists of nodes and links. Each node includes processors, queues, and traffic generators. The user also has to describe the data flow between components in a node. Finally, the behavior of each process is
1 Block Oriented Network Simulator
2 Optimized Network Engineering Tool
3 NEtwork Simulation SYstem
4 Tool for the Object oriented, Petri network based Network Evaluation and Test
5 Network Modeling