Definition

Operational laws are simple equations which may be used as an abstract representation or model of the average behaviour of almost any system.

The laws are highly versatile and do not rely on specific assumptions about the system’s random variables. One of their key advantages is their simplicity, allowing for quick and easy application. These laws are based on observable variables, which can be derived from monitoring a system over a finite time period.

We assume that the system receives requests from its environment and each of them generates a job within the system. When the job has been processed, the system responds to the environment with the completion of the corresponding request.

Formulas

If we observed such an abstract system, we might measure the following quantities:

  • , the length of time we observe the system
  • , the number of request arrivals we observe
  • , the number of request completions we observe
  • , the total amount of time during which the system is busy ()
  • , the average number of jobs in the system

and derive the following four important quantities:

  • , the arrival rate
  • , the throughput or completion rate
  • , the utilization
  • , the mean service time per completed job

job flow balanced*, meaning that the number of arrivals is equal to the number of completions during an observation period, i.e. . This is a testable assumption, because an analyst can always test whether the assumption holds. It can be strictly satisfied by careful choice of measurement interval.

If the system is job flow balanced, the arrival rate will be the same as the completion rate, that is .

A system may be regarded as being made up of a number of devices or resources, each of which may be treated as a system in its own right from the perspective of operational laws. An external request generates a job within the system and this job may then circulate between the resources until all necessary processing has been done; as it arrives at each resource, it is treated as a request, generating a job internal to that resource. If we observed such an abstract system, we might measure the following quantities for resource :

  • , the length of time we observe the system
  • , the number of request arrivals we observe for resource
  • , the number of request completions we observe at resource
  • , the total amount of time during which the resource is busy ()
  • , the average number of jobs in the resource (queueing or being served)

From these observed values, we can derive the following four important quantities for resource :

  • , the arrival rate
  • , the throughput or completion rate
  • , the utilization
  • , the mean service time per completed job

In an observation interval, we can count not only completions external to the system but also the number of completions at each resource within the system. is the number of completions at resource . We define the visit count, , as the ratio of the number of completions at the th resource to the number of system completions.

  • If , resource is visited several times (on average) during each system-level request. This happens when there are loops in the model.
  • If , resource might not be visited during each system-level request. This can happen if there are alternatives (i.e. caching of disks).
  • If , resource is visited (on average) exactly once every request.

Utilization Law

From the throughput and service time , we can derive the utilization of the resource:

Formula

The utilization of a resource is denoted , which is the percentage of time that the -th resource is in use processing to a job. The utilization law is defined as:

If we know the amount of processing each job requires at a resource, then we can calculate the utilization of the resource. To do so, let us assume that each time a job visits the resource, the amount of processing, or service time it requires is .

Note that service time is not the same as the residence time of the job at that resource.

In general, a job might have to wait for some time before processing begins. The total amount of service that a system job generates at the resource is called the service demand

The utilization of a resource, denoted as , is equal to the percentage of time that the resource is in use processing to a job.

The utilization of a resource is equal to the product of the throughput of that resource and the average service time at that resource, or the throughput at the system level and the average service demand at that resource.

Little Law

Formula

Little’s law states that the number of requests in the system is equal to the throughput multiplied by the residence time :

Little law can be applied to the entire system as well as to some subsystems. If the system throughput is requests/sec, and each request remains in the system on average for seconds, then for each unit of time, we can observe on average requests in the system. Intuitively, this is similar to a pipeline processor.

Interactive Response Time Law

Formula

The interactive response time law states that the response time in an interactive system is the residence time minus the think time :

Note that if the think time is zero, and , then the interactive response time law simply becomes the Little Law.

Forced Flow Law

Formula

The forced flow law captures the relationship between the different components within a system. It states that the throughputs (or flows) in all parts of a system must be proportional to one another:

The throughput at the th resource is equal to the product of the throughput of the system and the visit count at that resource.

We can rewriting the visits count to find the number of competitions of a resource as and applying , we can derive the forced flow law:

Response and Residence Times

When considering nodes characterized by visits different from one, we can define two permanence times:

Definition

  • The Response Time accounts for the average time spent in station , when the job enters the corresponding node (i.e., time for the single interaction, e.g. disk request).
  • The Residence Time accounts instead for the average time spent by a job at station during the staying in the system: it can be greater or smaller than the response time depending on the number of visits.

Note that there is the same relation between Residence Time and Response Time, as the one between Demand and Service Time:

If we have a system with multiple components, we can find the response time of it by sum all the response time of the components

Also note that for single queue open system, or tandem models, . This implies that average service time and service demand are equal, and response time and residence time are identical.