一种面向高速消息传输的pcie数据传输系统及计算机

文档序号:1627952 发布日期:2020-01-14 浏览:46次 >En<

阅读说明:本技术 一种面向高速消息传输的pcie数据传输系统及计算机 (PCIE data transmission system and computer for high-speed message transmission ) 是由 牟华先 周舟 曹志强 任秀江 崔晓阳 周建毅 于 2019-09-12 设计创作,主要内容包括:本发明涉及计算机外围设备高速互联总线(PCIE)技术领域,尤其涉及一种面向高速消息传输的PCIE数据传输系统及计算机。包括采用非轮询方式进行交互的处理器和消息处理芯片;所述处理器和消息处理芯片之间的数据包包括P数据包、NP数据包、CPL数据包,并且所述处理器和所述消息处理芯片均采用专门的通道发送和接收CPL数据包。可以满足PCIE的防死锁约束,并且在工程上容易实现,能够提升PCIE整体性能。(The invention relates to the technical field of peripheral equipment high-speed interconnection buses (PCIE) of computers, in particular to a PCIE data transmission system and a computer for high-speed message transmission. The system comprises a processor and a message processing chip which are interacted in a non-polling mode; the data packets between the processor and the message processing chip comprise a P data packet, an NP data packet and a CPL data packet, and the processor and the message processing chip both adopt a special channel to send and receive the CPL data packet. The deadlock prevention constraint of the PCIE can be met, the implementation is easy in engineering, and the overall performance of the PCIE can be improved.)

一种面向高速消息传输的PCIE数据传输系统及计算机

技术领域

本发明涉及计算机***设备高速互联总线(PCIE)技术领域,尤其涉及一种面向高速消息传输的PCIE数据传输系统及计算机。

背景技术

申请公布号CN 109684269 A,申请公布日2019年4月26日的发明专利申请公开了一种PCIE交换芯片内核及工作方法,能够按照PCIE标准协议规定的排序规则转发PCIE事务层数据包,以遵循生产者和消费者模型。

消息处理芯片是实现高速消息传输机制的核心芯片,PCIE接口是消息处理芯片的唯一访存接口,对于消息传输的性能有着至关重要的作用。PCIE事务层数据包的转发顺序是PCIE接口实现的重要依据。对于高速消息传输而言,某些标准PCIE序的规则并不完全适用。

发明内容

本发明旨在提供一种针对高性能计算机中的高速消息传输应用的PCIE数据传输系统及计算机,用以提升计算机的计算性能。

一种面向高速消息传输的PCIE数据传输系统,其特征在于:

包括采用非轮询方式进行交互的处理器和消息处理芯片;

所述处理器和消息处理芯片之间的数据包包括P数据包、NP数据包、CPL数据包,并且所述处理器和所述消息处理芯片均采用专门的通道发送和接收CPL数据包。

PCIE标准序所规定的生产者消费者场景并不全是高速消息传输中必须的组成部分,并且其性能提升序的实现在工程上也较为繁琐。上述技术方案中,处理器与消息处理芯片采用非轮询方式进行交互,使得它们均可以采用专门的通道处理CPL数据包,可以满足PCIE的防死锁约束,并且在工程上容易实现,能够提升PCIE整体性能。

作为优选,所述消息处理芯片包括用于发送P数据包的第一EP发送通道、用于发送NP数据包的第二EP发送通道,用于发送CPL数据包的第三EP发送通道;所述处理器包括用于接收P数据包、NP数据 包的第一RC接收通道,用于接收CPL数据包的第二RC接收通道;所述消息处理芯片设置有阻塞模块,所述阻塞模块用于阻止所述消息处理芯片发送的NP数据包穿越所述消息处理芯片发送的P数据包。在消费者发送至生产者方向,同时满足PCIE序的防死锁约束和生产者消费者模型约束。

