![]() |
![]() |
![]() |
![]() |
![]() |
The Performance Model
Let us first state that a description of the functional behavior of a system and a performance model of the same system are (usually) not the same, even if both models can be expressed in SDL. The two models describe two different aspects of the same system. This is why there is a modeling phase in the development of the performance simulation.
Queuing Models
Most performance models can be viewed as queuing models or queuing networks, where a queuing network is an interconnected system of queuing models. A typical model for a queue would look like:
The model contains jobs that need some service from the server. The jobs may have to wait in a queue for the service. The basic properties of this model are:
- The service time for a job. This can be modeled as a property of the job or of the server, depending on the system to be simulated.
- The queue discipline, that is, the order in which jobs are inserted into the queue and removed from the queue to get service. Typical disciplines are, to mention a few:
- The inter-arrival time for jobs, or more generally: when new jobs are entered into the queue. The creation of new jobs is usually modeled in job-generators described as separate objects.
The queue model is a general model that may be used as an abstraction in many situations, for example to model programs (jobs) that are to be executed by the CPU in a computer (server). The queue is then the scheduled list of jobs that are in a "ready to execute" state. The queuing discipline is usually complex, involving for example priorities, pre-emption and cyclic execution of jobs.
Another quite different example would be a port, where ships (jobs) are coming for loading or unloading (the service). To perform loading or unloading the ship needs a crane (the server).
The systems that we want to simulate are usually not simple enough to be modeled by just one queue. However, models using interconnected queues-servers, connected in such a way that jobs leaving one server are inserted into the queue of another, have the power to describe many interesting real systems. An example of a simple queuing network model is given in Figure 564.
Each node in the network consists of one or several servers. The network also contains places where jobs are entered into the system and places where jobs are leaving the system.
Measurements
In a queue model or a queuing network model it is of interest to estimate for example:
- For jobs: total time in system, total waiting time
- For servers: load
- For queues: average and maximum queue length.
Such estimates can be obtained in two ways, using mathematical theories like queuing theory, or by measurements in simulations. With the mathematical theories, rather complicated models can be analyzed, usually more complicated than a nonspecialist thinks is possible. You should investigate this possibility before taking the decision to implement a simulation program.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |