2013 · 115 citations · 25 references
Cluster ComputingEngineeringComputer ArchitectureLatency ImprovementsPerformance IssueParallel ComputingData ManagementTail LatencyOverall LatencyComputer EngineeringRequest-response WorkflowsDistributed SystemsComputer ScienceDistributed Query ProcessingDistributed ProcessingScalable ComputingPerformance ScalabilityWorkflow ExecutionEdge ComputingParallel Performance EvaluationCloud ComputingParallel Programming
We found that interactive services at Bing have highly variable datacenter-side processing latencies because their processing consists of many sequential stages, parallelization across 10s-1000s of servers and aggregation of responses across the network. To improve the tail latency of such services, we use a few building blocks: reissuing laggards elsewhere in the cluster, new policies to return incomplete results and speeding up laggards by giving them more resources. Combining these building blocks to reduce the overall latency is non-trivial because for the same amount of resource (e.g., number of reissues), different stages improve their latency by different amounts. We present Kwiken, a framework that takes an end-to-end view of latency improvements and costs. It decomposes the problem of minimizing latency over a general processing DAG into a manageable optimization over individual stages. Through simulations with production traces, we show sizable gains; the 99th percentile of latency improves by over 50% when just 0.1% of the responses are allowed to have partial results and by over 40% for 25% of the services when just 5% extra resources are used for reissues.
25
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani et al. · 2007 · 3.4K citations
Mohammad Alizadeh, Albert Greenberg, David A. Maltz et al. · 2010 · 1.8K citations · Full text
Cluster Computing, Server Production Cluster, Data Center Management +13
Luiz André Barroso · Communications of the ACM · 2013 · 1.7K citations