进一步地,所述阻塞模块,包括对应所述第二EP发送通道中各NP数据包设置的NP计数器;所述NP计数器的计数值在各NP数据包进入所述第二EP发送通道时被初始化为对应NP数据包进入所述第二EP发送通道之前所述第一EP发送通道中的P数据包的数量;所述第一EP发送通道每发出一个 P数据包,所述阻塞模块中各NP计数器的计数值均被减1;所述阻塞模块在所述第二EP发送通道中的NP数据包即将准备发出时,判断所述阻塞模块中与该NP数据包对应NP计数器的计数值,如果计数值不大于0,则允许所述NP数据包被发出,否则阻塞所述NP数据包。

进一步地,所述处理器包括用于发送P数据包、NP数据包的第一RC发送通道,用于发送CPL数据包的第二RC发送通道;所述消息处理芯片包括用于接收P数据包、NP数据包的第一EP接收通道,用于接收CPL数据包的第二EP接收通道。在生产者发送至消费者方向,同时满足PCIE序的防死锁约束和生产者消费者模型约束。

作为优选,所述处理器和消息处理芯片之间的数据包还包括RO P数据包、RO NP数据包 。结合高速消息机制的具体序要求,引入带有RO(Relax Order,松散序)标记的PCIE事务层数据包,该种类型的数据包可以违反PCIE标准序规则,以提升计算机性能。

作为优选,所述处理器包括用于发送P数据包、NP数据包、RO P数据包的第一RC发送通道,用于发送CPL数据包的第二RC发送通道, 用于发送RO NP数据包的第三RC发送通道;所述消息处理芯片包括用于接收P数据包、NP数据包的第一EP接收通道,用于接收CPL数据包的第二EP接收通道,用于接收RO P数据包、RO NP数据包的第三EP接收通道;所述消息处理芯片设置有阻塞模块,所述阻塞模块用于阻止所述消息处理芯片接收到的P数据包穿越所述消息处理芯片接收到的RO P数据包。

进一步地,所述阻塞模块,包括对应所述第一EP接收通道中各P数据包设置的P计数器;所述P计数器的计数值在各P数据包进入所述第一EP接收通道时被初始化为对应P数据包进入所述第一EP接收通道之前所述第三EP接收通道中的RO P数据包的数量;所述第三EP接收通道每发出一个RO P数据包,所述阻塞模块中各计数器的计数值均被减1;所述阻塞模块在所述第一EP接收通道中的P数据包即将准备发出时,判断所述阻塞模块中与该P数据包对应P计数器的计数值,如果计数值不大于0,则允许所述P数据包被发出,否则阻塞所述P数据包。

作为优选,所述处理器包括用于接收P数据包、NP数据包的第一RC接收通道,用于接收CPL数据包的第二RC接收通道;所述消息处理芯片包括用于发送P数据包的第一EP发送通道,用于发送NP数据包的第二EP发送通道,用于发送CPL数据包的第三EP发送通道;所述消息处理芯片设置有阻塞模块,所述阻塞模块用于阻止所述消息处理芯片发送的NP数据包穿越所述消息处理芯片发送的P数据包。

进一步地,所述阻塞模块,包括对应所述第二EP发送通道中各NP数据包设置的NP计数器;所述NP计数器的计数值在各NP数据包进入所述第二EP发送通道时被初始化为对应NP数据包进入所述第二EP发送通道之前所述第一EP发送通道中的P数据包的数量;所述第一EP发送通道每发出一个 P数据包,所述阻塞模块中各NP计数器的计数值均被减1;所述阻塞模块在所述第二EP发送通道中的NP数据包即将准备发出时,判断所述阻塞模块中与该NP数据包对应NP计数器的计数值,如果计数值不大于0,则允许所述NP数据包被发出,否则阻塞所述NP数据包。

本发明还提出一种计算机,其特征在于:包括上述任一项所述的PCIE数据传输系统。

本发明具有下述有益效果:

本发明针对高速消息传输应用场景,处理器与消息处理芯片采用中断进行交互,交互效率更高。采用专门的通道处理CPL数据包,能够满足PCIE的防死锁约束,并且在工程上容易实现,能够提升PCIE整体性能。

具体实施方式

