Eiffel: Efficient and Flexible Software Packet Scheduling

Eiffel: Efficient and Flexible Software Packet Scheduling
复制标题

DOI:
--
复制
发表时间:
2018-10
期刊:
ArXiv
影响因子:
--
通讯作者:
Ahmed Saeed;Yimeng Zhao;Nandita Dukkipati;M. Ammar;E. Zegura;Khaled A. Harras;Amin Vahdat
Ahmed Saeed;Yimeng Zhao;Nandita Dukkipati;M. Ammar;E. Zegura;Khaled A. Harras;Amin Vahdat
中科院分区:
其他
文献类型:
--
作者:
Ahmed Saeed;Yimeng Zhao;Nandita Dukkipati;M. Ammar;E. Zegura;Khaled A. Harras;Amin Vahdat

文献摘要

被引文献

相似文献

数据包调度根据调度策略规定的一些排序函数确定队列数据结构中数据包的排序。它是最近许多优化网络性能和利用率的创新的核心组件。本文的重点是软件中分组调度的设计和部署。与硬件相比,软件调度器有几个优点,包括更短的开发周期以及功能和部署位置的灵活性。我们通过利用包排序的基本特征,大大提高了当前软件包调度性能,同时保持了灵活性;也就是说,数据包的排名是整数,并且在任何时间点,都在有限的值范围内。介绍了一种新颖的可编程分组调度系统Eiffel。Eiffel的核心是一个基于查找第一集(FFS)指令的整数优先级队列,旨在有效地支持各种策略和排序功能。作为一种更有效的替代方案,我们还提出了一种新的近似优先级队列,它在某些情况下可以优于基于ffs的队列。为了支持灵活性,Eiffel引入了新颖的编程抽象来表达当前最先进的调度程序编程模型无法捕获的调度策略。我们在各种设置以及内核和用户空间部署中评估Eiffel。我们表明,在用于网络处理的内核数量或给定固定处理能力的流数量方面,它比最先进的系统性能高出3-40倍。
Packet scheduling determines the ordering of packets in a queuing data structure with respect to some ranking function that is mandated by a scheduling policy. It is the core component in many recent innovations to optimize network performance and utilization. Our focus in this paper is on the design and deployment of packet scheduling in software. Software schedulers have several advantages over hardware including shorter development cycle and flexibility in functionality and deployment location. We substantially improve current software packet scheduling performance, while maintaining flexibility, by exploiting underlying features of packet ranking; namely, packet ranks are integers and, at any point in time, fall within a limited range of values. We introduce Eiffel, a novel programmable packet scheduling system. At the core of Eiffel is an integer priority queue based on the Find First Set (FFS) instruction and designed to support a wide range of policies and ranking functions efficiently. As an even more efficient alternative, we also propose a new approximate priority queue that can outperform FFS-based queues for some scenarios. To support flexibility, Eiffel introduces novel programming abstractions to express scheduling policies that cannot be captured by current, state-of-the-art scheduler programming models. We evaluate Eiffel in a variety of settings and in both kernel and userspace deployments. We show that it outperforms state of the art systems by 3-40x in terms of either number of cores utilized for network processing or number of flows given fixed processing capacity.