首页> 外文期刊>Journal of Parallel and Distributed Computing >CTS: An operating system CPU scheduler to mitigate tail latency for latency-sensitive multi-threaded applications
【24h】

CTS: An operating system CPU scheduler to mitigate tail latency for latency-sensitive multi-threaded applications

机译:CTS:一种操作系统CPU调度程序,可减轻对延迟敏感的多线程应用程序的尾部延迟

获取原文
获取原文并翻译 | 示例

摘要

Large-scale interactive Web services break a user's request to many sub-requests and send them to a large number of independent servers so as to consult multi-terabyte datasets instantaneously. Service responsiveness hinges on the slowest server, making the tail of the latency distribution of individual servers a matter of great concern. A large number of latency-sensitive applications hosted on individual servers use thread-driven concurrency model wherein a thread is spawned for each user connection. Threaded applications rely on the operating system CPU scheduler for determining the order of thread execution. Our experiments show that the default Linux scheduler (CFS) idiosyncrasies result in LCFS (Last Come First Served) scheduling of threads belonging to the same application. On the other hand, studies have shown that FCFS (First Come First Served) scheduling yields the lowest response time variability and tail latency, making the default scheduler of Linux a source of long tail latency for multithreaded applications. In this paper, we present CTS, an operating system CPU scheduler to trim the tail of the latency distribution for latency-sensitive multi-threaded applications while maintaining the key characteristics of the default Linux scheduler (e.g., fairness). By adding new data structures to the Linux kernel, CTS tracks threads belonging to an application in a timely manner and schedules them in FCFS manner, mitigating the tail latency. To keep the existing features of the default Linux scheduler intact, CTS keeps CFS responsible for system-wide load balancing and core level process scheduling; CTS merely schedules threads of the CFS chosen process in FCFS order, ensuring tail latency mitigation without sacrificing the default Linux scheduler properties. Experiments with a prototype implementation of CTS in the Linux kernel demonstrate that CTS significantly outperforms the Linux default scheduler. For example, CTS mitigates the tail latency of a Null RPC server by up to 96%, a Thrift server by up to 90% and an Apache Web server by up to 51% at 99.9th percentile.
机译:大型交互式Web服务将用户的请求分解为许多子请求,并将其发送到大量独立的服务器,以便即时查询多TB的数据集。服务响应性取决于最慢的服务器,这使得单个服务器的延迟分布的尾部成为一个非常令人关注的问题。托管在单个服务器上的大量对延迟敏感的应用程序使用线程驱动的并发模型,其中为每个用户连接生成一个线程。线程化应用程序依赖于操作系统CPU调度程序来确定线程执行的顺序。我们的实验表明,默认的Linux调度程序(CFS)特质导致对属于同一应用程序的线程进行LCFS(后来先服务)调度。另一方面,研究表明,FCFS(先到先服务)调度产生最低的响应时间可变性和尾部延迟,这使得Linux的默认调度程序成为多线程应用程序长尾部延迟的来源。在本文中,我们介绍了CTS,这是一种操作系统CPU调度程序,可在对延迟敏感的多线程应用程序进行调整的同时,减少延迟分布的尾部,同时保留默认Linux调度程序的关键特性(例如,公平性)。通过将新的数据结构添加到Linux内核,CTS可以及时跟踪属于应用程序的线程,并以FCFS方式对其进行调度,从而减少了尾部延迟。为了保持默认Linux调度程序的现有功能不变,CTS让CFS负责系统范围的负载平衡和核心级进程调度。 CTS只是按FCFS顺序调度CFS选定进程的线程,从而确保减轻尾部等待时间,而不会牺牲默认的Linux调度程序属性。在Linux内核中使用CTS原型实现的实验表明,CTS明显优于Linux默认调度程序。例如,CTS可以将Null RPC服务器的尾部延迟减少多达96%,将Thrift服务器的延迟减少多达90%,将Apache Web服务器的延迟减少了99.9%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号