[发明专利]无锁流水线网络数据分组带宽控制有效
| 申请号: | 201880096155.6 | 申请日: | 2018-09-04 |
| 公开(公告)号: | CN112534788B | 公开(公告)日: | 2022-11-11 |
| 发明(设计)人: | 喻湘宁;马可;段建军;刘昆 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | H04L47/50 | 分类号: | H04L47/50;H04L47/628 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;张艳梅 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 流水线 网络 数据 分组 带宽 控制 | ||
1.一种包括多个中央处理单元(CPU)以用于控制与所述多个CPU相关联的网络数据分组的系统中的方法,所述方法包括:
基于对应网络数据分组的带宽要求将与所述多个CPU相关联的网络数据分组分组到带宽组中;
将与所述多个CPU相关联的所述网络数据分组聚合到无锁排出队列中;以及
基于每个网络数据分组的相应长度对所述无锁排出队列执行带宽控制。
2.根据权利要求1所述的方法,还包括:
向所述无锁排出队列中当前排队的网络数据分组的对应CPU发送处理器间中断(IPI)以继续处理所述当前排队的网络数据分组。
3.根据权利要求1所述的方法,其中在基于所述带宽要求将与所述多个CPU相关联的所述网络数据分组到带宽组中之前,所述方法还包括:
基于预定调度表来调度所述多个CPU中的每个CPU;以及
选择当前调度的CPU,
其中根据权利要求1所述的方法由所述当前调度的CPU执行。
4.根据权利要求1所述的方法,其中将与所述多个CPU相关联的所述网络数据分组聚合到所述无锁排出队列中包括:
以介于每一微秒一次与每两微秒一次之间的速率扫描所述多个CPU中的每个CPU的队列。
5.根据权利要求1所述的方法,其中将与所述多个CPU相关联的所述网络数据分组聚合到所述无锁排出队列中包括:
以所述多个CPU的预定次序在所述无锁排出队列中对与所述多个CPU相关联的所述相应的网络数据分组进行排队。
6.根据权利要求1所述的方法,其中基于每个网络数据分组的相应长度对所述无锁排出队列执行所述带宽控制包括使用带宽组专用线程。
7.根据权利要求1所述的方法,还包括:
在所述多个CPU中的一个CPU上运行带宽分配线程;以及
动态地调整所述带宽组中的每一个的对应最大带宽。
8.根据权利要求7所述的方法,其中在所述多个CPU中的所述一个CPU上运行所述带宽分配线程包括以每秒一次的速率在所述多个CPU中的所述一个CPU上运行所述带宽分配线程。
9.根据权利要求1所述的方法,其中网络数据分组被保持在对应CPU的无锁队列中。
10.一种用于控制与多个中央处理单元(CPU)相关联的网络数据分组的系统,所述系统包括:
多个CPU;
耦合到所述多个CPU的存储器,所述存储器存储可由所述多个CPU中的任何一个执行的计算机可执行指令,所述计算机可执行指令当被执行时,使所述多个CPU中的执行CPU执行包括以下步骤的操作:
基于对应网络数据分组的带宽要求将与所述多个CPU相关联的网络数据分组分组到带宽组中;
将与所述多个CPU相关联的所述网络数据分组聚合到无锁排出队列中;以及
基于每个网络数据分组的相应长度对所述无锁排出队列执行带宽控制。
11.根据权利要求10所述的系统,其中所述操作还包括:
向所述无锁排出队列中当前排队的网络数据分组的对应CPU发送处理器间中断(IPI)以继续处理所述当前排队的网络数据分组。
12.根据权利要求11所述的系统,其中基于预定调度表来选择所述执行CPU。
13.根据权利要求11所述的系统,其中将与所述多个CPU相关联的所述网络数据分组聚合到所述无锁排出队列中包括:
以介于每一微秒一次与每两微秒一次之间的速率扫描所述多个CPU中的每个CPU的队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880096155.6/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





