• Aucun résultat trouvé

A P 2 QNAP2 : Q N APPENDIX B

N/A
N/A
Protected

Academic year: 2021

Partager "A P 2 QNAP2 : Q N APPENDIX B"

Copied!
7
0
0

Texte intégral

(1)

APPENDIX B

QNAP2 : Q UEUEING N ETWORKS A NALYSIS P ACKAGE 2

B . 1 . I N T R O D U C T I O N

QNAP2 [14, 15, 119, 120, 121] is a package for describing, handling and solving large and complex discrete event flow systems such as data communication networks and computer systems. QNAP2 is based on the queueing network paradigm. It comprises an object oriented specification language, based on PASCAL and SIMULA, which is used for the description of the models under study and the control of their resolution. It comprises also a collection of efficient resolution algorithms, including discrete event simulation, exact and approximate mathematical methods. It is a very powerful and easy to use tool, and has been coded in FORTRAN77 for portability.

This appendix is organized as follows. In section B.2, the modeling framework used by QNAP2 is presented. Section B.3 introduces the modeling language. The modeling mechanisms supported by QNAP2 are summarized in section B.4.

Finally, section B.5 is devoted to QNAP2 solvers.

(2)

B . 2 . M O D E L I N G F R A M E W O R K

The modeling framework supported by QNAP2 is the representation of a system as a network of stations through which circulate customers. A station is composed of a single queue and one or several server(s). When entering a service station, a customer competes with the other customers for the allocation of a server, according to the station scheduling policy. When a server is allocated, it processes the service description of the station. The service description of a station may involve any statement of the algorithmic language, including: work demand procedures, object manipulation operations, dynamic transition procedures and synchronization procedures.

The modeling framework of QNAP2 makes possible to support a large set of analytical techniques developed for standard or generalized queueing network models. Presently, QNAP2 provides the user with : analytical solvers (convolution algorithms, mean value analysis and approximate methods for product-form networks and extensions), Markovian solver for the exact analysis of limited size models, and a discrete event simulation. Within the set of analytical solvers of QNAP2 (exact and approximate) a dispatching algorithm selects the most appropriate solver in term of efficiency and numerical accuracy, according to the modeling features used in the model.

B . 3 . Q N A P 2 L A N G U A G E

QNAP2 is a high level, object oriented language. It includes two levels of specifications :

1. A command language consisting of a limited set of parametrized commands.

These commands correspond to the main functionalities of QNAP2, as declaration of objects and variables, structure of the service stations, and model control.

2. An algorithmic language, derived from PASCAL and SIMULA. It allows the specification of services involving complex mechanisms and the activation of the solvers.

The main features of the two language levels of QNAP2 are presented in the next

sub-sections.

(3)

B . 3 . 1 . C o m m a n d L a n g u a g e

A QNAP2 program consists of a sequence of commands. Each of these commands corresponds to a specific function :

• Creation of variables or structured objects : command /DECLARE/.

• Description of stations : command /STATION/. It is used to define the attributes of stations (type, scheduling, transition rules, etc.).

• Analysis control : command /CONTROL/. The parameters of this command include aspects such as : input/output control, and simulation control (for instance, run control length control options).

• Execution of a sequence of algorithmic statements : command /EXEC/. This command can be used for : acquisition and processing of input data, activation of a solver, and handling of results for final edition.

B . 3 . 2 . A l g o r i t h m i c L a n g u a g e

The algorithmic language is close to PASCAL as far as expressions and statements are concerned. In addition, specific features have been introduced for handling lists of objects : selection of items which meet a given criterion, repetition of items, list of all objects of a given type, etc.

The algorithmic language includes a large set of system functions and procedures. These procedures may be used either in a service description to specify modeling mechanisms, or in an /EXEC/ command to specify input/output operations or solvers activation.

B . 4 . M O D E L I N G M E C H A N I S M S

As indicated previously, the modeling framework of QNAP2 is based on the

concepts of stations and customers. A station belongs to one of the following

types : a service station (simple, multiple or infinite servers), passive station

(semaphore or resource), or source station.

(4)

Resource and semaphore are queues associated with one or several tokens. They contain only passive customers 1 representing the request for tokens made by active customers in the service stations. Source stations work as infinite source of customers.

The modeling mechanisms of QNAP2 are specified at the two language levels.

The command language provides the most usual modeling features. Besides, the algorithmic language provides access to a set of statements, procedures and functions for specifying any non standard behavior.

QNAP2 provides pre-defined scheduling policies at the command language (parameter SCHED of /STATION/ command), such as FIFO, LIFO, preemption, priorities, etc. Other server allocation policy can be described using the algorithmic language by direct manipulation of customers.

When a customer completes its service at a service station, it can be routed to another station or destroyed. The routing mechanism can also be specified at the command language level or at the algorithm language level.

B . 5 . Q N A P 2 S O L V E R S

In QNAP2, solving a model consists in computing or estimating the performance criteria which characterize the steady state of the model. Numerical solvers and an event driven simulator are available for this purpose.

The numerical solvers of QNAP2 include several analytical solvers (exact and approximate) and an exact Markovian solver.

The solvers are activated by procedure calls (SOLVE, MARKOV, SIMUL) in the algorithmic sequence associated with an /EXEC/ command.

1

An active customer is a customer which is receiving a service. On the other hand, a passive customer is

(5)

B . 5 . 1 . A n a l yt i c a l S o l v e r s

