Next: Prototype and Results
Up: A Model-Based Allocator
Previous: Group Constraint or Surplus
Candidate and GroupAdjust work together to combine
differentiated service with other system-wide performance goals.
Figure 7 illustrates how they allocate surplus memory
to optimize global response time for four example services.
In this example, the hosted
services have identical
and caching profiles
,
but their SLAs specify different response time targets.
Candidate allocates the minimum memory (total 46 MB)
to meet the targets, assigning more memory to services
with more stringent targets. GroupAdjust then allocates
surplus memory to the services that offer the best marginal improvement
in overall response time. Since the services have equivalent behavior,
the surplus goes to the services with the smallest allotments.
Figure 8 further illustrates the flexibility of
MBRP to
adapt to observed changes in load or system behavior.
It shows allotments
for three competing
services s0, s1, and s2.
The system is configured to consolidate all loads on a shared
server and storage unit, meet minimal response time targets
when possible,
and use any surplus resources to optimize global
response time. The services begin with identical arrival rates ,
caching
profiles
,
and
response time targets.
The experiment modifies a single parameter in each of six steps
and shows its effect on the allotments; the changes through the steps
are cumulative.
- In the base case, all
services receive equal shares.
- Step 2
doubles
for s0. The system shifts memory to s0
to reflect its higher share of the request load, and increases its
to rebalance storage
utilization to
,
compensating for a higher storage load.
- Step 3 triples the arrival rate for s1. The system shifts
memory to s1; note that the memory shares
match each service's share of the total request load.
The system also rebalances storage by growing s1's share at the
expense of the lightly loaded s2.
- Step 4 reduces the cache locality of s2 by reducing its
from .9 to .6. This forces the system to shift resources to
s2 to meet its response time target, at the cost of increasing global
average response time.
- Step 5 lowers the response time target for s2 by
.
The system further compromises its global response time
goal by shifting even more memory to s2 to meet its more
stringent target. The additional memory reduces the storage load
for s2, allowing the system to shift some storage resource
to the more heavily loaded services.
- The final step in this experiment reduces
the amount of system memory by .
Since s2 holds the minimum
memory needed to meet its target, the system steals memory
from s0 and s1, and rebalances storage by increasing
s1's share slightly.
Next: Prototype and Results
Up: A Model-Based Allocator
Previous: Group Constraint or Surplus
Ronald Doyle
2003-01-20