一种PCIe虚拟信道选择方法、装置、系统及介质

文档序号:326241 发布日期:2021-11-30 浏览:10次 >En<

阅读说明:本技术 一种PCIe虚拟信道选择方法、装置、系统及介质 (PCIe virtual channel selection method, device, system and medium ) 是由 刘凯 王凯 符云越 于 2021-07-30 设计创作,主要内容包括:本申请提供了一种PCIe虚拟信道选择方法、装置、系统及介质,该方法包括:将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;旧对应关系为出厂设置的对应关系;预先得到的遗传算法模型输出多个虚拟信道与多个数据包之间的第一新对应关系;根据第一新对应关系,选择当前待传输数据包对应的虚拟信道。从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。(The application provides a PCIe virtual channel selection method, a device, a system and a medium, wherein the method comprises the following steps: inputting the use states of a plurality of virtual channels in a preset time period into a genetic algorithm model obtained in advance; the method comprises the following steps that a pre-obtained genetic algorithm model is obtained in advance through training according to the use states of a plurality of virtual channels in a historical period and old corresponding relations between the virtual channels and a plurality of data packets in the historical period; the old corresponding relation is a factory-set corresponding relation; outputting a first new corresponding relation between a plurality of virtual channels and a plurality of data packets by a pre-obtained genetic algorithm model; and selecting the virtual channel corresponding to the current data packet to be transmitted according to the first new corresponding relation. Therefore, the appropriate virtual channel corresponding to the current data packet to be transmitted can be accurately and quickly selected, the utilization rate of the virtual channel can be improved, the virtual channel is prevented from being blocked, the efficiency is improved, and the waste of idle resources is prevented.)

一种PCIe虚拟信道选择方法、装置、系统及介质

技术领域

本申请涉及计算机领域,尤其涉及一种PCIe虚拟信道选择方法、装置、系统及介质。

背景技术

由于PCIe(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)具有高速串行、点对点和多通道传输等特性,因此其被广泛应用在数据传输领域。

PCIe中定义有虚拟信道(Virtual channel,VC)用于数据传输,PCIe数据传输主要传输TLP(Transaction layer package,事务层包),TLP中的TC(Traffic Class,传输等级)用于表征传输的TLP的优先级,不同优先级的数据包传输到不同的虚拟信道,选择方式单一,并且当多个数据包具有相同的传输等级时,即多个数据包对应同一个虚拟信道,易造成虚拟信道的拥堵。

此时需要修改传输等级,改变优先级,现阶段的修改由人力进行,过程复杂,且易造成资源浪费。因此如何防止资源浪费,灵活修改传输等级,提高虚拟信道利用率是本领域需要解决的技术问题。

发明内容

为了解决以上技术问题,本申请提供了一种一种PCIe虚拟信道选择方法、装置、系统及介质,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

第一方面,本申请提供了一种PCIe虚拟信道选择方法,包括:

将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;所述预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;所述旧对应关系为出厂设置的对应关系;

所述预先得到的遗传算法模型输出所述多个虚拟信道与多个数据包之间的第一新对应关系;

根据所述第一新对应关系,选择所述当前待传输数据包对应的虚拟信道。

可选地,还包括通过以下步骤预先获得所述预先得到的遗传算法模型:

将所述历史时段内多个虚拟信道的使用状态输入训练前遗传算法模型,得到所述多个虚拟信道与所述多个数据包之间的第二新对应关系;

根据所述旧对应关系,和所述第二新对应关系,对所述训练前遗传算法模型进行训练得到所述预先得到的遗传算法模型。

可选地,所述使用状态包括空满状态、多个虚拟信道分别能容纳的数据包量、及多个虚拟信道中的每个虚拟信道在预设时段内平均容纳的数据包量。

可选地,所述遗传算法模型的选择函数采用轮盘赌算法。

第二方面,本申请提供了一种PCIe虚拟信道选择装置,包括:

第一输入单元,用于将将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;所述预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;所述旧对应关系为出厂设置的对应关系;所述预先得到的遗传算法模型输出所述多个虚拟信道与多个数据包之间的第一新对应关系;

选择单元,用于根据所述第一新对应关系,选择所述当前待传输数据包对应的虚拟信道。

可选地,还包括通过以下装置预先获得所述预先得到的遗传算法模型:

第二输入单元,用于将所述历史时段内多个虚拟信道的使用状态输入训练前遗传算法模型,得到所述多个虚拟信道与所述多个数据包之间的第二新对应关系;

训练单元,用于根据所述旧对应关系,和所述第二新对应关系,对所述训练前遗传算法模型进行训练得到所述预先得到的遗传算法模型。