QNAP2 includes a set of specialized analytical solvers which yield exact or approximate steady state solutions. They apply only to models verifying some fundamental assumptions. The following solvers are implemented :

CONVOL (convolution algorithms) : it implements the BCMP product-form theorems with convolution algorithms. It is a fast and exact solver but numerically unsafe.

MVA (Mean Value Analysis) : it is a fast, exact and numerically safe solver.

MVANCA (Mean Value Analysis and Normalized Convolution Algorithms) : it implements an hybrid method based on the mean value analysis and the normalized convolution algorithms. It is a fast, exact and numerically safe solver.

HEURSNC (Schweitzer, Neuse and Chandy heuristic algorithms) : it is a fast, approximate and numerically unsafe solver. It implements an heuristic proposed by Schweitzer, Neuse and Chandy.

PRIORPR (Veran algorithm for preemptive priority scheduling) : it is a fast, approximate and numerically safe solver. It implements an algorithm developed by M. Veran for the solution of closed multiclass queueing networks with preemptive priority scheduling.

ITERATIV (Marie Iterative algorithm) : it is a fast, approximate and numerically unsafe solver. It implements an heuristic developed by R. Marie. It applies to closed mono-class networks with non-exponential FIFO servers.

DIFFU (Gelenbe and Pujolle diffusion algorithm) : it is a fast, approximate and numerically safe solver. It implements an heuristic developed by E. Gelenbe and G. Pujolle. It applies to open multi-class networks with non-exponential FIFO servers.

B . 5 . 2 . M a r k o v i a n S o l v e r

The Markovian solver of QNAP2 may be used theoretically for any model that

may be mapped onto a first order markovian process with a finite number of

states. The mapping is based on an internal state representation involving a

sufficient and minimal set of variables. Although, this mapping could be done for

(6)

most modeling mechanisms, it would result in such a high cost in term of memory requirements that its practical usage would be too limited.

The models which can be processed by this solver include all the extended product-form type networks and general dependent transitions and services rates.

The solver performs the following operations when it processes a model description :

1. Verifies that the assumptions are met and defines the internal representation of the model,

2. Generates all the possible states of the model and their transition probabilities, 3. Computes the steady-state probability of each of them, and

4. Derives the standard performance criteria.

B . 5 . 3 . S i m u l a t i o n

Discrete event simulation is used for the analysis of any model specified in QNAP2 language. The simulation reproduces on the time scale of the model the dynamic behavior of the different model components (stations, customers, ..).

QNAP2 can compute confidence intervals on mean values. It provides three methods for confidence interval estimation :

1. Replication method : this method consists in generating several statistically independent sample paths of the model. This is done by using different random number stream for each replication.

2. Regeneration method : the basic principle of this method is to split the simulation run into several successive intervals, so that the model behavior in these intervals are statistically equivalent and independent.

3. Spectral method : the basic principle of this method is to build a set of

independent and identically distributed sample and to apply statistical

techniques for estimating the confidence interval. The main advantage of this

method over the two previous methods is that the user needs not worry about

the choice of specific parameters.

(7)

B . 6 . S T A T I S T I C

The behavior of the simulation model is automatically monitored during the simulation run in order to produce statistical estimations of performance criteria.

To benefit of these statistical estimations, special variables must be declared, variables of the type WATCHED. The programmer must specify if this variable will be used for discrete events or not, using either the QNAP2 procedure SETSTAT:DISCRETE (variable) or SETSTAT:CONTINUE (variable). Each time the programmer assigns a value to a WATCHED variable, this value is memorized. To produce statistical estimations, the programmer will use a set of predefined procedures such as SETSTAT:MEAN (variable) giving the mean value of the previously assigned values.

B . 7 . C O N C L U S I O N

QNAP2 is a powerful package for modeling and simulation, even if the modeler may suffers from some its weakness. The main drawback of QNAP2 is the memory management. Precisely, it has not a defragmenter to collect free scattered space memory. In other words, the fragmentation ratio increases when the simulation time is long, then even if globally there is enough memory, the memory allocator is not able to find a contiguous memory space.

Another major drawback of QNAP2 is its non capability to create dynamically stations during the simulation. This restriction does not allow to configure dynamically a queueing network model.

Other minor restrictions exist such as : i) it does not include an on-line help for programmers, ii) the length of the variable names is restricted to 8 characters, which is not enough to express their contents, iii) objects cannot be declared inside a procedure, iv) declaration of constants are not provided, v) a file cannot be open in append mode, and vi) in a QNAP2 program, tabulation are not allowed.

Références

Documents relatifs

As the group network can be apprehended as the ground-truth overlapping community graph (where the nodes are the discovered communities and the links represent the overlap between

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

The aim of this paper is to introduce LatNet Builder, a software tool designed to construct good lattice and digital point sets for QMC and RQMC, in any number of dimensions, for

Il faut ensuite montre qu’il ne peut pas avoir de facteur de degr´e 2 ni de degr´e 3 dans Z

On rappelle les théories (i.e. ensembles

En permutant A et B dans la question 3, on voit que e séquent n'est pas prouvable

Before we go into section 2, we note that it is easy to get trivial examples satisfying conditions of theorem 1, by consi- dering a relatively invariant Haar measure on any

Example of identified High Level Need (green brackets) and Product to be extended (yellow brackets).. 2) Extendable Platform Product Choice and its relevant life cycle