Linux fq-pie 流控算法

Linux 内核 流量包调度算法 fq-pie是 Mohit P Tahiliani 和他的团队研发的。已经被Linux 开发团队接受,合并到Linux 内核5.6当中。该算法又名为:"Flow Queue Proportional Integral controller Enhanced (FQ-PIE)". 它最小化网络数据包的延时队列。

FQ-PIE 被称作 Linux 5.6 最佳的特性.

 

开发设计工作由以下人员完成 Gautam Ramakrishnan, Sai Charan, Mohit Bhasi, Leslie Monis 和 Sachin Patil 指导导师: Dr. Mohit P. Tahiliani.

 

通过阅读Linux代码,我们可以看到一些有意思的注释,其中包括原则

* 原则:

*-数据包按流分类。

*-这是一个随机模型(由于我们使用哈希,因此可能会有多个流散列到同一个槽位

*-每个流都有一个PIE管理的队列。

*-流程链接到两个(Round Robin)列表, 以便新流量优先于旧流量。

*-对于给定的流,不对数据包重新排序。

*-仅在入队时丢弃。

*-ECN容量功能默认情况下处于关闭状态。

*-ECN阈值(如果启用了ECN)默认为10%。

*-默认情况下,使用时间戳来计算队列延迟。

具体应用到linux系统里,我们可以看得到tc 的一些状态信息

# tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2 
qdisc fq_pie 0: dev eth0 root refcnt 2 limit 10240p flows 1024 target 15ms tupdate 16ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 

网上可以找到第三方评测机构测评的一些数据报告,就不在这里引用

 

本文的目的主要起到一个介绍这个算法的作用。

分类: Linux/Unix 标签: Linux 内核 算法 发布于: 2020-12-26 19:25:13, 点击数: