OSSCAR { Object oriented Simulation of Slotted ... - CiteSeerX

3 downloads 0 Views 292KB Size Report
VOICE VBR. POTS-3.1 kHz ADPCM VBR. 11.2 kbps 32 kbps ..... Verbiest, W., Pinnoo, L.: A Variable Bit Rate Codec for Asynchronous Transfer. Mode Networks.
OSSCAR { Object oriented Simulation of Slotted Communication Architectures Roya Ulrich1 and Winfried Dulz2 1

International Computer Science Institute, Berkeley, CA 94704, USA 2 University of Erlangen-Nurnberg (IMMD VII), Martensstr. 3, 91058 Erlangen, Germany

Abstract. Recent advances of physical communication media allow data transmissions at very high transmission capacity and low error rates. Concurrent to this evolution, an increase interest in real-time and multimedia applications can be seen in science, medicine, manufacturing, as well as entertainment. The design, planning and construction of these new communication structures can be supported in an e ective manner by their simulation. The class library OSSCAR is being developed at the university of Erlangen-Nurnberg for performance evaluation of slotted high speed networks as ATM, DQDB and CRMA. This paper concerns with the main features of OSSCAR and its underlying modeling technique.

1 Introduction OSSCAR (object oriented simulation of slotted communication architectures ) is being developed at the University of Erlangen-Nurnberg as a simulation tool for the performance evaluation of slotted high speed networks under complex multimedia load con guration. OSSCAR is based on the simulation packet CNCL (communication network class library [6]) from the Technical University of Aachen. CNCL provides a powerful set of C++ classes supporting event-driven simulations.3 The paper is organized as follows: Section 2 provides a brief overview of OSSCAR's underlying modeling methodology. The load generator component, representing the most prominent stochastic processes to model trac with variable bit rate (VBR) or constant bit rate (CBR), is presented in Section 3. In Section 4, the network simulators of OSSCAR currently implemented, are introduced.

2 C++ Simulation Environment OSSCAR A simulation process with OSSCAR is based on the modeling principle loadmachine-model [8] which gives the possibility of modular speci cation of a 3

Both class libraries are available via anonymous ftp from: CNCL ftp.dfv.rwth-aachen.de:/pub/cncl, and OSSCAR ftp.informatik.uni-erlangen.de:/local/inf7/vs/osscar.

heterogeneous communication environment. Based on this technique, a model of a complex system, the so-called system model , can be derived by mapping a load model to a machine model, where the { load model represents the behavior of individual data sources and determines a trac scenario, and { machine model represents the (hardware or software) components processing the load. The exibility and scalability of the system model are guaranteed by the ability to change the sub-models. Running a major simulation process involves starting the system simulator with the system model, which is automatically derived from the user's load and network/protocol speci cation. After the simulation, results in the form of event reports and traces are recorded in several text les. These les can be evaluated, and the performance measures can then represented in tabular, graph or textual form. Figure 1 schematically illustrates a simulation process by OSSCAR. The principle of OSSCAR was to create a universal simulation tool that can be extended to di erent slotted high speed networks. If we compare such communication architectures, we can determine some basic common features, for example - data packets with xed size, - the same underlying layer reference model and functionality of each layer, - the o ered services concerning multimedia applications, as well as - the similar network management facilities. Using object-oriented programming and event-driven simulation technique supported by the CNCL [6], a BASE class library was implemented, abstractly specifying the universal features of slotted communication architectures. The BASE classes represent the network components such as physical links, stations, and services o ered. For an actual simulation, specialized classes are derived from the BASE classes. The BASE classes are derived from the root class of CNCL: CNobject (see Figure 2). Some class subtrees for the simulation of ATM (asynchronous transfer mode), DQDB (distributed queue dual bus), and CRMA-II (cyclic reservation multiple access - second version) networks are currently implemented by the specialization of the BASE classes (see also Section 4). The object-oriented programming paradigm allows the easy integration of new models into the inheritance hierarchy of OSSCAR. Figure 3 shows the interaction between OSSCAR's components. Notice should be taken of the minimal interface between load generators and network simulators which guarantees scalability in the modeling environment. The load generation process happens independent of, and before a protocol simulation. The generated jobs are stored in a FIFO queue, and the network simulators serve the queue by function calls during simulation. OSSCAR's evaluation objects provide several quantitative performance measurements:

Load

Network (including protocol and hosts/workstations) User Specification

Abstraction Load Model

Machine Model

Configuration

Mapping

System Model

Iteration

System Simulation

Event Reports and Traces

...

Simulation

...

System Performance Evaluation

Evaluation

...

0,04 0,035 0,03 0,025 0,02 0,015 0,01 0,005

burstiness faktor 1,5

0

burstine ss f akto r 2,5

0

0,2

0,4

bur stiness fakto r 3,5

0,6

reservation factor

0,8

1

Fig.1. A Simulation Process with OSSCAR

CNobject

Configurator

CNEventHandler

PacketReception

Node

Link

Packet

Data

CNEvent

Job

ATM Testbed

Service

Logger

ACL_Service

Reservoir Testbed

DQDB_Node ICO_Service CNCL Classes

CRMA_II_Node ACO_Service

Base Classes

Fig. 2. Inheritance Hierarchy of OSSCAR User Interface

Configuration

Result

jobs

Load Generation

Network/Protocol Simulator Evaluation

BASE

C

N

Class

Library

C

L

Fig. 3. Interaction between OSSCAR's Components

{ statistics relating to each job, for instance

experienced delay and delay jitter, experienced loss rate, { statistics relating to the network resources, for instance  bandwidth usage or wastage in a selected physical link, and  average bu er size in a network component.  

OSSCAR is currently available for SunOS 4.1.x and Linux platforms. More information, as well as several case studies, can be found in [14, 15] and in the master's theses referenced there.

3 Multimedia Load Generation One of the most signi cant components of OSSCAR is the load generation module. There are 13 load generators available, representing the most common stochastic processes, e. g. on-o [2], autoregressive [1], and di erent Markov Modulated processes [5]. Table 1 gives an overview of the implemented load generators and their characteristics.4

name

service

CBR/VBR

average peak packet size bit rate bit rate [byte]

VOICE CBR AUDIO ON DEMAND VOICE VBR

64 kbps 64 kbps 48 1.536 Mbps 1.536 Mbps 48 11.2 kbps 32 kbps 48

VIDEOPHONE MMPP DATA1

3.9 Mbps 872 kbps

10.575 Mbps 200..45,000 { 1500

{ { 4 Mbps { 9.6 Mbps 3 Mbps 10 Mbps 50 Mbps

{ { 40 Mbps { { 6 Mbps 50 Mbps 125 Mbps

MMPP DATA2 MMBP MMBP BATCH MMBP BATCH GRAFIC FILETRANS3 FILETRANS10 FILETRANS50

POTS-3.1 kHz PCM CBR Audio-On-Demand CBR POTS-3.1 kHz ADPCM VBR on-off model video source VBR data traffic of Sun3 CBR/VBR workstations [7] not specific CBR/VBR not specific CBR/VBR TEST video source VBR VIDEO video source VBR medical imaging - Xray VBR file transfer VBR file transfer VBR file transfer VBR

{ {

n  48

{ 6,000,000 1,500..25,000 100..1,000,000 50,000..2,500,000

Table 1. OSSCAR's Load Generators The major advantage of load generators is the multi-layered trac modeling (see [12]) which gives the exibility to describe di erent time levels with di erent trac models. Figure 4 shows the hierarchical structure of the generated data stream for a ctive source. The meaning of the levels is as follows: { call level describes the source behavior at the level of virtual channels. This modeling level includes the establishment and release of connections. The call duration could last from a few seconds to several hours. { burst level describes the source behavior within a call on the order of milliseconds. At this level, some sources (especially voice sources) alternate between two phases: on and o . With VBR sources both the packet size and the packet interarrival time can vary in the burst level. 4

Refer to [3] for more implementation detail.

Call Layer

Burst Layer

Call Duration

Burst Length

Cell Layer

Fig.4. Hierarchical Modeling of Trac

{ cell level describes the cell (or slot) generation on the order of microseconds.

The generated cells are now ready for transmission over the network. The load generation is performed independently before starting a network simulation (including protocols, workstations, hosts, etc.). The generated data is stored in a FIFO queue which is serviced by the network simulators of OSSCAR (see Figure 3). An advantage of this procedure is that the same load scenario can be used simultaneously for di erent network simulations. The combination of di erent load generators makes it possible to de ne heterogeneous load con gurations. This possibility is used in many performance studies with OSSCAR. A load scenario is created by the user in a con guration le with the following information: { number of load generator objects representing applications in the load scenario, { duration of the load generation process at the call and burst level, { sender station, { destination station of data transfer, and { distribution of the active and passive phases of a connection, i.e. activities at the call level. An entry in such a con guration le begins with the name of the selected load generator followed by the information above. For example, the entry VIDEOPHONE, 1, 0, 10, DETERMINISTIC 31, UNIFORM 0 31, EXP 0.3, ICO;

means that an object of the load generator type VIDEOPHONE is created which is active for 10 seconds. The data source is represented by the node 31 (a deterministic value), and the receiver is randomly selected (uniformly distributed number between 0 and 31). Active phases of the connection are exponentially distributed with parameter 0 3. This information can also be omitted which means that the connection is active during the whole simulation time. The key :

word ICO represents the required service: isochronous, connection-oriented. This parameter is also optional, and if left out, data is transferred by asynchronous and connectionless services. Figure 5 illustrates the output of the load generator VIDEOPHONE which is based on the modeling of a video source with an autoregressive process [18, 1]. The source has an average bit rate of 3.9 Mbps and a peak rate of 10.5 Mbps. The peaks occur at scene changes and the rate variation during a scene is assumed to be relatively small. 50000 45000

packet size [byte]

40000 35000 30000 25000 20000 15000 10000 5000 0 0

10

20

30

40

50 time [s]

60

70

80

90

100

Fig. 5. Output of Load Generator VIDEOPHONE It is important to note that the load generators do not produce real data packets. The data units are C++ structures with information about packet size and packet generation time. These uniform structures are read by the network simulators. This simple interface makes it possible to extend the simulation environment by including the transmission of real data streams through a simulating network. Complex load con guration can be created using OSSCAR's load generators to simulate a mix of VBR and CBR trac with di erent bit rate requirements. The load scenario observed is illustrated in Figure 6. Large packets are generated by VIDEOPHONE and have a size of about 38,000 bytes. Only packet sizes smaller than 5,000 bytes are plotted for better visualization of the load scenario. The basic load (visible by a narrow black space in the gure) is caused by 29 load generators of type AUDIO ON DEMAND, generating isochronous CBR trac. For the simulation time of 0.1 s, three FILETRANS3 generate asynchronous VBR trac which leads to an increase in the entire network load. This is recognizable in Figure 6 from the close impulses (arriving packets) for these time instants. Data packets smaller than 700 bytes are generated by three MMPP DATA1 instances as well as MMBP BATCH TEST. Asynchronous VBR trac is also generated by 33 VIDEOPHONE objects running in connectionless mode.

5000 4500

packet size [byte]

4000 3500 3000 2500 2000 1500 1000 500 0 0

0.2

0.4

0.6

0.8

1

time [s]

Fig. 6. Trac Scenario of the Simulation

4 Prede ned Network Simulators OSSCAR provides several prede ned network simulators which are built from the composition of particular classes by the configurator object. The network simulators represent models for the network components and their interactions. OSSCAR currently provides network simulators for the DQDB protocol (according to the IEEE 802.6 [9]), CRMA-II (proposed in [17]), ATM (ITU recommendation 1.150 [10]) and a variety of C++ classes for resource management using the reservoir scheme [16]. As far as the user interface is concerned, the network simulators have to perform the following three tasks: 1. read user commands to con gure a certain network including its topology, media types used and a list of supported services with their QOS parameters. 2. accept the output of the load generator and take it as input for the simulation of some data trac over the con gured network. 3. produce some output that shows the simulation measurements. All input and output is handled by an OSF/Motif graphical interface (see Figure 7) or by simple text les. Future extensions considered for the OSSCAR modeling environment, includes the automatic con guration of a protocol simulator from a formal protocol

Fig. 7. OSSCAR's Graphical User Interface speci cation. For this purpose, the protocol speci cation languages SDL/MSC (speci cation and description language/message sequence charts ) are considered [4].

5 Final Remarks The design and performance prediction of new high speed communication systems can be done more exibly supported by simulation. The OSSCAR class library provides a powerful set of load generators and network simulators for simulating slotted high speed networks, such as ATM, DQDB, and CRMA-II. It is implemented in C++, and the simulation procedure is based on event-driven simulation using the class library CNCL. The major features of OSSCAR are { load-machine-modeling technique allows modular description of network and load scenarios. The modular design increases the exibility and

supports simulation of the same trac con guration on di erent networks, or in one network with di erent optimization algorithms. { object-oriented implementation allows the easy integration of new simulators or di erent algorithms. { event-driven simulation allows a very time ecient simulation. For example, the code optimized ATM simulator [13] required only about 20 minutes of computation time on a SUN-SPARC10 Workstation for \two seconds in the life of an ATM network". OSSCAR currently supports quantitative studies for the behavior of the simulated protocol and the modeled trac. After a simulation, the performance parameters (delay, delay jitter, loss rate, bandwidth usage, etc.) are recorded in simple text les and can be imported into almost any graphic tool. An integral component of the OSSCAR environment is the simulationtestbed for the reservoir scheme which permits us

{ to perform case studies under complex load and network scenarios, { to evaluate quantitatively the performance values experienced by a selected sensitive application,

{ to measure the network utilization and the percentage of the reservoir fraction during the simulation, and

{ to design and test di erent algorithms with the static bandwidth reservation, as well as dynamic slot allocation.

References 1. Anastassiou, D., Karlsson, G., Maglaris, B., Robbins J., Sen, P.: Performance Models of Statistical Multiplexing in Packet Video Communications. IEEE Transactions on Communications, 36(7):834{843, July 1988. 2. Brady, P.: A Statistical Analysis of On{O Patterns in 16 Conversations. The Bell System Technical Journal, 47(1):73{91, 1968. 3. De ner, D.: Konzeption und Implementierung von generischen C++-Klassen fur die Lastgenerierung in einer Simulationsumgebung fur getaktete Hochgeschwindigkeitsnetze. Diplomarbeit, Universitat Erlangen{Nurnberg, IMMD VII, Mai 1994. 4. Dulz, W., Dussa-Zieger, K., Herzog, U., Klehmet, U., Mertsiotakis, V., Ulrich, R.: Entwurf, Implementierung und Bewertung von Kommunikationsdiensten { Arbeitsbericht 1993{1995, SFB 182, Teilprojekt B3. Technical Report 3/95, Universitat Erlangen{Nurnberg, IMMD VII, January 1995. 5. Forst, V., Melamed, B.: Trac Modeling for Telecommunications Networks. IEEE Communications Magazine, 32(3):70{81, March 1994. 6. Gorg, C., Junius, M., Walke, B.: Hand-on-Tools Praktikum: BOOST/CNCL. RWTH Aachen, Oktober 1993. 7. Gusella, R.: A Characterization of the Variability of Packet Arrival Processes in Workstation Networks. Ph.D. thesis, Berkeley, California, 1990. 8. Herzog, U.: Leistungbewertung und Modellierung fur Parallelrechner. Informationstechnik (it), 31(1):31{38, 1989.

9. IEEE 802.6: IEEE Standards for Local and Metropolitan Area Networks. Distributed Queue Dual Bus (DQDB) Subnetwork of a Metropolitan Area Network (MAN), 1990. 10. ITU: Recumendation I. 150: B-ISDN ATM Functional Characteristics, 1990. 11. Marz, A., Ulrich, R.: Simulation of the DQDB Protocol using OSSCAR. Technical Report 12/95, Informatik VII, Universitat Erlangen{Nurnberg, 1995. 12. Roberts, J., editor: COST 224 - Performance Evaluation and Design of Multiservice Networks. France Telecom, October 1991. 13. Schaftner, Ch.: Konzeption und Implementierung generischer C++-Klassen zur Simulation von ATM-Netzen. Diplomarbeit, Universitat Erlangen{Nurnberg, IMMD VII, 1994. 14. Schaftner, Ch., Ulrich, R.: A Case Study with Simulation Environment OSSCAR. Technical Report 4/95, Informatik VII, Universitat Erlangen{Nurnberg, 1995. 15. Ulrich, R.: Simulationsumgebung OSSCAR. Technical Report 19/94, Informatik VII, Universitat Erlangen{Nurnberg, 1994. 16. Ulrich, R.: Reservoir-Based Resource Reservation for Slotted High Speed Networks. Ph.D. thesis, Informatik VII, Universitat Erlangen{Nurnberg, 1995. 17. van As, H., Lemppenau, W., Schindler, H.: A Gbit/s ATM Implementation of the CRMA-II Dual-Ring LAN and MAN. Proceeding of the 11th Annual EFOC&N Conference, pages 274{281, June 1993. 18. Verbiest, W., Pinnoo, L.: A Variable Bit Rate Codec for Asynchronous Transfer Mode Networks. IEEE Journal on Selected Areas in Communication, 7(5):761{770, June 1989. 19. CCITT Study Group XVIII: Temporary Document 34 (XVIII/8). Meeting Report of SWP 8/1 ATM, 11-28 June 1991.