这里使用的术语仅用于描述特定实施例的目的,而不意图限制本发明。 除非另外定义,否则本文使用的所有术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。 将进一步理解的是,常用术语应该被解释为具有与其在相关领域和本公开内容中的含义一致的含义。本公开将被认为是本发明的示例,并且不旨在将本发明限制到特定实施例。

实施例一

一种面向高速消息传输的PCIE数据传输系统,包括采用非轮询方式进行交互的处理器和消息处理芯片。消息处理芯片设有PCIE接口作为其访问处理器的访存接口,通过PCIE总线进行访存。本实施例中,消息处理芯片可以采用中断方式通知处理器,而处理器直接根据寄存器地址读取消息处理芯片上的IO寄存器而不是通过轮询消息处理芯片上的IO寄存器来确定消息处理器的状态。一方面中断相比轮询具有更高的处理效率,另一方面避免了轮询的应用场景后允许PCIE事务层的CPL数据包穿越P数据包,并且P数据包也不需要必须能够穿越NP数据包。基于这两点,本实施例中的处理器和消息处理芯片之间的可以采用专门的通道来发送和接收CPL数据包。一般情况下,被分发到同一个通道(无论是发送通道还是接收通道)的两个数据包是不能相互穿越的,即使说,被分发到同一个通道中的两个数据包会按照其进入该通道的先后顺序被发出,后进入通道的数据包不会“穿越”到先进入通道的数据包之前被发出。CPL数据包在处理器和消息芯片端均采用单独的通道进行发送和接收,使得CPL数据包能够穿越其他任何类型的数据包(例如,P数据包和NP数据包)。

具体在本实施例中,在生产者发送至消费者方向上:

作为生产者的消息处理芯片包括三个EP发送通道,分别为:用于发送P数据包的第一EP发送通道、用于发送NP数据包的第二EP发送通道,用于发送CPL数据包的第三EP发送通道。

作为消费者的处理器包括两个RC接收通道,分别为:用于接收P数据包、NP数据 包的第一RC接收通道,用于接收CPL数据包的第二RC接收通道。

由于在消息处理器芯片端NP数据包和N数据包通过不同的通道发送(P数据包通过第一EP发送通道发送,NP数据包通过第二EP发送通道发送),为了防止出现消息处理器芯片发送的NP数据包穿越消息处理芯片发送的P数据包的情况,以符合PCIE序的生产者消费者模型约束。消息处理芯片中设置有阻塞模块,用于阻止消息处理芯片发送的NP数据包穿越消息处理芯片发送的P数据包。本实施例的阻塞模块包括对应第二EP发送通道中各NP数据包设置的NP计数器。基于阻塞模块的阻塞机制为:NP计数器的计数值在各NP数据包进入第二EP发送通道时被初始化为对应NP数据包进入第二EP发送通道之前第一EP发送通道中的P数据包的数量。第一EP发送通道每发出一个 P数据包,阻塞模块中各NP计数器的计数值均被减1。阻塞模块在第二EP发送通道中的NP数据包即将准备发出时,判断阻塞模块中与该NP数据包对应NP计数器的计数值,如果计数值不大于0,则允许NP数据包被发出,否则阻塞NP数据包。这样,通过阻塞模块能够保证消息处理芯片中发送的NP数据包不能穿越P数据包,符合PCIE的生产者消费者模型约束。

在消费者发送至生产者方向上:

作为消费者的处理器包括两个RC发送通道,分别为:用于发送P数据包、NP数据包的第一RC发送通道,用于发送CPL数据包的第二RC发送通道;

作为生产者的消息处理芯片包括两个EP接收通道,分别为:用于接收P数据包、NP数据包的第一EP接收通道,用于接收CPL数据包的第二EP接收通道。

通过本实施例的PCIE数据传输系统,即可满足PCIE序的下述规则约束:

防死锁约束:

(1)CPL数据包可以穿越P数据包;

(2)CPL数据包可以穿越NP数据包;

生产者消费者模型约束:

(3)P数据包不能穿越P数据包;

(4)NP数据包不能穿越P数据包。

本发明针对高速消息传输中特定的序要求,基于重新设计的上述符合高性能计算领域的PCIE自定义序规则,提出了工程可实现的实施例。该PCIE序规则相比标准序规则,减少了防死锁约束和生产者消费者模型约束上的冗余,明确了提升性能序。

实施例二

本实施例在实施例一的基础上引入了RO序(Relax Order,松散序),带有RO标记的PCIE事务层数据包可以违反PCIE标准序,以提升性能。引入RO序的PCIE事务层数据包除了包括标准的P数据包、NP数据包、CPL数据包以外,还包括RO P数据包、RO NP数据包 。

本实施例的PCIE自定义序规则包括:

防死锁约束:

(1)CPL数据包可以穿越P数据包和RO P数据包。

(2)CPL数据包可以穿越NP数据包和RO NP数据包。

生产者消费者模型约束:

(3)P数据包不能穿越P数据包和RO P数据包。

(4)NP数据包不能穿越P数据包。

性能提约束:

(5)NP数据包可以穿越CPL数据包。

(6)NP数据包可以穿越 RO P数据包。

(7)P数据包可以穿越CPL数据包。

(8)RO NP数据包可以穿越其他类型。

(9)RO P数据包可以穿越其他类型。

本实施例与实施例一的不同指出在于:

在消费者发送至生产者方向上:

作为消费者的处理器,其第一RC发送通道除了用于发送P数据包和NP数据包外,还用于发送RO P数据包。另外,还包括用于发送RO NP数据包的第三RC发送通道。

作为生产者的消息处理芯片,在实施例一的第一EP接收通道和第二EP接收通道的基础上,还包括用于接收RO P数据包、RO NP数据包的第三EP接收通道。

CPL数据包在处理器和消息芯片端均采用单独的通道进行发送和接收,使得CPL数据包能够穿越其他任何类型的数据包(P数据包、NP数据包、RO P数据包、RO NP数据包)。

而由于在消息处理芯片端,RO P数据包和P数据包是通过分别通过两个不同的通道接收的(RO P数据包由第三EP接收通道接收,P数据包由第一EP接收通道接收),为了防止出现消息处理器芯片接收的P数据包穿越消息处理芯片发送的RO P数据包的情况,以符合PCIE序的生产者消费者模型约束。消息处理芯片中的阻塞模块,还用于阻止消息处理芯片发送的P数据包穿越消息处理芯片发送的RO P数据包。本实施例的阻塞模块在实施例一的基础上还包括对应第一EP接收通道中各P数据包设置的P计数器。基于阻塞模块的阻塞机制为:P计数器的计数值在各P数据包进入第一EP接收送通道时被初始化为对应P数据包进入第一EP接收通道之前第三EP接收通道中的RO P数据包的数量。第三EP发送通道每发出一个RO P数据包,阻塞模块中各P计数器的计数值均被减1。阻塞模块在第一EP接收通道中的P数据包即将准备发出时,判断阻塞模块中与该P数据包对应P计数器的计数值,如果计数值不大于0,则允许P数据包被发出,否则阻塞P数据包。这样,通过阻塞模块能够保证消息处理芯片中接收的P数据包不能穿越RO P数据包,符合PCIE的生产者消费者模型约束。

由于在生产者发送至消费者方向上P数据包和NP数据包均为IO请求,没有性能要求,因此,本实施例在生产者发送至消费者方向上并不存在RO类型数据包,其设计与实施例一相同,在此不再赘述。

实施例三

一种计算机包括实施例一或实施例二所述的PCIE数据传输系统。

本发明针对高速消息传输中特定的序要求,基于重新设计的上述符合高性能计算领域的PCIE自定义序规则,提出了工程可实现的实施例。该PCIE序规则相比标准序规则,减少了防死锁约束和生产者消费者模型约束上的冗余,明确了提升性能序。

虽然描述了本发明的实施方式,但是本领域普通技术人员可以在所附权利要求的范围内做出各种变形或修改。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于PCIE的DMA数据传输系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!