[发明专利]一种基于NTB硬件的自适应优先级通信方法在审
申请号: | 201610863783.5 | 申请日: | 2016-09-30 |
公开(公告)号: | CN107888515A | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 张仁峰 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863;H04L12/865;G06F13/42 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450008 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ntb 硬件 自适应 优先级 通信 方法 | ||
技术领域
本发明涉及一种基于NTB硬件通信方法。
背景技术
随着计算机行业对控制系统可靠性要求的提高,多控制器系统的高性能、高可靠性逐步的得到了业内企业的认可,逐渐的成为了行业的主流,伴随着多控制器的主流趋势,多控制器之间的通信必不可少,其性能的好坏也成为了多控制器产品的好坏的重要指标之一。而NTB技术也随着多控通信的发展而诞生,NTB高带宽、低延时、抖动小的特点成为了多控通信的新宠,也逐渐成为主流。同时基于NTB的通信方法也随着NTB的兴起也变成流行起来,由于性能的考虑,异步通信成为了大部分通信方法的必然选择,而待发送的消息如何才能有效率的发送也渐渐成为当前面临的课题。
因此多控制器间的通信方法是如何提高消息传递的效率已经越来越成为通信方法好坏的一个重要的指标,对于效率的理解也出现了很多不同的解释,这里对效率的解释是对于适当的大小的消息进行适当的处理,也就是说数据量大的消息延时会比数据量小的消息延时大一些。本文中会以这个理解作为前提进行说明。
发明内容
本发明为了解决上述问题,为此,本发明提供一种基于NTB硬件的自适应优先级通信方法,它具有能根据消息大小自动选择不同优先级线程传递的优点。
为了实现上述目的,本发明采用如下技术方案。
一种基于NTB硬件的自适应优先级通信方法,多控制器之间通过NTB互联,NTB通信为异步或者使用异步模拟同步。NTB的映射窗口分为不同优先级的多个队列,优先级高的队列数多于优先级低一级的队列数。待发送消息根据优先级判断进入不同优先级的队列发送。
优先级判断包含以下步骤:
步骤1、待发送消息根据消息的大小进行基础优先级判断;
步骤2、待发送消息根据消息负载策略改变优先级;
步骤3、待发送消息进入等待发送的队列,启动定时线程,检查超时情况,如超时提高消息优先级;
步骤4、发送线程会从对应的优先级队列中,取出消息进行发送。
NTB的映射窗口可的队列可分为优先级高、优先级中和优先级低。
NTB的映射窗口可分为6个队列,3个队列给优先级高的线程使用,其中2个队列给优先级中的线程使用,1个队列给优先级低的线程使用。
步骤1中消息的大小越大,则优先级越低。
步骤1中如果不大于4KB,优先级为高,如果大于4KB并且不大于1MB,优先级为中,如果大于1MB,优先级为低。
步骤2是如果某一优先级的队列的负载不超过50%,即当前队列的长度没有超过限定长度的一半,则低优先级队列中消息提升优先级级别,并再次判断。
本发明的有益效果:本发明具有能根据消息大小自动选择不同优先级线程传递,提高了消息传递的效率的优点。
附图说明
图1是NTB内存布局示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1所示,首先在NTB内存布局中,建立6个队列,其中3个给优先级高的发送线程,2个给优先级中的发送线程,1个是优先级低的发送线程;在主机内存缓冲区建立3个队列,队列的最大长度是1000,依次编号为0、1、2,0号队列是优先级高的队列,对于这个队列启动3个发送线程,进行消息发送,1号队列是优先级中的队列,对于这个队列启动2个发送线程,进行消息发送,2号队列是优先级低的队列,对于这个队列启动1个发送线程,进行消息的发送。
一个消息的发送流程如下:
步骤1、消息基本优先级判断,直接根据消息的大小,进行基本优先级的判断,如果不大于4KB,优先级就是高,直接进入高优先级队列,等待发送,如果是不大于1MB,优先级为中,进入步骤2。如果大于1MB,优先级为低,进入步骤2。
步骤2、根据消息负载策略改变优先级,优先级为中的消息,如果判断优先级高的队列的负载没有超过50%,即当前队列的长度没有超过限定长度的一半,则提升优先级,比如将优先级为中的消息提升为优先级为高,如果优先级是高,就进入高优先级队列,进入步骤3
步骤3、消息进入等待发送的队列,等待发送。优先级为高,就进入高优先级队列,优先级为中,就进入中优先级队列,优先级为低,就进入低优先级队列,启动定时线程,检查超时情况
步骤4、发送线程会从对应的优先级队列中,取出消息进行发送。
定时线程,发现某些消息已经等待20ms了,则调整其优先级,将优先级提升一级,比如从低变成中,进入优先级中的等待队列。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610863783.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种肉牛育肥方法
- 下一篇:动图像编码装置以及动图像编码方法