Abstract:
Modern content delivery networks (CDNs) allow their cus- tomers (i.e., operators of web services) to customize the pro- cessing of requests destined for their services by uploading and executing code at the edges of the CDN’s network. To achieve scale, CDNs have forgone heavyweight virtualiza- tion techniques. Instead, all requests often execute within the same OS or even process. However, performance interference may arise when these requests have differing demands on multiple system resources. In this paper, we study the sources of performance interference based on workloads from real customers, identify the lack of multi-resource fairness as the culprit, and show that existing schedulers available in commodity OSs are insufficient. We then design Sandpaper, a new and practical multi- resource request scheduler for mitigating performance inter- ference in CDN edge-computing environments. Sandpaper enforces fairness despite sitting within the application run- time and running atop the OS’s underlying resource sched- ulers. By leveraging key insights about the differences be- tween theoretical system models and real systems, Sand- paper bridges the fundamental trade-off between resource utilization and multi-resource fairness that plagues existing schedulers. We implement a prototype of Sandpaper and demonstrate its effectiveness in mitigating performance in- terference. We further show that Sandpaper achieves high resource utilization with little performance overhead.
Release Date: 11/07/2019Uploaded File: View