3 Admission Control for Busy Multi-tier Services 27
3.2 AWAIT Algorithm
3.2.2 Performance Evaluation: Conservative or A ggressive? 43
We evaluate the performance of AWAIT via trace driven simulation. A high level system description of the simulated system is given in Figure 3.5. We use the same three MAPs for the arrival process as those introduced in Section 3.1. The service processes at the front server and the database server are also modeled via MAPs (see [43,98]) that accurately capture the service demands of TPC-W's ordering mix3.
Figure 3.6 illustrates the performance of the two versions of AWAIT as a func
tion of the capacity of the blocking queue B. For reference, we also report on the performance of the system with simple admission control based on the number of ActiveRequests only (labeled: "baseAC") as well as the performance of SBAC with CPU utilization threshold set to 85%. Note that for all experiments, we set the ActiveRequests counter to 256, as suggested by the capacity planning study of Section 3.1. The aborted existing session ratio in Figure 3.6 is defined as the ratio of the aborted existing sessions to the total accepted sessions, the new ses
sion drop rate is defined as the ratio of dropped new sessions over the generated sessions, and the completed session ratio is the completed number of sessions Experiments with TPC-W’s shopping and browsing mixes were also conducted. Results are qualitatively the same as with the ordering mix and are not reported here due to lack of space.
divided by the generated sessions.
Burst Level 1 Burst Level 2 Burst Level 3
Aggressive AWAIT KSSHSSSSSConservative AWAIT ■■■■■■■B ase Admission Control ■ ■ ■ M S B A C S S (a) 95th Percentile Response Time respectively) for various fixed sizes of the blocking queue B. In all experiments, the limit of accepted requests A is set to 256, based on capacity planning.
The figure presents results for the three burstiness profiles in the arrivals of new sessions. First, one can easily see that the degree of burstiness in the arrivals dramatically impacts the user perceived performance, see the 95th percentiles of user response times for the various policies, see first row of graphs in Figure 3.6.
Looking just at the percentiles, it is clear that the addition of the blocking queue deteriorates the user end-to-end times but the real benefit of blocking can be seen in the decrease of the aborted session ratio, see the second row of graphs, as well as in the decrease of new session drop ratio, see the third row of graphs. The useful
throughput of the system (measured in successfully completed sessions) is shown in the last row of graph that demonstrate the improved metric for both versions of AWAIT strategy compared to SBAC and baseAC.
Under low burstiness conditions, see first column of graphs, it is apparent that SBAC remains a good choice, at the expense of a very high percentage (nearly as high as 30%) of new session rejections. The aggressive and conservative versions of AWAIT result in longer response times but in significantly lower drop ratios, see Figure 3.6(b).
The effectiveness of the aggressive version to keep the aborted session ratio low is apparent across all burstiness levels, see Figures 3.6(b), 3.6(f), and 3.6(j) (second row of graphs). These figures show that the aggressive version very ef
fectively differentiates between existing and new sessions, and treats existing ses
sions preferentially.
Naturally, because of the limited system capacity, if the number of accepted sessions that are aborted is low, then the ratio of rejected new sessions is bound to increase. This effect is shown for the aggressive policy in the third row of graphs in Figure 3.6, but this is unavoidable since our purpose is to bias the system for pro
cessing the requests of already accepted sessions against admitting new sessions, especially under periods of bursty traffic.
There is an additional question on the effectiveness of the aggressive AWAIT strategy compared to its conservative version: whether' “flushing" the system queues might result in a less efficient resource usage and potentially may lead to a lower useful throughput. The last row of graphs in Figure 3.6 answers this question.
It shows that the useful throughput of the system measured in successfully com
pleted sessions is very similar for both conservative and aggressive versions of AWAIT and also significantly higher than SBAC or the simple baseAC policy. Over
all, Figure 3.6 argues for the effectiveness of the aggressive version of AWAIT. In
the remaining of this chapter we focus on how to provide an autonomic version of AWAIT that adapts its configuration parameters to the workload. Before we move
into the adaptive version, we examine the existing results more closely.
3.2.3 Performance Effect of the Blocking Queue Size
CCDF comparison o f different algorithms CCDF comparison o f different algorithms CCDF comparison o f different algorithms
tuu tuu
ment design that can support the application SLO requirements. Figure 3.7 shows the detailed latency profiling for all four strategies under study and different traffic burstiness. The graphs in Figure 3.7 present the complementary cumulative distri
bution function (CCDF) that helps in understanding how often the random variable (response time in our study) is above a particular value. We focus on AWAIT with two different blocking queue sizes equal to 16 and 128.
The figure confirms that increasing the blocking queue capacity leads to a sig
nificant increase in the latency of completed sessions, especially for arrivals with higher burstiness level. For smaller size of the blocking queue and higher levels of burstiness there is less difference between all the four strategies, and the latencies of completed sessions are closer in their profiles to the baseAC strategy. However, the larger blocking queue capacity changes the behavior of the underlying system in a significant way leading to the higher throughput of completed sessions but at a price of their higher latency. These results do stress the importance of correct
sizing of the blocking queue capacity. The workload burstiness combined with the size of the blocking queue have a critical impact on the request latency. If we aim to build an efficient overload management mechanism, then it should adapt its be
havior to take into account traffic burstiness and to tune appropriately the blocking queue size.