可选地,所述使用状态包括空满状态、多个虚拟信道分别能容纳的数据包量、及多个虚拟信道中的每个虚拟信道在预设时段内平均容纳的数据包量。

可选地,所述遗传算法模型的选择函数采用轮盘赌算法。

第三方面,本申请提供了一种PCIe虚拟信道选择系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述PCIe虚拟信道选择方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理执行时实现如上述所述PCIe虚拟信道选择方法的步骤。

与现有技术相比,本申请至少具有以下优点:

本申请提供了一种PCIe虚拟信道选择方法、装置、系统及介质,该方法包括:将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;旧对应关系为出厂设置的对应关系;预先得到的遗传算法模型输出多个虚拟信道与多个数据包之间的第一新对应关系;根据第一新对应关系,选择当前待传输数据包对应的虚拟信道。从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出了本申请实施例提供的一种PCIe虚拟信道选择方法的流程图;

图2示出了本申请实施例提供的一种PCIe虚拟信道选择装置的示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。

正如背景技术中的描述,由于PCIe(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)具有高速串行、点对点和多通道传输等特性,因此其被广泛应用在数据传输领域。

PCIe中定义有虚拟信道(Virtual channel,VC)用于数据传输,PCIe数据传输主要传输TLP(Transaction layer package,事务层包),TLP中的TC(Traffic Class,传输等级)用于表征传输的TLP的优先级,不同优先级的数据包传输到不同的虚拟信道,选择方式单一,并且当多个数据包具有相同的传输等级时,即多个数据包对应同一个虚拟信道,易造成虚拟信道的拥堵。

此时需要修改传输等级,改变优先级,现阶段的修改由人力进行,过程复杂,且易造成资源浪费。因此如何防止资源浪费,灵活修改传输等级,提高虚拟信道利用率是本领域需要解决的技术问题。

为了解决以上技术问题,本申请提供了一种PCIe虚拟信道选择方法、装置、系统及介质,该方法包括:将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;旧对应关系为出厂设置的对应关系;预先得到的遗传算法模型输出多个虚拟信道与多个数据包之间的第一新对应关系;根据第一新对应关系,选择当前待传输数据包对应的虚拟信道。从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

为了更好地理解本申请的技术方案和技术效果,以下将结合附图对具体的实施例进行详细的描述。

示例性方法

参见图1所示,该图为本申请实施例提供的一种PCIe虚拟信道选择方法的流程图,包括:

S101:将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;所述预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;所述旧对应关系为出厂设置的对应关系;所述预先得到的遗传算法模型输出所述多个虚拟信道与多个数据包之间的第一新对应关系;

在本申请实施例中,可以利用计时器进行预设时段的计时,需要说明的是,本申请实施例在此不对预设时段的具体时长作具体限定,具体可由本领域技术人员根据实际情况进行设置。可选地,本申请实施例的虚拟信道的建立通过FPGA来完成,应当理解,其他逻辑器件或适用于本发明的其他可编程装置都是可能的。

在本申请实施例中,可以将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型,具体的,可以首先采集预设时段内多个虚拟信道的使用状态,即工作状态,并将其记录到虚拟信道状态内存,按时间在内存中顺序存储,当要进行本申请的PCIe虚拟信道选择方法时,将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型。

可选的,使用状态可以包括空满状态、多个虚拟信道分别能容纳的数据包量、及多个虚拟信道中的每个虚拟信道在预设时段内平均容纳的数据包量。

预先得到的遗传算法模型指的是经过训练获得的遗传算法模型,预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得,旧对应关系为出厂设置的对应关系。可选的,历史时段内多个虚拟信道的使用状态可以包括空满状态、多个虚拟信道分别能容纳的数据包量、及多个虚拟信道中的每个虚拟信道在历史时段内平均容纳的数据包量。

可选的,可以通过以下步骤预先获得预先得到的遗传算法模型:

将历史时段内多个虚拟信道的使用状态输入训练前遗传算法模型,得到多个虚拟信道与所述多个数据包之间的第二新对应关系,根据旧对应关系,和第二新对应关系,对训练前遗传算法模型进行训练得到预先得到的遗传算法模型。其中旧对应关系是出厂设置的数据包和虚拟信道之间的对应关系。

当经过训练的遗传算法模型输出的多个虚拟信道和多个数据包之间的对应关系优于旧对应关系时,即可认为训练得到的遗传算法模型可用,利用其可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

具体的,由于遗传算法模型不能直接处理虚拟信道的使用状态等参数,因此必须通过编码将虚拟信道的使用状态表示成遗传空间的染色体或者个体。这一转换操作就叫做编码,具体的,采用二进制编码法,将虚拟信道的使用状态按顺序编码,完成染色体对虚拟信道ID的一一对应。编码格式参见表1所示:

