CN107888515A - 一种基于ntb硬件的自适应优先级通信方法 - Google Patents
一种基于ntb硬件的自适应优先级通信方法 Download PDFInfo
- Publication number
- CN107888515A CN107888515A CN201610863783.5A CN201610863783A CN107888515A CN 107888515 A CN107888515 A CN 107888515A CN 201610863783 A CN201610863783 A CN 201610863783A CN 107888515 A CN107888515 A CN 107888515A
- Authority
- CN
- China
- Prior art keywords
- priority
- ntb
- message
- method based
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/628—Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于NTB硬件的自适应优先级通信方法,多控制器之间通过NTB互联,NTB通信为异步或者使用异步模拟同步;NTB的映射窗口分为不同优先级的多个队列,优先级高的队列数多于优先级低一级的队列数;待发送消息根据优先级判断进入不同优先级的队列发送。本发明具有能根据消息大小自动选择不同优先级线程传递,提高了消息传递的效率的优点。
Description
技术领域
本发明涉及一种基于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了,则调整其优先级,将优先级提升一级,比如从低变成中,进入优先级中的等待队列。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (7)
1.一种基于NTB硬件的自适应优先级通信方法,其特征在于,多控制器之间通过NTB互联,NTB通信为异步或者使用异步模拟同步;NTB的映射窗口分为不同优先级的多个队列,优先级高的队列数多于优先级低一级的队列数;待发送消息根据优先级判断进入不同优先级的队列发送。
2.如权利要求1所述的基于NTB硬件的自适应优先级通信方法,其特征在于,优先级判断包含以下步骤:
步骤1、待发送消息根据消息的大小进行基础优先级判断;
步骤2、待发送消息根据消息负载策略改变优先级;
步骤3、待发送消息进入等待发送的队列,启动定时线程,检查超时情况,如超时提高消息优先级;
步骤4、发送线程会从对应的优先级队列中,取出消息进行发送。
3.如权利要求2所述的基于NTB硬件的自适应优先级通信方法,其特征在于,步骤1中消息的大小越大,则优先级越低。
4.如权利要求2所述的基于NTB硬件的自适应优先级通信方法,其特征在于,步骤2是如果某一优先级的队列的负载不超过50%,即当前队列的长度没有超过限定长度的一半,则低优先级队列中消息提升优先级级别,并再次判断负载情况。
5.如权利要求1所述的基于NTB硬件的自适应优先级通信方法,其特征在于,NTB的映射窗口可的队列可分为优先级高、优先级中和优先级低。
6.如权利要求1所述的基于NTB硬件的自适应优先级通信方法,其特征在于,NTB的映射窗口可分为6个队列,3个队列给优先级高的线程使用,其中2个队列给优先级中的线程使用,1个队列给优先级低的线程使用。
7.如权利要求5所述的基于NTB硬件的自适应优先级通信方法,其特征在于,步骤1中如果不大于4KB,优先级为高,如果大于4KB并且不大于1MB,优先级为中,如果大于1MB,优先级为低。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610863783.5A CN107888515A (zh) | 2016-09-30 | 2016-09-30 | 一种基于ntb硬件的自适应优先级通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610863783.5A CN107888515A (zh) | 2016-09-30 | 2016-09-30 | 一种基于ntb硬件的自适应优先级通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107888515A true CN107888515A (zh) | 2018-04-06 |
Family
ID=61769012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610863783.5A Pending CN107888515A (zh) | 2016-09-30 | 2016-09-30 | 一种基于ntb硬件的自适应优先级通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107888515A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682565A (zh) * | 2007-03-12 | 2010-03-24 | 思杰系统有限公司 | 用于通过代理进行动态带宽控制的系统和方法 |
US20120093170A1 (en) * | 2010-10-14 | 2012-04-19 | International Business Machines Corporation | Direct Memory Access Memory Management |
US20120201148A1 (en) * | 2011-02-04 | 2012-08-09 | Alcatel-Lucent Usa Inc. | Method Of Managing User Traffic To Prevent Aggressive Users From Abusing Network Resources |
CN103609082A (zh) * | 2011-06-17 | 2014-02-26 | 英特尔公司 | 用于传递数据分组的方法和系统 |
CN104899105A (zh) * | 2014-03-05 | 2015-09-09 | 安徽皖新金智教育科技有限公司 | 一种进程间通信方法 |
-
2016
- 2016-09-30 CN CN201610863783.5A patent/CN107888515A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682565A (zh) * | 2007-03-12 | 2010-03-24 | 思杰系统有限公司 | 用于通过代理进行动态带宽控制的系统和方法 |
US20120093170A1 (en) * | 2010-10-14 | 2012-04-19 | International Business Machines Corporation | Direct Memory Access Memory Management |
US20120201148A1 (en) * | 2011-02-04 | 2012-08-09 | Alcatel-Lucent Usa Inc. | Method Of Managing User Traffic To Prevent Aggressive Users From Abusing Network Resources |
CN103609082A (zh) * | 2011-06-17 | 2014-02-26 | 英特尔公司 | 用于传递数据分组的方法和系统 |
CN104899105A (zh) * | 2014-03-05 | 2015-09-09 | 安徽皖新金智教育科技有限公司 | 一种进程间通信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7944935B2 (en) | Method for priority based queuing and assembling of packets | |
EP2893678B1 (en) | Apparatus for transferring packets between interface control modules of line cards | |
WO2021174735A1 (zh) | 一种保证延迟敏感应用延迟slo的动态调控资源方法及系统 | |
CN107220200B (zh) | 基于动态优先级的时间触发以太网数据管理系统及方法 | |
CN101540727B (zh) | 一种ip报文的硬件分流方法 | |
US20110119679A1 (en) | Method and system of an i/o stack for controlling flows of workload specific i/o requests | |
EP2466824B1 (en) | Service scheduling method and device | |
CN102999386B (zh) | 一种通过在单进程中实现多消息队列机制提升性能的方法 | |
US20080104283A1 (en) | Method and system for achieving fair command processing in storage systems that implement command-associated priority queuing | |
CN107818056A (zh) | 一种队列管理方法及装置 | |
CN103825830B (zh) | 基于tuxedo中间件的系统实现流量管控的方法和装置 | |
CN101473612A (zh) | 对mac-phy接口的自适应速度控制 | |
US20140229957A1 (en) | Multi-Core Processor System | |
JP2007521748A (ja) | 前途のリソースの読み取りパスを用いた、読み取り/書き込みコマンドバッファプールリソースの管理 | |
US20160196073A1 (en) | Memory Module Access Method and Apparatus | |
US6944730B2 (en) | Read/write scheduling apparatus of controller chip and method for the same | |
CN104516478B (zh) | 对设备功率进行节流 | |
CN106293523A (zh) | 一种对非易失性存储的io请求响应方法及装置 | |
CN107888515A (zh) | 一种基于ntb硬件的自适应优先级通信方法 | |
EP3326347B1 (en) | Method and system for usb 2.0 bandwidth reservation | |
CN103841042A (zh) | 在高运行效率下传输数据的方法和装置 | |
CN103440213A (zh) | 一种应用于具有多cpu和网卡的系统的网卡驱动方法 | |
WO2021109892A1 (zh) | 一种视频数据的传输方法及终端 | |
CN102761601A (zh) | 一种基于动态加权路径的mpio轮询的方法 | |
US20170308486A1 (en) | Storage system and method for controlling command transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180406 |
|
RJ01 | Rejection of invention patent application after publication |