CN111131395B - 一种fpga云平台任务资源分配装置、方法及设备 - Google Patents
一种fpga云平台任务资源分配装置、方法及设备 Download PDFInfo
- Publication number
- CN111131395B CN111131395B CN201911205041.3A CN201911205041A CN111131395B CN 111131395 B CN111131395 B CN 111131395B CN 201911205041 A CN201911205041 A CN 201911205041A CN 111131395 B CN111131395 B CN 111131395B
- Authority
- CN
- China
- Prior art keywords
- function
- board card
- task
- user
- service
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013468 resource allocation Methods 0.000 title claims abstract description 40
- 230000035945 sensitivity Effects 0.000 claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 238000010276 construction Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 229
- 238000011156 evaluation Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种FPGA云平台任务资源分配装置,包括:第一构建模块,用于获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用服务敏感系数、功耗敏感系数、用户任务量和板卡资源使用量构建服务效用函数;第二构建模块,用于利用用户任务量和板卡资源使用量构建应用效率函数,利用服务效用函数和应用效率函数构建目标函数;目标分配方案确定模块,用于利用代理响应面算法对目标函数进行求解,得到目标函数对应的至少一个目标分配方案;其中,目标分配方案为应用效率函数取得目标值时服务效用函数最大的分配方案;输出模块,用于向用户输出目标分配方案;该装置解决了当前任务调度方法存在无法满足用户需求的问题。
Description
技术领域
本发明涉及边缘计算技术领域,特别涉及一种FPGA云平台任务资源分配装置、FPGA云平台任务资源分配方法、FPGA云平台任务资源分配设备及计算机可读存储介质。
背景技术
随着摩尔定律逐渐达到瓶颈,通用处理器在计算性能和能效方面逐渐无法适应满足日益庞大和多样化的数据处理需求。现场可编程门阵列(Field-Programmable GateArray,FPGA)具有高性能和低功耗等优点。因此出现了FPGA云平台,利用FPGA板卡为用户提供服务。
FPGA云平台在执行用户的任务时会对任务进行调度,当前任务调度方法在进行任务调度时,为了保证***性能的优化,即为了保证FPGA板卡的使用效率,仅对外提供一种固定的任务执行方案,即利用固定的任务处理速率为所有用户提供服务。但是在实际使用中,不同的用户可能会有不同的任务执行速率需求,而所有用户都希望能够尽快完成任务。因此,当前任务调度方法存在无法满足用户需求的问题。
因此,如何解决当前任务调度方法存在无法满足用户需求的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种FPGA云平台任务资源分配装置、FPGA云平台任务资源分配方法、FPGA云平台任务资源分配设备及计算机可读存储介质,解决了当前任务调度方法存在无法满足用户需求的问题。
为解决上述技术问题,本发明提供了一种FPGA云平台任务资源分配装置,包括:
第一构建模块,用于获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量和板卡资源使用量构建服务效用函数;
第二构建模块,用于利用所述用户任务量和所述板卡资源使用量构建应用效率函数,利用所述服务效用函数和所述应用效率函数构建目标函数;
目标分配方案确定模块,用于利用代理响应面算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案;其中,所述目标分配方案为所述应用效率函数取得目标值时所述服务效用函数最大的分配方案;
输出模块,用于向所述用户输出所述目标分配方案。
可选的,所述第一构建模块,包括:
任务效用函数单元,用于利用所述服务敏感系数和所述用户任务量构建任务效用函数;
基础参数获取单元,用于获取板卡基础参数;其中,所述板卡基础参数为FPGA板卡电压和FPGA板卡电流;
功耗效用函数单元,用于利用所述板卡资源使用量、所述用户任务量、所述功耗敏感系数和所述板卡基础参数构建功耗效用函数;
相减构建单元,用于利用所述任务效用函数减去所述功耗效用函数,得到所述服务效用函数。
可选的,所述功耗效用函数单元,包括:
板卡效用函数子单元,用于利用所述板卡资源使用量和所述板卡基础参数构建各个板卡对应的板卡功耗函数;
构建子单元,用于利用各个所述板卡功耗函数、所述用户任务量和所述功耗敏感系数构建所述功耗效用函数。
可选的,所述第二构建模块,包括:
板卡效率函数单元,用于利用所述用户任务量、所述板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数;
相加构建单元,用于将各个所述板卡效率函数相加,得到所述应用效率函数。
可选的,所述目标分配方案确定模块,包括:
评估次数确定单元,用于确定所述代理响应面算法的评估次数;
迭代求解单元,用于利用代理响应面算法对所述目标函数进行迭代求解,直至迭代次数等于所述评估次数,得到所述目标分配方案。
可选的,所述迭代求解单元,包括:
MATSuMoTo迭代子单元,用于利用MATSuMoTo工具箱中的代理响应面模型对所述目标函数进行迭代求解。
可选的,还包括:
任务执行模块,用于在接收到针对第一目标分配方案的确认指令时,按照所述第一目标分配方案执行所述用户对应的任务。
本发明还提供了一种FPGA云平台任务资源分配方法,包括:
获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量和板卡资源使用量构建服务效用函数;
利用所述用户任务量和所述板卡资源使用量构建应用效率函数,利用所述服务效用函数和所述应用效率函数构建目标函数;
利用代理响应面算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案;其中,所述目标分配方案为所述应用效率函数取得目标值时所述服务效用函数最大的分配方案;
向所述用户输出所述目标分配方案。
本发明还提供了一种FPGA云平台任务资源分配设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的FPGA云平台任务资源分配方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的FPGA云平台任务资源分配方法。
本发明提供的FPGA云平台任务资源分配装置,第一构建模块,用于获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用服务敏感系数、功耗敏感系数、用户任务量和板卡资源使用量构建服务效用函数。第二构建模块,用于利用用户任务量和板卡资源使用量构建应用效率函数,利用服务效用函数和应用效率函数构建目标函数。目标分配方案确定模块,用于利用代理响应面算法对目标函数进行求解,得到目标函数对应的至少一个目标分配方案;其中,目标分配方案为应用效率函数取得目标值时服务效用函数最大的分配方案。输出模块,用于向用户输出目标分配方案。
可见,该装置利用服务敏感系数和功耗敏感系数构建服务效用函数,服务效用函数可以表示任务的执行速率,同时构建应用效率函数,应用效率函数可以表示FPGA云平台的使用效率,在构建目标函数后利用代理响应面算法对目标函数求目标分配方案,目标分配方案即为在保证FPGA云平台使用效率情况下任务处理速率最大的解,并将目标分配方案输出给用户。该装置可以在保证板卡使用效率的情况下为用户提供至少一种任务执行方案,且在保证云平台使用效率的基础上尽快完成用户所需的任务,解决了当前任务调度方法存在无法满足用户需求的问题。
此外,本发明还提供了一种FPGA云平台任务资源分配方法、FPGA云平台任务资源分配设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种FPGA云平台任务资源分配装置的结构示意图;
图2为本发明实施例提供的一种FPGA云平台任务资源分配方法流程图;
图3为本发明实施例提供的一种具体的目标分配方案确定流程图;
图4为本发明实施例提供的一种应用效率函数变化趋势图;
图5为本发明实施例提供的一种服务效用函数变化趋势图;
图6为本发明实施例提供的一种FPGA云平台任务资源分配设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种FPGA云平台任务资源分配装置的结构示意图。该装置包括:
第一构建模块110,用于获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用服务敏感系数、功耗敏感系数、用户任务量和板卡资源使用量构建服务效用函数。
在本发明实施例中,FPGA云平台由多个FPGA板卡组成,云平台的用户有多个,需要利用FPGA云平台为其提供服务,不同的用户需要的服务种类和用户任务量可能不同也可能相同。为了为不同的用户提供不同种类的服务,云平台中的FPGA板卡可以采用多种编码方式进行编码,同时采用FPGA虚拟化技术,使板卡可提供的应用服务多于一类,以便提高板卡利用效率;当然也可以对一张板卡仅采用一种编码方式。需要说明的是,各个用户所需要完成的用户任务量相互独立,可以为用户调度分配一张或多张FPGA板卡进行服务。
服务敏感系数为用户对某张板卡提供的某类服务的任务效用偏好系数,即该用户对该板卡提供的该类服务的满意程度,该满意程度受到任务的完成速度影响,任务完成速度越快,服务的满意程度越高。功耗敏感系数为用户对某张板卡提供某类服务时所需功耗的不满意程度,该不满意程度同样受到任务的完成速度的影响,由于任务完成速度越快、所需的板卡资源和板卡功耗就越高,导致功耗的不满意程度越高。用户任务量为用户需要完成的任务量。用户任务量可以进一步细分,得到多个板卡上的任务量,即将用户任务量分配到多张板卡上执行。板卡资源使用量为某张板卡提供某类服务时需要使用的板卡资源量,分配的用户任务量越多,任务完成速度越快,所需的板卡资源就越多。利用服务敏感系数、功耗敏感系数、用户任务量和板卡资源使用量构建服务效用函数。服务效用函数可以用于表示用户对任务执行的整体满意程度。
第二构建模块120,用于利用用户任务量和板卡资源使用量构建应用效率函数,利用服务效用函数和应用效率函数构建目标函数。
FPGA云平台的应用效率受到各个被使用的FPGA板卡的应用效率的影响。各个用户可能会使用相同或不同的FPGA板卡完成任务,各个用户的FPGA云平台应用效率构成了整个FPGA云平台的应用效率。根据用户任务量和板卡资源使用量,可以构建应用效率函数,用于表示用户在完成任务时该用户的FPGA云平台应用效率。
目标分配方案确定模块130,用于利用代理响应面算法对目标函数进行求解,得到目标函数对应的至少一个目标分配方案;其中,目标分配方案为应用效率函数取得目标值时服务效用函数最大的分配方案。
目标分配方案为应用效率函数取得目标值时服务效用函数最大的分配方案,具体的,在保证应用效率函数取得目标值时,即在保证FPGA云平台的应用效率的前提下,使服务效用函数最大的分配方案。因此目标分配方案为在保证FPGA云平台的应用效率的前提下使用户尽可能满意的分配方案。目标值可以由一个也可以有多个,例如目标值可以为应用效率函数的最大值,则目标分配方案为引用效率函数取得最大值时服务效用函数同样取得最大值的分配方案;目标值还可以取多个值,这样可以得到多个目标分配方案,为用户提供更加丰富的选择。
代理响应面算法可以在当前历史点基础上预测更优解,在相同计算次数下,更容易获得最优值。具体的,可以利用MATSuMoTo工具箱中的代理响应面模型对目标函数进行求解,MATSuMoTo工具箱是一种高维黑盒问题的算法集成工具箱,具有多种响应面模型,能够更快地求解目标函数。
输出模块140,用于向用户输出目标分配方案。
在确定目标分配方案后,向用户输出目标分配方案,以便用户进行选择。在输出目标分配方案后,还可以执行其他操作,例如在接收到针对第一目标分配方案的确认指令时,按照第一目标分配方案执行用户对应的任务。
应用本发明实施例提供的FPGA云平台任务资源分配装置,利用服务敏感系数和功耗敏感系数构建服务效用函数,服务效用函数可以表示任务的执行速率,同时构建应用效率函数,应用效率函数可以表示FPGA云平台的使用效率,在构建目标函数后利用代理响应面算法对目标函数求目标分配方案,目标分配方案即为在保证FPGA云平台使用效率情况下任务处理速率最大的解,并将目标分配方案输出给用户。该装置可以在保证板卡使用效率的情况下为用户提供至少一种任务执行方案,且在保证云平台使用效率的基础上尽快完成用户所需的任务,解决了当前任务调度方法存在无法满足用户需求的问题。
可选的,第一构建模块110,包括:
任务效用函数单元,用于利用服务敏感系数和用户任务量构建任务效用函数;
基础参数获取单元,用于获取板卡基础参数;其中,板卡基础参数为FPGA板卡电压和FPGA板卡电流;
功耗效用函数单元,用于利用板卡资源使用量、用户任务量、功耗敏感系数和板卡基础参数构建功耗效用函数;
相减构建单元,用于利用任务效用函数减去功耗效用函数,得到服务效用函数。
可选的,功耗效用函数单元,包括:
板卡效用函数子单元,用于利用板卡资源使用量和板卡基础参数构建各个板卡对应的板卡功耗函数;
构建子单元,用于利用各个板卡功耗函数、用户任务量和功耗敏感系数构建功耗效用函数。
可选的,第二构建模块120,包括:
板卡效率函数单元,用于利用用户任务量、板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数;
相加构建单元,用于将各个板卡效率函数相加,得到应用效率函数。
可选的,目标分配方案确定模块130,包括:
评估次数确定单元,用于确定代理响应面算法的评估次数;
迭代求解单元,用于利用代理响应面算法对目标函数进行迭代求解,直至迭代次数等于评估次数,得到目标分配方案。
可选的,迭代求解单元,包括:
MATSuMoTo迭代子单元,用于利用MATSuMoTo工具箱中的代理响应面模型对目标函数进行迭代求解。
可选的,还包括:
任务执行模块,用于在接收到针对第一目标分配方案的确认指令时,按照第一目标分配方案执行用户对应的任务。
下面对本发明实施例提供的FPGA云平台任务资源分配方法进行介绍,下文描述的FPGA云平台任务资源分配方法与上文描述的FPGA云平台任务资源分配装置可相互对应参照。
请参考图2,图2为本发明实施例提供的一种FPGA云平台任务资源分配方法流程图,包括:
S201:获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用服务敏感系数、功耗敏感系数、用户任务量和板卡资源使用量构建服务效用函数;
S202:利用用户任务量和板卡资源使用量构建应用效率函数,利用服务效用函数和应用效率函数构建目标函数;
S203:利用代理响应面算法对目标函数进行求解,得到目标函数对应的至少一个目标分配方案;其中,目标分配方案为应用效率函数取得目标值时服务效用函数最大的分配方案;
S204:向用户输出目标分配方案。
应用本发明实施例提供的FPGA云平台任务资源分配方法,利用服务敏感系数和功耗敏感系数构建服务效用函数,服务效用函数可以表示任务的执行速率,同时构建应用效率函数,应用效率函数可以表示FPGA云平台的使用效率,在构建目标函数后利用代理响应面算法对目标函数求目标分配方案,目标分配方案即为在保证FPGA云平台使用效率情况下任务处理速率最大的解,并将目标分配方案输出给用户。该方法可以在保证板卡使用效率的情况下为用户提供至少一种任务执行方案,且在保证云平台使用效率的基础上尽快完成用户所需的任务,解决了当前任务调度方法存在无法满足用户需求的问题。
可选的,所述利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量、板卡资源使用量构建服务效用函数,包括:
利用所述服务敏感系数和所述用户任务量构建任务效用函数;
获取板卡基础参数;其中,所述板卡基础参数为FPGA板卡电压和FPGA板卡电流;
利用所述板卡资源使用量、所述用户任务量、所述功耗敏感系数和所述板卡基础参数构建功耗效用函数;
利用所述任务效用函数减去所述功耗效用函数,得到所述服务效用函数。
可选的,所述利用所述板卡资源使用量、所述功耗敏感系数和所述板卡基础参数构建功耗效用函数,包括:
利用所述板卡资源使用量和所述板卡基础参数构建各个板卡对应的板卡功耗函数;
利用各个所述板卡功耗函数、所述用户任务量和所述功耗敏感系数构建所述功耗效用函数。
可选的,所述利用所述用户任务量和所述板卡资源使用量构建应用效率函数,包括:
利用所述用户任务量、所述板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数;
将各个所述板卡效率函数相加,得到所述应用效率函数。
可选的,所述利用代理响应面算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案,包括:
确定所述代理响应面算法的评估次数;
利用代理响应面算法对所述目标函数进行迭代求解,直至迭代次数等于所述评估次数,得到所述目标分配方案。
可选的,所述利用代理响应面算法对所述目标函数进行迭代求解,包括:
利用MATSuMoTo工具箱中的代理响应面模型对所述目标函数进行迭代求解。
可选的,还包括:
在接收到针对第一目标分配方案的确认指令时,按照所述第一目标分配方案执行所述用户对应的任务。
基于上述发明实施例,本发明实施例将说明一种具体的目标分配方案确定过程,请参考图3,图3为本发明实施例提供的一种具体的目标分配方案确定流程图,包括:
S301:利用服务敏感系数和用户任务量构建任务效用函数。
使用nij代表用户i(即编号为i的用户)需要板卡提供的j类应用服务处理的用户任务量,其中,i≤I,j≤J,I表示FPGA云平台的用户总数,J表示FPGA云平台的任务类型总数。进一步,用户可根据自己的需求选择板卡为其提供应用服务,即对用户任务量进行下一步划分。第k块板卡通过其提供的第j类应用,可以为用户i调度分配的任务量为nijk,k≤K,K表示可以提供第j类应用的板卡的数量。所以,nijk应该满足公式(1):
在本发明实施例中,利用UT表示任务效用函数,利用aijk表示用户i对板卡k提供的第j类服务的服务敏感系数,则任务效用函数为公式(2):
S302:获取板卡基础参数;其中,板卡基础参数为FPGA板卡电压和FPGA板卡电流。
具体的,FPGA板卡电压可以用uk表示,用lijk表示第k块FPGA板卡为用户i提供第j类应用的服务时的电流。
S303:利用板卡资源使用量、用户任务量、功耗敏感系数和板卡基础参数构建功耗效用函数。
具体的,可以利用板卡资源使用量和板卡基础参数构建各个板卡对应的板卡功耗函数。板卡功耗函数可以用pijk表示,则第k块板卡在为用户i提供第j类服务时的板卡功耗函数为:
pijk=lijk*cijk*uk,lijk>0
其中,cijk为第k块板卡为用户i提供第j类服务时的板卡资源使用量。需要说明的是,每块FPGA板卡在为用户i提供第j类服务时均存在资源使用量上界cjk和资源使用量下界板卡资源使用量应处于资源使用量上界和资源使用量下界组成的资源使用量区间内。
利用各个板卡功耗函数,用户任务量和功耗敏感系数构建功耗效用函数。即利用各个板卡的板卡功耗函数,以及对应的用户任务量和功耗敏感系数构建所有板卡的功耗效用函数,具体的,可以利用UP表示功耗效用函数,则功耗效用函数为公式(3):
UP(nijk)=bijk*lijk*cijk*uk*nijk,cijk≥0,bijk>0 (3)
其中,bijk为用户i对板卡k提供的第j类服务的功耗敏感系数。
S304:利用任务效用函数减去功耗效用函数,得到服务效用函数。
服务效用函数可以用U表示,则服务效用函数为公式(4):
S305:利用用户任务量、板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数。
利用Lijk表示第k块板卡为用户i提供第j类服务的板卡效率函数。则板卡效率函数为:
S306:将各个板卡效率函数相加,得到应用效率函数。
利用L(r)表示应用效率函数,则应用效率函数为公式(5):
在确定服务效用函数和应用效率函数后,利用其构建目标函数,具体的,利用服务效用函数和应用效率函数组成联立方程组。在求解该方程组的过程中,可将其优化为问题1和问题2,问题1为服务效用函数对应的问题,即如何将任务调度效用最大化。问题2为应用效率函数对应的问题,即如何将云平台应用效率最大化。问题1与问题2时联合优化问题,上层问题为问题2,下层问题为问题1。由于下层问题(即问题1)为凸优化问题且依赖于上层问题(即问题2)的解,因此进一步,通过KKT条件解决,则KKT条件为公式(7)和公式(8):
其中,λ为计算系数,0<λ<1。
根据公式(6)、公式(7)和公式(8),可以将问题2优化为问题3。
问题3:maxL(r)
s.t. (6)-(8)
其中,s.t.为条件,var为变量。由于公式(7)和公式(8)是基于nijk的KKT条件,即nijk和λ是基于rijk已知的情况的。因此可以将问题3转换为问题4。
问题4:maxL(r)
s.t.(6)
问题4是基于服务效用函数已知的情况下,因此可以将问题4转换为问题5。
问题5:maxL(r)
s.t.(1),(7)-(8)
由于问题5为问题3在板卡资源使用量已知的情况下的简化问题,由于公式(1)为线性的,而公式(7)和公式(8)是问题1的KKT条件,因此问题5也为凸优化问题。在nijk和λ利用公式(7)和公式(8)计算得到后,问题5得以解决,具体的,nijk可以利用λ和cijk表示,具体为公式(10):
nijk=max{nijk(cijk,λ),0} (10)
根据二分法,利用λ和cijk表示nijk之后将其带入公式(1)可得到nijk的值,此外,根据公式(7),可以得到更加详细的上下界,具体为公式(11):
在求解问题4后,根据公式(10)和公式(11)可以同时求解问题1,即得到目标分配方案。本发明实施例中优选的,利用MATSuMoTo工具箱中的代理算法求解问题4。
S307:确定代理响应面算法的评估次数。
利用N表示代理响应面算法的评估次数。
S308:利用代理响应面算法对目标函数进行迭代求解,直至迭代次数等于评估次数,得到目标分配方案。
利用代理响应面算法对目标函数进行迭代求解,具体的迭代求解过程为:
2、按照问题4计算相应的L(r)。
3、条用MATSuMoTo中的代理响应面模型适配产生的板卡资源使用量点。
4、使用代理响应面模型在定义域[0,cjk]内产生下一次问题4值更大的点。
5、使用步骤4中产生的点带入问题4中计算相应的L(r).
6、检验步骤3、4和5的迭代次数是否达到N次,若否,则继续迭代执行步骤3、4和5;若是,则输出L(r)和cijk。
具体的,将用户需要的应用服务类型设置为1中,将j设置为0。云平台中板卡的数量为100,其中7块板卡可以提供0类服务,将这7块板卡的k值设置为0-6。此外,lijk,hijk,uk均取值为1。服务敏感系数如表1所示,功耗敏感系数如表2所示,板卡资源使用量表如表3所示。
表1
系数 | a<sub>t01</sub> | a<sub>t02</sub> | a<sub>t03</sub> | a<sub>t04</sub> | a<sub>t05</sub> | a<sub>t06</sub> | a<sub>t07</sub> |
取值 | 0.3 | 0.5 | 0.1 | 0.4 | 0.6 | 0.2 | 0.7 |
表2
系数 | b<sub>t01</sub> | b<sub>t02</sub> | b<sub>t03</sub> | b<sub>t04</sub> | b<sub>t05</sub> | b<sub>t06</sub> | b<sub>t07</sub> |
取值 | 0.6 | 0.8 | 0.3 | 0.2 | 0.9 | 0.4 | 0.1 |
表3
请参考图4和图5,可以看到,当用户任务数为500、1000和1500时,通过MATSuMoTo中代理算法可以求得问题2中应用效率函数的最大值,具体变化如图4所示,图4为本发明实施例提供的一种应用效率函数变化趋势图,随着迭代此处的增加,应用效率函数的取值逐渐变大并趋向于收敛。随着应用效率逐渐增加,意味着FPGA板卡的板卡资源使用量最值升高,因此请参考图5,图5为本发明实施例提供的一种服务效用函数变化趋势图,随着板卡资源使用量的增加,服务效用函数逐渐降低,这意味着随着板卡资源使用量和任务处理速率的提升,服务效用函数中的功耗效用函数逐渐增大,导致服务效用函数逐渐减小。而随着应用效率函数逐渐收敛,功耗效用函数也趋于收敛,因此服务效用函数也趋于收敛,最终得到目标分配方案。
下面对本发明实施例提供的FPGA云平台任务资源分配设备进行介绍,下文描述的FPGA云平台任务资源分配设备与上文描述的FPGA云平台任务资源分配装置可相互对应参照。
请参考图6,图6为本发明实施例提供的一种FPGA云平台任务资源分配设备的结构示意图,该FPGA云平台任务资源分配设备包括存储器、处理器,其中:
存储器610,用于保存计算机程序;
处理器620,用于执行计算机程序,以实现上述的FPGA云平台任务资源分配方法。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的FPGA云平台任务资源分配方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的FPGA云平台任务资源分配方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种FPGA云平台任务资源分配方法、FPGA云平台任务资源分配装置、FPGA云平台任务资源分配设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,对本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种FPGA云平台任务资源分配装置,其特征在于,包括:
第一构建模块,用于获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量和板卡资源使用量构建服务效用函数;其中,服务敏感系数为用户对某张板卡提供的某类服务的满意程度,功耗敏感系数为用户对某张板卡提供某类服务时所需功耗的不满意程度,板卡资源使用量为某张板卡提供某类服务时需要使用的板卡资源量;
第二构建模块,用于利用所述用户任务量和所述板卡资源使用量构建应用效率函数,利用所述服务效用函数和所述应用效率函数构建目标函数;
目标分配方案确定模块,用于利用响应面代理算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案;其中,所述目标分配方案为所述应用效率函数取得目标值时所述服务效用函数最大的分配方案;
输出模块,用于向所述用户输出所述目标分配方案;
第二构建模块,包括:
板卡效率函数单元,用于利用所述用户任务量、所述板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数;
相加构建单元,用于将各个所述板卡效率函数相加,得到所述应用效率函数;
所述目标分配方案确定模块,包括:
评估次数确定单元,用于确定所述响应面代理算法的评估次数;
迭代求解单元,用于利用响应面代理算法对所述目标函数进行迭代求解,直至迭代次数等于所述评估次数,得到所述目标分配方案;
所述第一构建模块,包括:
任务效用函数单元,用于利用所述服务敏感系数和所述用户任务量构建任务效用函数;
基础参数获取单元,用于获取板卡基础参数;其中,所述板卡基础参数为FPGA板卡电压和FPGA板卡电流;
功耗效用函数单元,用于利用所述板卡资源使用量、所述用户任务量、所述功耗敏感系数和所述板卡基础参数构建功耗效用函数;
相减构建单元,用于利用所述任务效用函数减去所述功耗效用函数,得到所述服务效用函数。
2.根据权利要求1所述的FPGA云平台任务资源分配装置,其特征在于,所述功耗效用函数单元,包括:
板卡效用函数子单元,用于利用所述板卡资源使用量和所述板卡基础参数构建各个板卡对应的板卡功耗函数;
构建子单元,用于利用各个所述板卡功耗函数、所述用户任务量和所述功耗敏感系数构建所述功耗效用函数。
3.根据权利要求1所述的FPGA云平台任务资源分配装置,其特征在于,所述迭代求解单元,包括:
MATSuMoTo迭代子单元,用于利用MATSuMoTo工具箱中的响应面代理模型对所述目标函数进行迭代求解。
4.根据权利要求1所述的FPGA云平台任务资源分配装置,其特征在于,还包括:
任务执行模块,用于在接收到针对第一目标分配方案的确认指令时,按照所述第一目标分配方案执行所述用户对应的任务。
5.一种FPGA云平台任务资源分配方法,其特征在于,包括:
获取用户对应的服务敏感系数、功耗敏感系数和用户任务量,利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量和板卡资源使用量构建服务效用函数;其中,服务敏感系数为用户对某张板卡提供的某类服务的满意程度,功耗敏感系数为用户对某张板卡提供某类服务时所需功耗的不满意程度,板卡资源使用量为某张板卡提供某类服务时需要使用的板卡资源量;
利用所述用户任务量和所述板卡资源使用量构建应用效率函数,利用所述服务效用函数和所述应用效率函数构建目标函数;
利用响应面代理算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案;其中,所述目标分配方案为所述应用效率函数取得目标值时所述服务效用函数最大的分配方案;
向所述用户输出所述目标分配方案;
利用所述用户任务量和所述板卡资源使用量构建应用效率函数,包括:
利用所述用户任务量、所述板卡资源使用量和预设效率计算系数构建各个板卡对应的板卡效率函数;
将各个所述板卡效率函数相加,得到所述应用效率函数;
所述利用响应面代理算法对所述目标函数进行求解,得到所述目标函数对应的至少一个目标分配方案,包括:
确定所述响应面代理算法的评估次数;
利用响应面代理算法对所述目标函数进行迭代求解,直至迭代次数等于所述评估次数,得到所述目标分配方案;
所述利用所述服务敏感系数、所述功耗敏感系数、所述用户任务量、板卡资源使用量构建服务效用函数,包括:
利用所述服务敏感系数和所述用户任务量构建任务效用函数;
获取板卡基础参数;其中,所述板卡基础参数为FPGA板卡电压和FPGA板卡电流;
利用所述板卡资源使用量、所述用户任务量、所述功耗敏感系数和所述板卡基础参数构建功耗效用函数;
利用所述任务效用函数减去所述功耗效用函数,得到所述服务效用函数。
6.一种FPGA云平台任务资源分配设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求5所述的FPGA云平台任务资源分配方法。
7.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求5所述的FPGA云平台任务资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205041.3A CN111131395B (zh) | 2019-11-29 | 2019-11-29 | 一种fpga云平台任务资源分配装置、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911205041.3A CN111131395B (zh) | 2019-11-29 | 2019-11-29 | 一种fpga云平台任务资源分配装置、方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131395A CN111131395A (zh) | 2020-05-08 |
CN111131395B true CN111131395B (zh) | 2022-06-07 |
Family
ID=70496358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911205041.3A Active CN111131395B (zh) | 2019-11-29 | 2019-11-29 | 一种fpga云平台任务资源分配装置、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131395B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858241B (zh) * | 2020-07-10 | 2022-06-10 | 浪潮电子信息产业股份有限公司 | 一种fpga云平台的监控方法、装置、设备及存储介质 |
CN114125061B (zh) * | 2021-10-14 | 2023-12-08 | 南京邮电大学 | 共享边缘服务平台中的资源最优分配方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660623A (zh) * | 2018-12-25 | 2019-04-19 | 广东浪潮大数据研究有限公司 | 一种云服务资源的分配方法、装置和计算机可读存储介质 |
-
2019
- 2019-11-29 CN CN201911205041.3A patent/CN111131395B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660623A (zh) * | 2018-12-25 | 2019-04-19 | 广东浪潮大数据研究有限公司 | 一种云服务资源的分配方法、装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111131395A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10325008B2 (en) | Techniques for estimating compound probability distribution by simulating large empirical samples with scalable parallel and distributed processing | |
US8909567B2 (en) | Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement | |
CN111064633B (zh) | 一种云边协同电力信息通信设备自动化测试资源分配方法 | |
Khemka et al. | Utility maximizing dynamic resource management in an oversubscribed energy-constrained heterogeneous computing system | |
CN111131395B (zh) | 一种fpga云平台任务资源分配装置、方法及设备 | |
CN111026548B (zh) | 一种逆向深度强化学习的电力通信设备测试资源调度方法 | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
Hadji et al. | Mathematical programming approach for revenue maximization in cloud federations | |
CN112988285B (zh) | 任务卸载方法和装置、电子设备及存储介质 | |
CN105869022B (zh) | 一种应用流行度预测方法和装置 | |
Talafuse et al. | Small sample reliability growth modeling using a grey systems model | |
US20130096831A1 (en) | Automatic, adaptive and optimized sensor selection and virtualization | |
CN104657217B (zh) | 一种基于非均匀粒度分类的云环境任务调度方法 | |
CN111176840A (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
CN103699443A (zh) | 任务分发方法及扫描器 | |
CN111565216A (zh) | 一种后端负载均衡方法、装置、***及存储介质 | |
CN110891087A (zh) | 一种日志传输方法、装置及电子设备和存储介质 | |
CN110516164A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
Zhang et al. | Service pricing and selection for IoT applications offloading in the multi-mobile edge computing systems | |
Almomani et al. | Selecting a good stochastic system for the large number of alternatives | |
CN113793017B (zh) | 一种配电房老化评价方法、装置、终端设备及存储介质 | |
Ebadifard et al. | A modified black hole-based multi-objective workflow scheduling improved using the priority queues for cloud computing environment | |
CN112866358B (zh) | 一种物联网服务重调度的方法、***及装置 | |
CN114971736A (zh) | 电力计量物资需求预测方法、装置、电子设备和存储介质 | |
CN108229572A (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 |