Вы находитесь на странице: 1из 6

An Efficient Simulation Technique Applicable to Bufferless UNIs for Performance Evaluation of CAC Strategies

Dervis Z. DENIZ

ABSTRACT In this paper, an efficient simulation modeling technique useful in performance analysis of channel access and control (CAC) strategies at a bufferless user-network interface is presented. The technique is applicable in event driven simulators and is based on the fact that timestamps can be used to keep process timings accurately. Departure events which are not critically time-dependent can be delayed until the occurrence of more significant events. The simplification gained is that the simulation system can be constructed without the need for an event manager or an event queue. This in turn reduces the software complexity and system simulation time significantly. The technique is verified through the simulation of some wellknown access strategies including the basic Erlang system, Erlang system with four types of customers using the Complete Sharing (CS) strategy and the Non-exhaustive CAC strategy. Keywords: Efficient simulation, event driven simulation, bufferless user-network interfaces, UNI modeling, CAC strategies, performance.

ISDNs, B-ISDNs and some other multi-channel communication systems. Channel access and control strategies have been proposed in the literature for these types of networks. Some examples are given but not limited to the references [4-8]. Bufferless and buffered types of networks have separately been considered. Others have also considered hybrid buffered and bufferless networks [5]. The performance of such networks can be evaluated using analytical and simulation models [3]. Here, a novel technique is proposed for simulating the bufferless user-network interfaces with heterogeneous traffic. This technique is based on the fact that event management may be simplified by ignoring certain non-time critical events and realizing them in synchrony with other events. In particular, it is proposed that the departure event of customers which have completed service be treated at the subsequent customer arrival times. This technique is useful since customers entering service do not need to generate service completion events in advance to be queued into an event queue and to be treated when they mature. This reduces simulator design complexity, saves memory space, and reduces simulation time at no cost to the simulation accuracy. In the rest of this paper the material is presented as follows. Section 2 presents the simulation system details. Validation results for the simulator are given in section 3. Section 4 presents the conclusion.

1. INTRODUCTION Integrated broadband multimedia networks present a multiresource facility for servicing of widely varying traffic streams such as voice, video and data. For these networks management of the resources and access control problems become important for improving their performance measures (e.g. blocking probabilities, throughput, utilization, etc.). Performance of channel access and control (CAC) strategies has been of great interest within the past ten years for network designers. It is still of valuable interest to find efficient ways of measuring performance of such strategies and possibly comparing them with each other. Commercial simulation systems usually have integrated environments where a very generalized approach is used in order to cater for many unforeseen demands from the network designers. Hence, they are mostly general purpose, GUI based and modular programs allowing the simulation of different networks and configurations [1,2]. Event driven simulators have event managers and event queues for managing the storage, sequencing and timing of event objects during the simulation [2,3]. This is usually a necessary overhead for many simulations. Some simulation systems do not easily allow the construction of detailed access strategies at user-network access interfaces. Some others are expensive. Therefore, there is a need in developing ones own simulation platform for performance evaluation of communication systems. A necessary step in the design of specific purpose simulators is the simulation modeling of the network or interface to be simulated. Figure 1 depicts the model of a user-network access node at a multi-channel resource facility. Such systems are available in

2. SIMULATION SYSTEM DESIGN As shown in Fig.1, the system is composed of the following major components: a) Traffic source(s) or traffic generator(s): in the case of heterogeneous group of traffic sources accessing the bandwidth resource, traffic may be generated by different sources and these may be combined at the access point to form the aggregate total traffic. However, this necessitates the use of an event manager, so that the arriving calls can be queued and hence sequenced. In our case, Poisson traffic sources are assumed to exist, therefore the aggregate traffic is generated by a single traffic generator. This produces the total number of calls at required inter-arrival times. The type of a call (the customer or the traffic source type) is determined by another random number generator. This is determined by using the probability of occurrence of each traffic type in the aggregate stream. Fig.2 depicts the traffic aggregation and bifurcation. b) A scheduler (or admission controller which applies the CAC strategy): The scheduler normally decides (or is given) the scheduling algorithm and the channels to be allocated to an incoming request. The admission controller may conveniently be represented within the scheduler. The CAC strategy is implemented by the admission controller. Admission controller decides if an incoming call is to get access to the bandwidth resource. The scheduler implements this decision, keeps record

of the channels allocated and time-stamps the calls entering service or being blocked (rejected). c) Transmission channel resource: this is the bandwidth resource that is made available as a number of channels at the UNI. Two approaches may be adopted in representing this unit. First is the use of an array to represent the channels. Occupied channels are indicated by logical 1 and free channels by logical 0. However, this necessitates the detailed searching, allocation and free operations to be performed for each call attempt, service entry and service completion. The second method which is much more simpler is the use of a counter (or a number of counters) to indicate the number of free channels. The number of free channels are reduced by an appropriate amount every time a call gains access, and the number of free channels are increased every time a call releases the channels at service completion. d) A traffic sink: it acts as the receiver of the completed call events and processes it in two manners. First, the details of the call-completion event are recorded, including the time-stamps and other call related information, for example the type of call, the number of call object. Second, the event object is freed (discarded) from the system. The main simulation events are the following: 1. Customer arrival: Here the customer is a call. A traffic source has certain properties of interest. These are the customer type, arrival rate, service rate, bandwidth requirement and any other properties (e.g. trunk reservation parameter if it exists). 2. Access control & scheduling event: Customer access to the transmission resource is dealt with in accordance with the access control strategy. A customer is either accepted and gets access to the bandwidth resource, or is blocked and lost. 3. Service completion event: here a customer completing its service is removed from the bandwidth resource releasing all its occupied channels. The customer is passed on to the sink module. The main sequence of events within the simulation system is as follows: 1. A customer arrives 2. Customers ending service are discharged 3. Bandwidth required by the customer is checked against the bandwidth available and if the CAC algorithm also allows it, the bandwidth request is granted, else bandwidth request is denied; customer is blocked 4. The customer which is allocated its requested number of channels enters service while if a customer is rejected (blocked) it becomes part of the blocked customer statistics and is lost from the system. The simulation is carried out until the required number of customer (packet/call) completions are completed through the system.

any novel algorithm can be implemented. The algorithmic details of the two main procedures are given below: PROCEDURE < SIMULATE > WHILE ( total_serviced < no_of_completions ) DO { # 1 Determine time for a new arrival time_now = event_time + generate_iat( mean_T_iat ) # 2 Deal with customers already in service (or have completed their service) FOR all customers in service IF ( service_compl_time .LE. time_now ) THEN [ reply = access_control ( SERV_COMPL ) reply = access_control ( STATS ) end_service( SERV_COMPL ) ] ENDIF ENDFOR # 3 Generate a NEW customer at that instance GET customer ( time_now ) # determines customer type and generates service time # 4 Carry out ADMISSION CONTROL for new customers request reply = access_control( ARRIVAL ) IF ( reply .EQ. ACCEPT ) THEN Customer enters service ELSE IF ( reply .EQ. BLOCKED ) THEN Block_customer ELSE Logical_Error ENDIF # 5 Update global time evtime = t_now } END-WHILE END-PROCEDURE PROCEDURE < ACCESS_CONTROL > Case ARRIVAL: # check chs and bandwidth requested; Accept or Reject Case SERV_COMPL: # Release channels of each type and update variables Case STATS: # Print out statistics Case default: # error condition. END-PROCEDURE

4. SIMULATOR VALIDATION Every simulator needs validation [9]. For validation, wellknown theoretical examples are chosen against which the simulator obtained data are plotted. In order to validate the simulator, three well known results are used in this paper. The first one is the classical Erlang-B formula. The closed-form solution is available and the blocking probabilities at various traffic intensities ( values) are calculated and plotted. The simulation runs are obtained using one type of customer. The classical Erlang-B formula [10] given below is used to validate the simulator.
PB =

3. SIMULATOR DEVELOPMENT The simulator can be developed using any suitable language or technique. Indeed it is amenable for implementation using the GUI based simulators which allow code insertion for module and CAC strategy building operations. The simulator used in our case is developed using both the C and the Matlab programming languages. The C implementation results in a faster simulator. The simulator is composed of two core procedures: first is the procedure simulate which controls the run of the experiment for ncompl number of customer completion, second is the procedure for access control. Within the access control module

N / N! N i=0 i / i !

(1)

The results obtained from the analytical as well as the simulation experiments are shown in Figure 3. The number of channels, N is assumed to be 30. All simulation data are obtained with 100,000 call completions using replication of 10. The confidence level used is 95%. Details of the evaluations are given in Table 1. The second cased used is the Erlang case this time with four customers and using the complete sharing (CS) strategy. Here, the value of N=80 channels, bi={2,4,8,32} channels respectively for customer classes, i=1,2,3,4. The probability of each stream of customer traffic occurring in the total traffic is given by ri={0.3, 0.3, 0.3, 0.1} respectively for customer classes, i=1,2,3,4. Here, all customers have equal access to the bandwidth resource and any arriving call can get access as long as the free number of channels is equal to or greater than the bandwidth demanded by the call. The results of Erlang-CS(4) and the corresponding simulation results are shown in Figure 4. Good agreement is observed. Finally, the Non-exhaustive CAC strategy where each customer class in the system has an associated parameter called the trunk reservation parameter (TRP) which is used to make sure that any customer gaining access to the bandwidth resource, does do in a way not to exhaust all free channels. The work relating to this case is referred to in [7]. Here, the analytical as well as the simulation models are built for the case where there are two classes of customers: the narrowband and wideband customers. In this case b1=1 and b2=6 channels is assumed. The trunk reservation parameters chosen are s1=1 and s2=2 channels respectively. The mean service rates chosen for the two types of customers are 1=1/7 and 2=1/3 customers/sec, respectively. The number of channels available in the system N=30 is selected. The results obtained are shown in Figure 5. Again, good agreement is found between the analytical and simulation values for both types of customers.

of service time) and one for handling the matured service_ended event. The technique has been validated against well known theoretical cases. These include the basic Erlang system, Erlang with four types of customers using the CS strategy and the Non-exhaustive (TRP based) CAC strategy. The results obtained are satisfactory for accurate simulation of such systems. Different modules may be added to the simulator for evaluation of the performance of different CAC strategies.

