arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1810.03060cs.NI
收藏

Eiffel:高效灵活的软件包调度

Eiffel: Efficient and Flexible Software Packet Scheduling

Ahmed Saeed, Yimeng Zhao, Nandita Dukkipati, Mostafa Ammar, Ellen Zegura, Khaled 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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