[发明专利]无锁流水线网络数据分组带宽控制有效
| 申请号: | 201880096155.6 | 申请日: | 2018-09-04 |
| 公开(公告)号: | CN112534788B | 公开(公告)日: | 2022-11-11 |
| 发明(设计)人: | 喻湘宁;马可;段建军;刘昆 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | H04L47/50 | 分类号: | H04L47/50;H04L47/628 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;张艳梅 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 流水线 网络 数据 分组 带宽 控制 | ||
系统和方法被提供用于通过经由以下步骤来减少等待时间并控制带宽来改进具有多个处理器的计算系统中的多线程处理性能:基于带宽要求将与处理器相关联的网络数据分组分组到带宽组中;将与处理器相关联的网络数据分组聚合到无锁排出队列中;基于每个网络数据分组的相应长度对无锁排出队列执行带宽控制;以及向无锁排出队列中当前排队的网络数据分组的对应处理器发送处理器间中断(IPI)以继续处理当前排队的网络数据分组。
背景技术
近年来,许多业务已增加利用计算服务提供商来管理数据存储、计算等。这些计算服务提供商对于不同的业务支持变化的服务需要,这可以被称为混合或多租户场景。在计算服务提供商的多租户场景中,不同的服务共享同一物理网络接口卡(NIC),然而,不同的服务对于网络服务质量具有非常不同的要求。例如,诸如电子商务的在线业务可能需要低等待时间和高分组每秒(PPS),然而诸如大数据的脱机服务可能对等待时间不敏感,但是可能具有高带宽要求。因此,需要有效地管理用于隔离和共享网络资源的流或业务组,以通过同一NIC来满足不同的需求和要求。
当前,一些商业上可用的业务控制(TC)技术解决方案需要对服务器的一些中央处理单元(CPU)资源的非常高百分比多达100%的占用,以在不用足够地满足高PPS要求的情况下管理流控制,或者不适合于大规模部署。例如,一些流控制算法在系统中分配一些CPU来以忙循环的方式运行流控制算法,这消耗宝贵的CPU资源,而又无法确保网络数据分组将由原始CPU处理。如果网络数据分组未由原始CPU处理,则系统的性能会因系统的高速缓存局部性问题而降级。其他控制算法涉及从大量CPU当中不同的线程同时访问当前带宽使用,并且为带宽共享和带宽限制两者实现锁。利用这样的控制算法的系统的性能通常受到全局锁限制,这导致多线程处理性能的降级。
附图说明
参考附图阐述详细描述。在各图中,附图标记的最左边数字标识该附图标记首次出现在其中的图。在不同的图中使用相同的附图标记指示类似或相同的项目或特征。
图1图示了基于带宽的网络数据分组控制的示例过程。
图2图示了详述图1的各框中的一个的示例流程图。
图3图示了用于实现上述用于基于带宽的网络数据分组控制的过程和方法的示例系统。
图4图示了基于带宽的网络数据分组控制的图示表示400。
具体实施方式
本文讨论的方法和系统涉及改进网络资源隔离,并且更具体地涉及通过减少等待时间并控制带宽来改进具有多个处理器的计算系统中的多线程处理性能。
在多租户场景中,系统为对于网络服务质量具有不同的要求的不同的服务共享同一物理网络接口卡(NIC)。系统可以包括用于控制与多个CPU相关联的网络数据分组的多个处理器,诸如CPU。CPU可以包括在物理机器上运行的物理CPU和在虚拟机上运行的虚拟CPU。不是使CPU专用于流或业务组,而是可以基于诸如在CPU之间提供某种性能公平性的循环方式的预定调度表来调度每个CPU以执行流控制任务,即,单个CPU不应比其他CPU更多地执行流控制任务。当前调度的CPU也可以被称为执行CPU。每个CPU可以将其网络数据分组保持在它自己的无锁队列中。执行CPU可以基于对应带宽要求将与多个CPU相关联的网络数据分组分组到带宽组中,并且将网络数据分组聚合到无锁排出队列中。作为聚合线程,执行CPU可以通过以下步骤来将网络数据分组聚合到无锁排出队列中:以高速率扫描多个CPU中的每个CPU的队列,例如每隔一到两微秒扫描,并且以多个CPU的预定次序如循环方式对与多个CPU相关联的相应的网络数据分组进行排队。在此聚合阶段,不访问网络数据分组的内容。网络数据分组因此很可能仍然在对应原始CPU的高速缓存中,从而确保网络数据分组的高速缓存局部性并避免多个线程同时地访问数据的问题。
执行CPU然后可以基于每个网络数据分组的相应长度例如通过对无锁排出队列执行令牌桶算法或者使用带宽组专用线程来对无锁排出队列执行带宽控制,并且作为排出线程,向无锁排出队列中当前排队的网络数据分组的对应CPU发送处理器间中断(IPI)以继续处理已排队的网络数据分组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880096155.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