6. REFERENCES
[1] T.J. Schriber and D.T. Brunner, Inside Discrete-Event Simulation Software: How It Works and Why It Matters, Proc. of the 2000 Winter Simulation Conference, Orlando, FL, USA, Dec. 10-13, 2000, pp. 90-100. [2] J. Banks, Simulation Languages and Simulators, Proc. of the 1992 Winter Simulation Conference, Eds. J.J.Swain et al., Dec.13-16, 1992, Arlington, VA, USA, pp. 88-96. [3] A.M. Law, Simulation of Communication Networks, Proc. of the 1992 Winter Simulation Conference, Eds. J.J.Swain et al., Dec.13-16, 1992, Arlington, VA, USA, pp. 170-173. [4] B. Kraimeche and M. Schwartz, Circuit Access Control Strategies in Integrated Digital Networks, Proc. of IEEE Infocom84, San Diego, April 1984, pp. 230-235. [5] B. Kraimeche and M. Schwartz, Comparison of Channel Assignment Techniques for Hybrid Switching, Proc. of ICC82, June 1982, Philadelphia, PA. [6] C. N. Laws, On trunk reservation in loss networks, in Stoch. Networks, (Eds. F.P. Kelly and K.S. Williams), N.Y. Springer-Verlag, 1995, pp. 187-198. [7] A. Z. Melikov and D. Z. Deniz, Non-exhaustive Channel Access Strategy in Multi-resource Communication Systems with Non-Homogeneous Traffic, Proc. of ISCC2000, Antibes Juan Less Pins, France, 3-6 July, 2000, pp. 432 437. [8] F. P. Kelly, Loss networks, Ann. Appl. Prob., vol. 1, 1991, pp. 319-78. [9] R.G. Sargent, Verification, Validation and Accreditation of Simulation Models, Proc. of the 2000 Winter Simulation Conference, Orlando, FL, USA, Dec. 10-13, 2000, pp. 5059. [10] D. Bertsekas and R. Gallager, Data Networks, PrenticeHall Int., 1992, pp. 178-182.

5. CONCLUSION
The novel technique developed in this paper is found to greatly reduce the simulator complexity, ease algorithm implementation difficulty, and speed up the evaluation time by reducing simulation time needed. The speed comes from doing away with the event queuing and event management. For managing the service-completion event at least two operations would have been needed: one for queuing an event for service_ended (end-

Channels 1 2 3

1, 1, b1, s1

Scheduler

. . .
m, m, bm, sm

. . .

. . .

N Lost calls
Figure 1. Schematic depicting the model of a user-network access node at a multi-channel resource facility.

SRC 1

S
SRC m

n
(i)

r1 T T
SRC

Scheduler

r1

rm

. . .
rm T

. . .

Lost calls (ii)


Figure 2. Schematic showing (i) aggregation and (ii) bifurcation of traffic streams.

Figure 3. Simulator validation against Erlang B formula with one type of customer.

Figure 4. Simulator validation against Erlang CS strategy with four types of customers.

Figure 5. Simulator validation against Non-exhaustive CAC strategy with two types of customers.

Traffic load () BP(analytical) BP(simulation) |Difference| Sample var (x 10-6) Half-width (x 10-3)

3.43 0.4190 0.3952 0.0238 2.4 0.09

4.46 0.5065 0.4903 0.0162 5.05 1.31

5.08 0.5485 0.5349 0.0136 3.51 1.1

10 0.7353 0.7316 0.0037 2.9 1.0

20 0.8584 0.8578 0.0006 0.915 1.4

30 0.9036 0.9039 0.0003 1.52 1.0

50 0.9413 0.9412 0.0001 0.518 0.6

70 0.9578 0.9575 0.0003 1.4 0.7

100 0.970 0.9697 0.0003 0.808 0.05

150 0.9800 0.9800 0.0000 0.265 6.4

Table 1. Comparison of analytical and simulation data for Erlang B formula.

Вам также может понравиться