Performance Via Load Balancing

Performance Via Load Balancing

Performance via load balancing.

Consider a system with devices. Let and are current parameters pertaining to the device If we want to spread the workload evenly among them, then we need

… (1)

Under the constraint … (1a)

From (1a),

= … (1b)

Therefore, … (2)

and the revised visit count at the th device is going to be

… (2a)

As all the device are now all equal to , the upper bound for throughput will now become larger.

Example. A system with a CPU and two disks: Fast and slow. The specs are: , , . Service times per visit at the disks: . and .

Therefore, ,

Total

Scenario A: Given the system,

the throughput is bounded as

Scenario B: Change the CPU to a twice as fast CPU. Now and with . Now,

Scenario C: Keep the CPU as is. Shift files making two disk workloads same! Now,

Or,

We now have, with total D = 8.2

Therefore, upper-bound for is

a improvement over scenario A & B.

Scenario D: Replace the slow disk by another fast one. Now, . Total . The fast disk still remains bottleneck. Therefore, it is no different from scenario A.

Scenario E: Replace the slow disk by a fast disk and add another fast disk. Replace CPU by a twice as fast CPU. Balance the disk load. We will now have: and since the total visit still remains 143 over the three disks, each disk gets 48 visits. Therefore, disk load is

The total , and in this case, the upper-bound is

Notion of “Open” and “Closed” queuing systems.

A system is open if it can receive potentially infinite number of clients at a given rate from external sources.

In a closed system, the number of clients being served at any time is fixed. Heavy traffic approximation lends to a

“Closed” system perspective.

For a batch + interactive systems, we use heavy load approximation, and regard , the system load, constant.

We first consider bounds for an open system at a traffic density transactions/sec.

Response times at a device.

Consider transactional systems first with its workload denoted by arrival rate tps.

If a device is a delay center, then

If it’s a queuing center, then

Then … (3)

average number of clients in queue seen

by an arriving customer.

= arrival instant queue-length

Let us assume that . Then,

yielding

… (4a)

and … (4b)

The saturating arrival rate and the device throughput rate is, as expected,

… (4c)

In this environment, system response time is

… (4d) and

Average number of clients in all its queues is

… (4e)

We compute “closed system” parameters in a different way, though, the system equations look very similar.

For batch and interactive systems we get the same equation, though, they denote closed system solutions. That is,

… (5)

and, where is an appropriate function of instantaneous queue-length.

Computational process is

But for a closed system we don’t know how to compute We’d do this through MVA analysis scheme.

More about closed balanced system.

Our response time for a closed balanced system is

The last transaction joining a system would have transactions currently ahead of it each of which must spend units of time at the current server, after which our focused transaction would get its units of time here, and then once it is out of here, it would visit other devices to spend a total of units of time with them. As a result, the total delay for our transaction would be

Therefore, for a balanced system, (6a)

and, (6b)

Now for .

The throughput bounds for a balanced system could be delivered in terms of , and . For any distribution on , we have

and

The bounds for a balanced system follows.

A. Assume two balanced systems: with at each center, and the other one with at each center. Then our actual system throughput would be bounded as

and

… (7)

B. Given total demand the average demand .

If all devices offer same demand then the upper bounds are

and

… (8)

C. Assume . Let all the centers offer their customers of service, and the rest remain idle. Then the bounds are:

and

… (9)

In this case, = average delay imposed by “others”.

Now consider an interactive system, again a closed system like a “batch”, but a transaction spends units of time at a terminal.

The worst residence (response time + sleep time) time for a transaction in this mode, in view of (9), appears to be like

where = correction term. In our worst case, while our specific transaction spends units of time at a terminal, some transactions would seep through the system yielding a slightly lower amount than imposed delay here.

Using the worst case scenario and Little’s law on this queue,

Avg. number of trapped clients waiting for service during this “imposed delay time” in front of our transaction is

Each one of them is going to consume units of time at the server. Therefore, the maximum response time a typical transaction has to spend is

… (10a)

In the same way, the best estimate of response time would be (the correction factor has to be adjusted accordingly)

… (10b)

With corresponding bounds for throughput

… (10c) and

… (10d)

For a balanced system load, we can derive as that load where the optimistic balanced bound equals the optimistic asymptotic bound

… (10e)

The same quantity for an interactive system load appears to be

… (10f)