Java Reference
In-Depth Information
Figure 10.5
Odd jobs like the one at Q2 can disrupt balance by giving
disproportionate loads to random servers sporadically.
Q 1
Q 2
Q 3
Q 4
10 units, but because the second queue received additional work, the total
length of time required to process all of the work was 12 units. Our through-
put has suffered. In addition, our average waiting time has been extended to 7
units, because smaller jobs have to wait for larger ones to complete.
In practice, workload distribution that is not uniform can cause additional
problems. A single system that receives a disproportionate load can bog down
and become slower, and throw the balance further out of kilter. Symptoms
include inferior throughput for the combined matrix of systems and sporadic
performance for any given user. Real-world scenarios with the sporadic long
job like this are common; examples include an account report on a stock trad-
ing system, or a new post on a bulletin board (where reads frequently out-
number writes by a margin of 100 to 1). We must develop an effective strategy
for dealing with workload disparity when performance requirements are strin-
gent and high throughput is necessary.
Solution: Workload Management
We can use various techniques to help us distribute workloads uniformly. We
might attempt to isolate transactions that are unusually long; these techniques
fall under the umbrella of workload management. Some techniques will use
hardware, called load balancers, and others will require us to break down
longer transactions or isolate unusually long transactions to specialized queues.
In all cases, our goal is an even distribution of work, leading to better efficiency.
Queue specialization
To understand solutions for queues and workloads, let's turn to the real-world
queue experts. They employ a practice called queue specialization to keep
Search WWH ::

Custom Search