CN117215802A - 一种针对虚拟化网络功能的gpu管理及调用方法 - Google Patents
一种针对虚拟化网络功能的gpu管理及调用方法 Download PDFInfo
- Publication number
- CN117215802A CN117215802A CN202311469540.XA CN202311469540A CN117215802A CN 117215802 A CN117215802 A CN 117215802A CN 202311469540 A CN202311469540 A CN 202311469540A CN 117215802 A CN117215802 A CN 117215802A
- Authority
- CN
- China
- Prior art keywords
- virtualized network
- network function
- gpu
- stream
- flow
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 claims abstract description 139
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004458 analytical method Methods 0.000 claims abstract description 6
- 238000007726 management method Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012417 linear regression Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims 2
- 238000007781 pre-processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及GPU管理及调用技术领域,具体涉及一种针对虚拟化网络功能的GPU管理及调用方法,该方法具有以下步骤:首先建立一个临时用于存放虚拟化网络功能流的数据包的环缓冲区,当数据包积累到一定数量后,将数据包从CPU内存批量复制到GPU内存;然后在所有数据包均转移到GPU内存后,对虚拟化网络功能分析,并根据分析结果对虚拟化网络功能流进行线程分配;最后在虚拟化网络功能流被处理完成后,将虚拟化网络功能流的处理结果复制回CPU内存,本发明使用GPU内核配置进行线程分配,使每个虚拟化网络功能应用只能使用一个流式多处理器式的部分流式处理器,提高了资源利用率,并对经典的列表调度算法进行了改进,在时间多项式内求次优解,从而减少了延迟。
Description
技术领域
本发明涉及GPU管理及调用技术领域,尤其是一种针对虚拟化网络功能的GPU管理及调用方法。
背景技术
传统网络设备维护、升级和扩展成本高,并且限制了网络设备的灵活性和可扩展性。这意味着网络管理员需要耗费大量的时间和资源来处理设备的维护、升级和扩展,同时无法灵活地根据网络需求进行快速调整和扩展。这对于满足日益增长的用户需求和不断变化的业务要求提出了挑战。随着网络功能虚拟化的出现,传统网络设备可以通过虚拟化技术进行升级和优化,使网络架构变得更加可扩展和灵活。网络功能虚拟化通过将网络功能从专用硬件中解耦出来,转而在云服务器上以软件的形式运行,从而实现了网络功能的灵活部署和快速调整。然而,网络功能虚拟化也存在一些挑战和性能低效率问题。首先,高吞吐量的消息转发对服务器的计算和存储能力提出了很高的要求,可能导致性能瓶颈。其次,耗时的网络安全加解密操作需要更多的计算资源,可能导致网络延迟增加。此外,高实时性的流媒体编解码也需要更多的计算资源来保证流媒体的流畅传输,这对服务器上的虚拟化网络功能来说是一个重负。
在GPU技术普及前,服务器上的虚拟化网络功能都是通过CPU计算实现的,但因为云服务器中的CPU内核数量受到严重限制,所以在处理需要大量状态转换、浮点运算和矩阵运算的虚拟化网络功能请求时会表现疲软且延迟较高。随着GPU技术的成熟,GPU凭借其多核并行性、原始计算能力和高吞吐量等优势开始替代CPU在云服务器中处理虚拟化网络功能请求。然而,现有方法是将虚拟化网络功能请求的流绑定到一个独立的GPU线程中,忽略了虚拟化网络功能计算强度的异构性,使其无法有效支持不同用户的服务级别目标,且现有方法往往会导致大量的内核调用和数据传输开销,以及端到端延迟。除此之外,现有GPU的资源调度是流式多处理器式的,对于窄的虚拟化网络功能应用来说,这种调度过于细粒度,可能导致GPU资源利用率低。
发明内容
本发明使用GPU内核配置进行线程分配,使每个虚拟化网络功能应用只能使用一个流式多处理器式的部分流式处理器,避免一个虚拟网络功能应用独占整个流式多处理器式,提高了资源利用率,且对经典的列表调度算法进行了改进,在多项式时间内求次优解,从而减少了端对端的延迟。
为解决上述现有技术问题,本发明提供一种针对虚拟化网络功能的GPU管理及调用方法,具有以下步骤:
S1、建立一个临时用于存放虚拟化网络功能流的数据包的环缓冲区,当环缓冲区内的数据包积累到一定数量后,将积累的数据包从CPU内存批量复制到GPU内存;
S2、在所有积累的数据包均转移到GPU内存后,对虚拟化网络功能流的整个生命周期进行分析,根据分析结果通过GPU内核配置对虚拟化网络功能流进行线程分配;
S3、在虚拟化网络功能流被处理完成后,将数据包的处理结果复制回CPU内存。
进一步的,在步骤S2中,所述线程分配具体为:
每个虚拟化网络功能流启动独立的GPU内核,且每个虚拟化网络功能流使用一个内核的部分线程。
进一步的,在步骤2中,所述虚拟化网络功能流的整个生命周期可通过时间多项式表示,所述时间多项式为:
其中,为虚拟化网络功能流从CPU内存复制到GPU内存所消耗的时间;为虚拟化网络功能流在GPU中被处理所需时间;/>为虚拟化网络功能流的处理结果复制回CPU所需要的时间。
进一步的,所述虚拟化网络功能流从CPU内存复制到GPU内存所消耗的时间可表示为:
其中,为虚拟化网络功能流的数据包存储在缓冲区中所需要的时间,/>为数据包批次的传输时间与批次的数据量大小的线性表达式,/>为虚拟化网络功能流的包大小,为传输率。
进一步的,所述数据包批次的传输时间与批次的数据量大小的线性表达式可表示为:
其中,和/>为线性回归系数。
进一步的,所述虚拟化网络功能流在GPU中被处理所需时间
可表示为:
其中,为GPU内核处理虚拟化网络功能流所需要的时间。
进一步的,所述虚拟化网络功能流通过GPU内核处理所需要的时间可表示为:
其中,为虚拟化网络功能流的大小对内核调用开销影响所满足的关系式,/>表示对应的任务在单线程上处理一个数据包所需时间。
进一步的,所述虚拟化网络功能流的大小对内核调用开销影响所满足的关系式为:
其中,、/>和/>为拟合参数,/>的值通过最小二乘法进行曲线拟合得到。
进一步的,所述虚拟化网络功能流的处理结果复制回CPU所需要的时间可表示为:
其中,和/>为与虚拟化网络功能流相关的线性回归系数。
进一步的,在步骤S2中,对虚拟化网络功能流的整个生命周期进行分析具体为:
采用列表调度算法求解出对所有虚拟化网络功能流进行拟分配方案中虚拟化网络功能流生命周期加总时间最小的分配方案,通过所述加总时间最小的分配方案调用GPU进行线程分配,所述列表调度算法包括以下步骤:
Step1:初始化等于0;
Step2:将虚拟化网络功能流按照进行排序并保证
过后有空余的线程,将虚拟化网络功能流的数据头按照排序顺序存储在线性表中;
Step3:对线性表做遍历,对每个虚拟化网络功能流分配线程并计算每个虚拟化网络功能流的,使得满足/>,且/>,即至少有两个任务能同时进行,其中/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流式多处理器的总流式处理器数量,在进行一次拟分配后计算加总的完成时间,计算一次后将线性表中最后一个流标识为非优先处理,返回Step2再次计算加总的完成时间,计算完成后再将倒数第二个流也同样标识为非优先处理,依次类推,最后比较所有分配方案的加总的完成时间的长短,取时间最短的分配方案对GPU发起调用指令。
本发明的有益效果体现在:
(1)本发明使用GPU内核配置进行线程分配,使每个虚拟化网络功能应用只能使用一个流式多处理器式的部分流式处理器,避免单个虚拟化网络功能应用独占整个流式多处理器式,提高了资源利用率。
(2)本发明对经典的列表调度算法进行了改进,在多项式时间内求次优解,最小化端到端延迟,从而实现减少延迟的目的。
附图说明
图1为本发明所提供的针对虚拟化网络功能的GPU管理及调用方法的流程示意图;
图2为本发明所提供的针对虚拟化网络功能的GPU管理及调用系统结构示意图;
图3为本发明所提供的虚拟化网络功能流生命周期分析的流程示意图;
图4为本发明所提供的数据包传输结构示意图;
图5为本发明所提供的列表调度算法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1:
参照图1,本发明公开了一种针对虚拟化网络功能的GPU管理及调用方法,该方法通过对数据包进行预处理,将数据包积累一定量后,以该批次的数据包作为虚拟化网络功能流,分批将数据包从CPU内存复制到GPU内存中,通过对虚拟化网络功能流的整个生命周期进行分析,对多个虚拟化网络功能流进行排序,以不同排序进行线程分配,获得不同的分配方案,通过比较不同分配方案的完成时间长短,选取时间最短的分配方案调用GPU对虚拟化网络功能流进行处理。提高了数据的传输效率及GPU的利用率。
为了实现上述方法,本发明还公开了一种针对虚拟化网络功能的GPU管理及调用系统,参照图2,所述系统包括数据包传输模块、预处理模块、GPU管理模块及GPU调度模块,数据包传输模块用于建立用于存放虚拟化网络功能流的数据包的环缓冲区;预处理模块用于负责将环缓冲区内的数据包从CPU内存批量复制到GPU内存;GPU调度模块用于对虚拟化网络功能流的整个生命周期进行分析;GPU管理模块用于根据GPU调度模块的决定,为每个虚拟化网络功能流启动独立的GPU内核,并显示指定执行配置。
参考图3,基于上述系统,本发明的GPU管理及调用方法的具体步骤如下:
S1、为了解决高吞吐量的消息转发对服务器的计算和存储能力要求高且可能导致性能瓶颈的问题,在本实施例中,通过数据包传输模块为数据包建立一个临时的环缓冲区,用于存放数据包,也即,通过数据包批处理器将到达的数据包存储在环缓冲区中,然后通过预处理模块中的数据包批量处理器将数据包从CPU内存批量复制到GPU内存。参考图4,具体的,当数据包缓冲区中积累了足够数量的数据包时,记录该批数据包的内存头地址和总字节长度,为数据传输做准备,当数据包传输模块和预处理模块为虚拟化网络功能流传输准备好一批数据包后,需要通过PCIe将数据包从CPU内存拷贝到GPU内存中。通过建立临时环缓冲区积累数据包,对数据包进行批量处理,提高了GPU的并行性和利用率,实现数据包高速处理,提高数据包传输的效率。
S2、为了解决现有方法将虚拟化网络功能流绑定一个独立的GPU线程,忽略了虚拟化网络功能计算强度的异构性,使其无法有效支持不同用户的服务级别目标及现有GPU的资源调度对于窄的虚拟化网络功能应用来说过于细粒度,可能导致GPU资源利用率低的问题,在本实施例中,GPU管理模块负责借助GPU调度模块对各种虚拟化网络功能分析,通过分析结果对虚拟化网络功能流进行线程分配。具体的,虚拟化网络功能流的所有数据包先从CPU内存拷贝到GPU内存中,然后GPU管理模块才开始处理相应的任务。GPU管理模块根据GPU调度模块的决定,为每个虚拟化网络功能流启动独立的GPU内核,即每个虚拟化网络功能应用只能使用一个流式多处理器式的部分流式处理器,并显示指定执行配置。通过GPU管理模块为短生命周期网络功能虚拟化应用实现细粒度共享,并与GPU调度模块结合实现时空共享。提高 GPU 利用率,避免现有技术独占整个流式多处理器式,提高了资源利用率。
其中,GPU管理模块的资源分配和内核调度指令由GPU调度模块给出,GPU调度模块将会对虚拟化网络功能流的整个生命周期进行分析,具体为:
虚拟化网络功能流的处理从数据包传输模块中的批量处理开始。也即,数据包经过一定时间的传输积累后,会形成一批虚拟化网络功能任务。在本实施例中,因数据包的传输时间与数据包的大小及传输率有关,将虚拟化功能流的数据包传输积累的时间定义为,也即,数据包批处理器将到达的数据包存储在缓冲区中,在时间/>之后,会形成一批虚拟化网络功能任务,其中/>为虚拟化网络功能流的包大小,/>为传输率。在处理任务之前,预处理模块将所有累积的数据包通过PCIe被拷贝到GPU内存中。通过将虚拟化功能流的数据包传输积累的时间和数据包从CPU内存传输到GPU内存的时间相加,即可获得在处理任务前,虚拟化网络功能流的数据预处理所消耗的时间。具体的,因数据包批次的传输时间与批次的数据量大小有关,因此,将数据包批次的传输时间表示为与批次的数据量大小有关的线性表达式:
式中,和/>为线性回归系数,由虚拟化网络功能流/>生成的一批任务在时间后到达GPU内存,因此/>具体可表示为:
为在处理任务前,虚拟化网络功能流的数据预处理所消耗的时间。
GPU内核只有在批处理和数据包传输全部完成后,即/>后,才能启动。由于虚拟化网络功能任务的大小对内核调用开销有影响,其满足:
其中,、/>和/>为拟合参数,/>
的值通过最小二乘法进行曲线拟合得到。由于任务的处理时间只与任务大小有关,任务会被均匀地分配到可用的GPU线程中。因此,为内核分配的GPU线程数量会显著影响任务处理时间,综合内核调用开销,任务处理时间为:
其中,表示对应的任务在单线程上处理一个数据包所需时间,内核/>的线程完成任务的时间为:
由于同一个线程无法同时处理多个任务,因此分配到同一个线程上的任务必须按照顺序执行。当过后,GPU管理模块通知后处理模块将虚拟化网络功能流的处理结果复制回CPU内存。由于不同的网络函数返回不同类型的处理结果,所以GPU内存到CPU内存的传输时间与CPU内存到GPU内存的传输时间类似,不仅受批大小的影响,而且受虚拟化网络功能类型的影响。虚拟化网络功能流/>通过数据包传输模块复制回CPU的时间为:其中/>和/>
为与虚拟化网络功能流相关的线性回归系数。综上所述,虚拟化网络功能流总的完成时间为:
为了解决现有方法导致大量的内核调用和数据传输开销,以及端到端延迟的问题,在本实施例中,通过GPU调度模块将会对虚拟化网络功能流的整个生命周期进行分析,利用分析结果对虚拟化网络功能流进行线程分配。具体的,采用列表调度算法求解出对所有虚拟化网络功能流进行拟分配方案中虚拟化网络功能流生命周期加总时间最小的分配方案,通过加总时间最小的分配方案调用GPU进行线程分配。通过对经典的列表调度算法进行了改进,利用改进的列表调度算法在加总时间多项式内求次优解,从而减少了延迟。
参考图5,具体的,以一个批次的任务为例说明,调度算法包括以下步骤:
Step1:初始化等于0;
Step2:将该批任务虚拟化网络功能流按照进行排序并保证/>过后有空余的线程,将虚拟化网络功能流的数据头按照排序顺序存储在线性表List中;
Step3:对线性表做遍历,对每个虚拟化网络功能流分配线程并计算每个虚拟化网络功能流的,使得满足/>,且/>,即至少有两个任务能同时进行,其中/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流式多处理器的总流式处理器数量,在进行一次拟分配后计算加总的完成时间,计算一次后将线性表中最后一个流标识为非优先处理,返回Step2再次计算加总的完成时间,计算完成后再将倒数第二个流也同样标识为非优先处理,依次类推,最后比较所有分配方案的加总的完成时间的长短,取时间最短的分配方案对GPU发起调用指令。
S3、最后,当指定的任务完成后,一批数据包的结果也会通过PCIe从GPU内存传输到CPU内存,实现对GPU管理及调用。
在本发明的实施例的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“中心”、“顶”、“底”、“顶部”、“底部”、“内”、“外”、“内侧”、“外侧”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。其中,“里侧”是指内部或围起来的区域或空间。“外围”是指某特定部件或特定区域的周围的区域。
在本发明的实施例的描述中,术语“第一”、“第二”、“第三”、“第四”仅用以描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“组装”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的实施例的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的实施例的描述中,需要理解的是,“-”和“~”表示的是两个数值之同的范围,并且该范围包括端点。例如:“A-B”表示大于或等于A,且小于或等于B的范围。“A~B”表示大于或等于A,且小于或等于B的范围。
在本发明的实施例的描述中,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于,具有以下步骤:
S1、建立一个临时用于存放虚拟化网络功能流的数据包的环缓冲区,当环缓冲区内的数据包积累形成虚拟化网络功能流后,将积累的数据包从CPU内存批量复制到GPU内存;
S2、在所有积累的数据包均转移到GPU内存后,对虚拟化网络功能流的整个生命周期进行分析,根据分析结果通过GPU内核配置对虚拟化网络功能流进行线程分配;
S3、在虚拟化网络功能流被处理完成后,将数据包的处理结果复制回CPU内存。
2.根据权利要求1所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:在步骤S2中,所述线程分配具体为:
每个虚拟化网络功能流启动独立的GPU内核,且每个虚拟化网络功能流使用一个内核的部分线程。
3.根据权利要求2所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:在步骤2中,所述虚拟化网络功能流的整个生命周期通过时间多项式表示,所述时间多项式为:
;
其中,为虚拟化网络功能流从CPU内存复制到GPU内存所消耗的时间;为虚拟化网络功能流在GPU中被处理所需时间;/>为虚拟化网络功能流的处理结果复制回CPU所需要的时间。
4.根据权利要求3所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述虚拟化网络功能流从CPU内存复制到GPU内存所消耗的时间可表示为:
;
其中,为虚拟化网络功能流的数据包存储在缓冲区中所需要的时间,/>为数据包批次的传输时间与批次的数据量大小的线性表达式,/>为虚拟化网络功能流的包大小,/>为传输率。
5.根据权利要求4所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述数据包批次的传输时间与批次的数据量大小的线性表达式可表示为:
;
其中,和/>为线性回归系数。
6.根据权利要求4所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述虚拟化网络功能流在GPU中被处理所需时间可表示为:
;
其中,为GPU内核处理虚拟化网络功能流所需要的时间。
7.根据权利要求6所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述虚拟化网络功能流通过GPU内核处理所需要的时间可表示为:
;
其中,为虚拟化网络功能流的大小对内核调用开销影响所满足的关系式,/>表示对应的任务在单线程上处理一个数据包所需时间,/>为单个内核的线程数。
8.根据权利要求7所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述虚拟化网络功能流的大小对内核调用开销影响所满足的关系式为:
;
其中,、/>和/>为拟合参数,/>的值通过最小二乘法进行曲线拟合得到。
9.根据权利要求4所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:所述虚拟化网络功能流的处理结果复制回CPU所需要的时间可表示为:
;
其中,和/>为与虚拟化网络功能流相关的线性回归系数。
10.根据权利要求9所述的一种针对虚拟化网络功能的GPU管理及调用方法,其特征在于:在步骤S2中,对虚拟化网络功能流的整个生命周期进行分析具体为:
采用列表调度算法求解出对所有虚拟化网络功能流进行拟分配方案中虚拟化网络功能流生命周期加总时间最小的分配方案,通过所述加总时间最小的分配方案调用GPU进行线程分配,所述列表调度算法包括以下步骤:
Step1:初始化等于0;
Step2:将虚拟化网络功能流按照进行排序并保证/>过后有空余的线程,将虚拟化网络功能流的数据头按照排序顺序存储在线性表中;
Step3:对线性表做遍历,对每个虚拟化网络功能流分配线程并计算每个虚拟化网络功能流的,使得满足/>,且/>,即至少有两个任务能同时进行,其中/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流/>所在流式多处理器所占用的流式处理器数量,/>为流式多处理器的总流式处理器数量,在进行一次拟分配后计算加总的完成时间,计算一次后将线性表中最后一个流标识为非优先处理,返回Step2再次计算加总的完成时间,计算完成后再将倒数第二个流也同样标识为非优先处理,依次类推,最后比较所有分配方案的加总的完成时间的长短,取时间最短的分配方案对GPU发起调用指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469540.XA CN117215802B (zh) | 2023-11-07 | 2023-11-07 | 一种针对虚拟化网络功能的gpu管理及调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469540.XA CN117215802B (zh) | 2023-11-07 | 2023-11-07 | 一种针对虚拟化网络功能的gpu管理及调用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215802A true CN117215802A (zh) | 2023-12-12 |
CN117215802B CN117215802B (zh) | 2024-02-09 |
Family
ID=89049633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311469540.XA Active CN117215802B (zh) | 2023-11-07 | 2023-11-07 | 一种针对虚拟化网络功能的gpu管理及调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215802B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156268A (zh) * | 2014-07-08 | 2014-11-19 | 四川大学 | 一种GPU上MapReduce负载分配和线程结构优化方法 |
CN106293902A (zh) * | 2015-05-28 | 2017-01-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种处理器调度方法及系统 |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN109918182A (zh) * | 2019-01-23 | 2019-06-21 | 中国人民解放军战略支援部队信息工程大学 | 虚拟化技术下的多gpu任务调度方法 |
CN110289990A (zh) * | 2019-05-29 | 2019-09-27 | 清华大学 | 基于gpu的网络功能虚拟化系统、方法及存储介质 |
CN112612613A (zh) * | 2020-12-28 | 2021-04-06 | 湖南大学 | 用于在虚拟分布式异构环境下实现多gpu调度的方法和系统 |
US20210304350A1 (en) * | 2020-03-27 | 2021-09-30 | Tata Consultancy Services Limited | Method and system for tuning graphics processing unit (gpu) parameters of a gpu kernel |
CN114371920A (zh) * | 2021-12-31 | 2022-04-19 | 复旦大学 | 一种基于图形处理器加速优化的网络功能虚拟化系统 |
US20230034881A1 (en) * | 2020-01-03 | 2023-02-02 | Shenzhen Corerain Technologies Co., Ltd. | Scheduling method and device based on deep learning node computation, and storage medium |
CN115712336A (zh) * | 2022-11-23 | 2023-02-24 | 贵州电网有限责任公司 | 一种降低高性能计算内存功耗的装置及其使用方法 |
-
2023
- 2023-11-07 CN CN202311469540.XA patent/CN117215802B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156268A (zh) * | 2014-07-08 | 2014-11-19 | 四川大学 | 一种GPU上MapReduce负载分配和线程结构优化方法 |
CN106293902A (zh) * | 2015-05-28 | 2017-01-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种处理器调度方法及系统 |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN109918182A (zh) * | 2019-01-23 | 2019-06-21 | 中国人民解放军战略支援部队信息工程大学 | 虚拟化技术下的多gpu任务调度方法 |
CN110289990A (zh) * | 2019-05-29 | 2019-09-27 | 清华大学 | 基于gpu的网络功能虚拟化系统、方法及存储介质 |
US20230034881A1 (en) * | 2020-01-03 | 2023-02-02 | Shenzhen Corerain Technologies Co., Ltd. | Scheduling method and device based on deep learning node computation, and storage medium |
US20210304350A1 (en) * | 2020-03-27 | 2021-09-30 | Tata Consultancy Services Limited | Method and system for tuning graphics processing unit (gpu) parameters of a gpu kernel |
CN112612613A (zh) * | 2020-12-28 | 2021-04-06 | 湖南大学 | 用于在虚拟分布式异构环境下实现多gpu调度的方法和系统 |
CN114371920A (zh) * | 2021-12-31 | 2022-04-19 | 复旦大学 | 一种基于图形处理器加速优化的网络功能虚拟化系统 |
CN115712336A (zh) * | 2022-11-23 | 2023-02-24 | 贵州电网有限责任公司 | 一种降低高性能计算内存功耗的装置及其使用方法 |
Non-Patent Citations (3)
Title |
---|
ZHENHUA CHEN等: "GPU-Accelerated High-Throughput Online Stream Data Processing", 《IEEE TRANSACTIONS ON BIG DATA》, pages 191 - 202 * |
吴再龙等: "GPU虚拟化技术及其安全问题综述", 《信息安全学报》, vol. 7, no. 02, pages 30 - 58 * |
韩宇: "GPU加速的六角形几何特征线方法与多核共振研究", 《中国博士学位论文全文数据库 工程科技Ⅱ辑》, no. 02, pages 040 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
CN117215802B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929323B2 (en) | Multi-core communication acceleration using hardware queue device | |
US10412021B2 (en) | Optimizing placement of virtual machines | |
US20190034230A1 (en) | Task scheduling method and apparatus | |
US9645855B2 (en) | Job scheduling optimization based on ratio of stall to active cycles | |
US9977618B2 (en) | Pooling of memory resources across multiple nodes | |
US8478926B1 (en) | Co-processing acceleration method, apparatus, and system | |
Bayatpour et al. | Bluesmpi: Efficient mpi non-blocking alltoall offloading designs on modern bluefield smart nics | |
CN109697122B (zh) | 任务处理方法、设备及计算机存储介质 | |
US20140208331A1 (en) | Methods of processing core selection for applications on manycore processors | |
US20070226735A1 (en) | Virtual vector processing | |
US20130074091A1 (en) | Techniques for ensuring resources achieve performance metrics in a multi-tenant storage controller | |
US9141436B2 (en) | Apparatus and method for partition scheduling for a processor with cores | |
US20090307691A1 (en) | Coordination among multiple memory controllers | |
US20110161965A1 (en) | Job allocation method and apparatus for a multi-core processor | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
US9471387B2 (en) | Scheduling in job execution | |
WO2017185285A1 (zh) | 图形处理器任务的分配方法和装置 | |
CN102299843A (zh) | 一种基于gpu和缓冲区的网络数据处理方法及系统 | |
US20140068625A1 (en) | Data processing systems | |
Ranganath et al. | Speeding up collective communications through inter-gpu re-routing | |
CN109964211B (zh) | 用于半虚拟化网络设备队列和存储器管理的技术 | |
CN117215802B (zh) | 一种针对虚拟化网络功能的gpu管理及调用方法 | |
Zeng et al. | Enabling Efficient Spatio-Temporal GPU Sharing for Network Function Virtualization | |
US9176910B2 (en) | Sending a next request to a resource before a completion interrupt for a previous request | |
WO2022088074A1 (zh) | 基于多指令引擎的指令处理方法及处理器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |