Check out the new USENIX Web site. next up previous
Next: Latency Scalability Up: The New Servers & Previous: Latency Results

Service Inversion Improvements


In order to verify the unfairness of the new servers, we further examine the latency breakdown by decile for the 0.95 relative load level and the service inversion at different load levels. Figure 18 shows the percentage of each file series in each decile for New-Flash, and we observe some interesting changes compared to the original server. The smallest files (series 1) dominate the first two deciles, the largest files (series 4) dominate the last two deciles, and the series 3 responses are clustered around the fifth decile. This behavior is much closer to the ideal than what we saw earlier. Some small responses still appear in the last column, but these may stem from files with low popularity incurring cache misses. Also complicating matters is that the absolute latency value is now below 10ms for 98% of the requests, so the first nine deciles are very compressed. This observation is verified by calculating the service inversion value.

Figure 22: In-memory workload (0.5 GB) latencies of Apache and Flash across three processor generations


Figure 23: Disk-bound workload (3.0 GB) latencies of Apache and Flash across three processor generations


Figure 19 shows the change of the inversion value with the load level. Compared to the old system, we reduce the inversion by over 40%, suggesting requests are treated more fairly in the new system. The fact that the inversion value still increases with the load is a matter for further investigation. However, this may be a limitation of our service inversion calculation itself.


Table 6: Capacities of original and modified servers across three processor generations and two workloads
  Pentium II Pentium III Pentium 4
In-memory workload (0.5GB) capacity in Mb/s
Apache 107.3 248.4 437.6
Flash 210.3 466.0 787.0
Disk-bound workload (3.0GB) capacity in Mb/s
Apache 98.8 174.1 241.1
Flash 134.1 256.4 336.0
Flashpache 103.3 198.9 272.9
New-Flash 140.4 358.0 450.0



By comparing service inversion for this workload with that of a completely in-memory workload, we can see how far we are from a nearly ``ideal'' scenario. In particular, we are still concerned whether filesystem cache misses are responsible for the service inversion. Figure 20 shows the latency breakdown for a workload with a 500MB data set. The difference between it and the New-Flash breakdown are visible only after careful examination. The numerical value for the in-memory case is 0.33, while the New-Flash result is 0.35, suggesting that if any inversion is due to cache misses, its measured effects are minimal. The Flashpache breakdown, shown in Figure 21, is similar. The values for Flashpache and its original counterpart are also shown in Figure 19, and we can see that our modifications have almost halved the inversion under high load.

Figure 24: Disk-bound workload (3.0 GB) latencies of New-Flash and Flashpache across three generations



next up previous
Next: Latency Scalability Up: The New Servers & Previous: Latency Results
Yaoping Ruan
2006-04-18