表1

在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。

在本申请实施例中,交叉过程以虚拟信道段的3bit为单位,进行交叉操作,交叉过程中会出现多个虚拟信道汇集在同一个染色体情况,若出现这种情况,正常计算适应度,若适应度满足预设条件,则关闭被筛选的虚拟信道,避免多个虚拟信道汇集在同一个染色体的情况。

其中,进化论中的适应度,是表示某一个体对环境的适应能力,也表示该个体繁殖后代的能力。遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。

在遗传算法的变异过程中,内部会出现优先级同级现象,则将两个虚通道设为相同优先级,这是不允许的,会强制将原优先级染色体段替换为新的,即内部染色体段(虚拟信道优先级)交换。

在遗传算法的种群过滤过程中,所有染色体得到解码后个体(仅一个染色体)的适应度,将种群中适应度最低的两个个体剔除即删除缓存。将经过交叉变异后的染色体(虚拟信道序列)缓存至虚拟信道缓存中,然后将染色体对应的状态,从编码形成的对照表中,解码出来。得到虚拟信道的各个状态。

根据虚拟信道的各个状态,配置好权重后,通过适应度函数,计算得到该个体适应度,然后采用轮盘赌算法进行选择,得到新建立的多个虚拟信道和多个数据包之间的映射关系。

S102:根据所述第一新对应关系,选择所述当前待传输数据包对应的虚拟信道。

在本申请实施例中,由于第一新对应关系为利用遗传算法筛选出的最适合当前环境的多个虚拟信道和多个数据包的对应关系,可以使通道利用率尽可能的达到理想值,防止空闲资源浪费,保证虚拟信道的高速传输。

举例来说,旧对应关系设置中数据包1、2、3和4都对应虚拟信道A,此时极易造成虚拟信道的堵塞,根据第一新对应关系进行虚拟信道的选择,可以将数据包1分配给虚拟信道A,将数据包2分配给虚拟信道B,将数据包3分配给虚拟信道C,将数据包4分配给虚拟信道D,不用人力修改对应关系,利用本申请实施例的遗传算法即可将旧对应关系修改为更适合当前情况的第一新对应关系,从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

本申请提供了一种PCIe虚拟信道选择方法,该方法包括:将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;旧对应关系为出厂设置的对应关系;预先得到的遗传算法模型输出多个虚拟信道与多个数据包之间的第一新对应关系;根据第一新对应关系,选择当前待传输数据包对应的虚拟信道。从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

示例性装置

参见图2,该图为本申请实施例提供的一种PCIe虚拟信道选择装置,包括:

第一输入单元201,用于将将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;所述预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;所述旧对应关系为出厂设置的对应关系;所述预先得到的遗传算法模型输出所述多个虚拟信道与多个数据包之间的第一新对应关系;

选择单元202,用于根据所述第一新对应关系,选择所述当前待传输数据包对应的虚拟信道。

可选地,还包括通过以下装置预先获得所述预先得到的遗传算法模型:

第二输入单元,用于将所述历史时段内多个虚拟信道的使用状态输入训练前遗传算法模型,得到所述多个虚拟信道与所述多个数据包之间的第二新对应关系;

训练单元,用于根据所述旧对应关系,和所述第二新对应关系,对所述训练前遗传算法模型进行训练得到所述预先得到的遗传算法模型。

可选地,所述使用状态包括空满状态、多个虚拟信道分别能容纳的数据包量、及多个虚拟信道中的每个虚拟信道在预设时段内平均容纳的数据包量。

可选地,所述遗传算法模型的选择函数采用轮盘赌算法。

本申请提供了一种PCIe虚拟信道选择装置,将预设时段内多个虚拟信道的使用状态输入预先得到的遗传算法模型;预先得到的遗传算法模型根据历史时段内多个虚拟信道的使用状态,和历史时段内多个虚拟信道和多个数据包之间的旧对应关系通过训练预先获得;旧对应关系为出厂设置的对应关系;预先得到的遗传算法模型输出多个虚拟信道与多个数据包之间的第一新对应关系;根据第一新对应关系,选择当前待传输数据包对应的虚拟信道。从而可以准确快速的选择当前待传输数据包对应的合适的虚拟信道,可以提高虚拟信道的利用率,防止虚拟信道拥堵的同时,提高了效率,防止空闲资源的浪费。

在上述实施例的基础上,本申请实施例还提供了一种PCIe虚拟信道选择系统,该系统包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述PCIe虚拟信道选择方法的步骤。

在上述实施例的基础上,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理执行时实现如上述PCIe虚拟信道选择方法的步骤。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于有限状态马尔科夫的宽带无线信道建模方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!