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, 点击数: