CN116501711A - 一种基于“存算分离”架构的算力网络任务调度方法 - Google Patents
一种基于“存算分离”架构的算力网络任务调度方法 Download PDFInfo
- Publication number
- CN116501711A CN116501711A CN202310474156.2A CN202310474156A CN116501711A CN 116501711 A CN116501711 A CN 116501711A CN 202310474156 A CN202310474156 A CN 202310474156A CN 116501711 A CN116501711 A CN 116501711A
- Authority
- CN
- China
- Prior art keywords
- service
- resource
- data
- data center
- reference point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000000926 separation method Methods 0.000 title claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 19
- 239000002243 precursor Substances 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 108090000623 proteins and genes Proteins 0.000 description 8
- 230000035772 mutation Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 210000000349 chromosome Anatomy 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于“存算分离”架构的算力网络任务调度方法,属于算力调度技术领域,包括:初始化数据、初始化算力网络环境;提交多个子服务构成的算力网络服务,对算力网络服务进行解构;解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;使用NSGA‑III算法实现多目标优化,进行最优匹配;根据最优匹配完成调度。本发明在算力网络环境下,该策略优先选择传输时间短、通信成本低的数据中心来完成服务,同时在满足服务需求的前提下,提高数据中心资源的利用率,以实现服务的高效运行和资源的充分利用。
Description
技术领域
本发明提供一种基于“存算分离”架构的算力网络任务调度方法,属于算力调度技术领域。
背景技术
“存算分离”是一种新兴的数据架构,自上而下可以视为数据分析层、计算层和存储层,实现独立的分布式服务。通过将计算层和存储层分离,可以达到数据灵活开放给不同业务做数据分析、计算和存储独立扩展以及计算与存储的资源隔离的目的。
在“存算分离”架构下,不同的数据中心资源可以自由组合,以满足不同业务的需求,同时存储系统和数据分析服务也可以进行跨域自由组合,以实现数据在不同系统之间的自由流动。这种架构的优势在于提高了系统的可扩展性、可靠性和灵活性,从而为业务的发展提供了更加强大和灵活的支持。目前,国内外已经出现了许多重要的“存算分离”架构,其中包括华为的HDFS、开源的Alluxio、Google的Colossus和Facebook的TAO等。
为了应对这些挑战,研究人员提出了各种不同的服务调度方案。例如,一些研究人员提出面向完成时间与负载均衡的任务调度算法,但是这种策略没有考虑任务的相互依赖性,后继任务可能需要获取到前置任务的数据和信息才能够顺利的执行,在这种情况下,如果仅仅根据数据中心之间的负载均衡来进行调度,可能会导致任务出现阻塞,从而影响整个任务流程的进展。还有研究人员提出一种云计算环境下的改进任务调度算法,他们将收集任务分批次进行,以避免收集任务长度超过资源使用状态的限制。针对每个批次的任务寻求局部最优解,以达到降低完工时间和提高资源利用率的目的,但是忽略了在“存算分离”架构下,当任务需要在不同的数据中心完成时,数据和信息的传递可能会需要大量的传输成本和传输时间。
因此,本发明提出了一种基于“存算分离”架构的算力网络任务调度方法,旨在更加灵活地管理数据中心的资源,实现资源的最大化利用,降低资源调度成本,从而提高数据中心资源的利用率和服务处理效率。
发明内容
针对现有技术的不足,本发明提供了一种基于“存算分离”架构的算力网络任务调度方法,在算力网络环境下,该策略优先选择传输时间短、通信成本低的数据中心来完成服务,同时在满足服务需求的前提下,提高数据中心资源的利用率,以实现服务的高效运行和资源的充分利用。
本发明采用如下技术方案:
一种基于“存算分离”架构的算力网络任务调度方法,首先建立算力网络服务调度模型,包括服务列表、数据中心资源列表、服务谱系建立部分、服务请求解析部分、资源单元划分部分和多目标优化器,服务列表包含m个子服务,数据中心资源列表包含n个数据中心;
在算力网络环境下,服务调度扮演着至关重要的角色。它决定了服务的执行顺序和资源的分配,直接影响着服务的高效运行和资源的充分利用。为了实现对用户提交的服务进行最优调度,本发明设计了一种算力网络服务调度模型,其核心是将子服务分配给不同的数据中心执行,其中这些子服务可表示为S=[sevice1,sevice2,…,sevicem],m表示子服务的个数,以实现最优化的服务调度。在算力网络服务调度模型中,首先对算力网络中所有资源进行初始化,获得算力网络资源列表。然后,在用户提交服务序列之后,提取不同服务的通信关系,建立服务谱系。接着,解析服务请求,根据服务请求的资源之间的关联和依赖关系划分需求单元。最后,将服务需求与数据中心资源列表投入多目标优化器,进行最优匹配,以实现最优的服务调度。通过算力网络服务调度模型,可以实现对用户提交的服务进行高效、精确的调度,从而实现资源的充分利用和服务的高效运行。这将为算力网络的发展和应用提供强有力的支持。
调度方法包括如下步骤:
步骤1:初始化数据、初始化算力网络环境;
步骤2:提交多个子服务构成的算力网络服务,对算力网络服务进行解构;
步骤3:解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
步骤4:使用NSGA-III算法实现多目标优化,进行最优匹配;
步骤5:根据最优匹配完成调度。
优选的,步骤1包括:
1.1:初始化数据
不同地域数据中心提供不同的计算资源、存储资源、网络资源,肩负着数据的计算、存储和转发的重任,数据中心可表示为DC=[DC1,DC2,……DCn],其中n表示数据中心的个数;对于每个数据中心DCi,DCi={BI,CPU,GPU,VM,CO,RAM,HD,DB},其中BI、CPU、GPU、VM、CO、RAM、HD、DB分别表示数据中心的基础信息、CPU、GPU、虚拟机、容器、内存、硬盘、数据库;对于数据中心的每种资源类型分别定义不同的属性指标,显示资源的可利用情况,如表1:
表1:每种资源类型分别定义不同的属性指标
1.2:算力网络初始化
通过云服务商提供的API访问数据中心资源以实现数据中心接入;获取数据中心API访问权限,查阅API文档,了解如何使用API接口来获取所需的信息;使用API调用相应的资源接口,获取对应的信息;将获取的信息写入数据中心资源列表,完成算力网络初始化;
1.3:构建算力网络拓扑结构
读取云服务商文档或API获取数据中心之间的关联或连接关系信息;通过iperf工具测试两两数据中心之间的网络带宽和通信延迟;根据前面得到的连接关系信息、网络带宽和通信延迟,创建字典描述两两数据中心之间的关系,包括三个键值对:连接关系、网络带宽、通信延迟;根据字典绘制算力网络拓扑结构矩阵。
优选的,步骤2通过建立服务谱系实现,根据用户提供服务建立服务谱系。
服务谱系定义:在服务谱系中,每个子服务可以是前驱、后继服务或同时具备前驱、后继服务关系,可以帮助人们更好的理解服务之间的关系,从而可以更好地规划和组织服务。同时,也可以提高服务之间的可重复性和可维护性,因为在服务谱系中,每个服务都有一个明确定义的位置和关系,这可以使服务之间的依赖关系更加清晰明了。
同时,在服务谱系中还引入了一个新的值Cd,来表示子服务之间的通讯密度,初始阶段根据用户提交的服务序列文档读取初始值,并在后续的服务执行期间使用monitor_service()监控函数不断监控更新。
服务谱系实现的具体过程为:
2.1:读取用户提交的服务序列文档,获取每个子服务的前驱和后继服务,以及其对应的通信密度信息;
2.2:对于每个服务,遍历其每个子服务,并将其作为有向图的节点;
2.3:对于每个服务,建立邻接节点列表来存储其前驱和后继服务的信息,并将其对应的通信密度作为有向图边的权重;
2.4:定义一个名为“monitor_service()”的监控函数,用于实时监控服务执行过程中子服务之间的通信密度是否发生变化,如果发生变化,系统将及时更新相应的服务谱系信息。
优选的,步骤3具体包括:
3.1:确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
在算力网络中,服务执行所需要资源之间可能存在着依赖和关联关系。例如,在保证数据访问速度和稳定性的前提下,云主机需要有一个或多个云硬盘来存储数据,负载均衡器需要与云主机在同一网络中,并且可以访问它们的IP地址,对象存储需要与CDN部署在同一数据中心中,并能够提供数据加速和分发服务。因此,为了更好满足服务的需求,使用一个三元组G(G1,G2,G3)描述资源需求单元,其中G1表示子服务名称,G2表示具有依赖关系的数据中心资源,G3表示资源需求量;通过分组G,可以得到一个服务需要哪些具有相互依赖的资源,以便进行资源的获取和调度;
3.2:将数据中心不同的资源划分为不同的资源单元,以便在各个数据中心之间实现资源的协同使用和管理;例如,可以将CPU资源划分为不同的核数和频率单元,即:
CPU={(2,2GHz),(4,2GHz),(4,3GHz),(8,3GHz),...}
其中,每个元素表示不同的CPU资源单元,由核数和频率两个参数组成。
类似地,可以将内存资源划分为不同的容量和带宽单元,即:
RAM={(2GB,1600MHz),(4GB,1600MHz),(8GB,1600MHz),(8GB,2400MHz),...}
其中,每个元素表示不同的内存资源单元,由容量和带宽两个参数组成。
3.3:确定资源需求量。
优选的,步骤3.3具体包括:
A、创建一个n×m的二维矩阵A,矩阵A的每个元素为一个列表,用于存储资源的各种属性需求;
B、对于每种服务i,遍历其对每种资源的需求,将其各种属性需求加入到Ai,j中,其中j是资源的索引;
C、最终得到的A即为生成的二维矩阵:
其中Ai,j表示第i种服务对第j种资源的各种属性需求的列表。
优选的,步骤4中将目标函数与约束条件设置为:
优化目标1:传输时间f1(x)
在服务谱系中,具有前后执行关系的子服务之间存在数据和信息的传递,当两个子服务在不同的数据中心处理时,数据传递需要经过l个数据中心,在服务的执行过程中,数据中心之间通信效率越高,信息和数据的传输时间越少,则
其中x=(x1,x2,…,xl)表示服务进行数据与信息传递时经过的数据中心序列,从数据中心xi到xi+1的通信效率为
其中,Dt为数据传输量,DI为传输距离,NB、NL分别为网络带宽和网络延迟;
优化目标2:通信成本f2(x)
在服务的执行过程中,服务之间的通信密度越小,在同一数据通信成本越小,则
其中,Cd为通信密度,为相邻数据中心之间通信时的网络带宽费用和延迟费用,l表示可能经过的数据中心数量;
优化目标3:资源单元利用率f3(x)
对于将CPU、内存等资源划分不同单元的情况,分别计算每种资源单元的利用率,并对它们求平均值来得到总体的资源单元利用率,则
其中,nr表示资源单元数量,ui表示第i个资源单元的利用率;
定义目标向量F=[f1(x),f2(x),-f3(x)],代表着目标是最小化传输时间f1(x)和通信成本f2(x),最大化资源单元利用率f3(x);
定义约束条件:
约束条件1:
R_total>=R_demand
其中,R_total表示数据中心中所有可用资源的总量,R_demand表示各种服务在数据中心中所需的资源量;
约束条件2:
h(x)=max(0,t(x)-T)
其中,t(x)为服务完成时间,T为服务时效性期限,如果t(x)>T,则h(x)表示服务完成时间超出了时效性期限。
优选的,使用NSGA-III算法实现多目标优化寻找最优匹配的具体步骤为:
4.1:输入参数为算力网络资源列表netList、服务谱系serviceHierarchy、服务的需求矩阵demandMatrix;
4.2:按照服务谱系的顺序遍历每个服务,按照算力网络资源列表netList的顺序遍历每个级别的数据中心,检查数据中心资源是否满足当前服务的需求矩阵;
4.3:如果数据中心满足当前服务的需求矩阵,则使用NSGA-III函数进行优化选择;
4.4:生成初始种群Pt,设置参数,包括种群大小和最大迭代次数;
4.5:改进参考点选择策略
4.6:对Pt进行交叉、变异,产生Qt,合并Pt和Qt得到Rt;
4.7:对Rt进行快速非支配排序;
4.8:基于参考点的选择机制筛选合适的个体组成新的子代Pt+1;
4.9:判断是否达到最大迭代次数,如果达到进行步骤4.10,如果没有,返回步骤4.6;
4.10:从最终种群中选择最优的数据中心,将最优数据中心更新到映射表mapping中;
4.11:输出结果为服务与数据中心资源最优匹配列表。
优选的,步骤4.5改进参考点选择策略具体实现步骤为:
a、使用DBSCAN聚类算法,生成初始参考点集合P,并在参考点集合P中随机选择一个参考点p作为种子点;
b、对于每个目标函数,计算每个参考点与种子点的距离d,并将距离按升序排列;
其中,(x1,y1,z1)、(x2,y2,z2)分别为参考点与种子点坐标;
c、对于每个参考点,计算其权重w:
w[j]=1/(d[j]+2)
其中,d[j]为该参考点与种子点的距离;
d、对于每个参考点,计算其全局密度ρ′:
ρ′[j]=1/(N*S[j])
其中,N为参考点集合P的大小,S[j]为参考点p[j]所在目标函数的极差;
e、对于每个参考点,计算其概率分布p:
p[j]=(w[j]*ρ′[j])/∑(w[k]*ρ′[k])
其中,∑为求和符号,k为所有参考点的索引;
f、随机生成一个0到1之间的随机数r,计算每个参考点的累积概率分布F[j]:
F[j]=∑(p[kl])
其中,kl为所有小于等于j的参考点的索引;
g、找到第一个使得r小于等于F[j]的参考点j,生成新的参考点q:
q[k]=p[j][km]
其中,km为所有目标函数的索引;
h、将新的参考点q添加到参考点集合P中。
优选的,步骤5的实现过程为:
获得步骤4得到的服务与数据中心最优匹配列表后,将服务部署到所选的数据中心,为确保服务的高性能、可用性并且确保符合服务级别协议(SLA)要求,需要实时监测服务的性能指标,如响应时间、吞吐量、错误率等,并及时采取措施解决问题,从而完成服务的最优调度,提高用户体验和满意度。
本发明未详尽之处,均可参见现有技术。
本发明的有益效果为:
本发明提供了一种基于“存算分离”架构的算力网络任务调度方法,其能够在满足服务需求的前提下,选择传输时间短、通讯成本低的数据中心执行任务,同时提高数据中心资源单元利用率。
同时本发明还对数据中心资源和服务需求进行了符号化的定义(如表1),提高了数据中心的效率和可靠性,减少因资源管理不当而导致的故障,同时提高资源的利用率,降低维护和管理的复杂度。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为算力网络服务调度模型示意图;
图2为构建算力网络拓扑结构流程图;
图3为建立服务谱系流程图;
图4为基于“存算分离”架构的算力网络任务调度方法流程图。
具体实施方式:
为了使本技术领域的人员更好的理解本说明书中的技术方案,下面结合本说明书实施中的附图,对本发明书实施例中的技术方案进行清楚、完整的描述,但不仅限于此,本发明未详尽说明的,均按本领域常规技术。
实施例1
一种基于“存算分离”架构的算力网络任务调度方法,首先建立算力网络服务调度模型,包括服务列表、数据中心资源列表、服务谱系建立部分、服务请求解析部分、资源单元划分部分和多目标优化器,服务列表包含m个子服务,数据中心资源列表包含n个数据中心,每个数据中心所提供的资源种类与数量也各不相同;服务谱系建立部分根据用户提供的服务请求,判断服务与服务之间的关联关系和通信密度,构建具有分级的服务谱系;服务请求解析部分遍历所有子服务,记录资源需求类型和需求量,建立服务需求矩阵;资源单元划分部分根据资源的依赖与关联关系,划分资源单元,以便整体调度;多目标优化器从满足服务需求的数据中心中,根据传输时间、通信成本和资源单元利用率三个目标寻找最优匹配。
在算力网络环境下,服务调度扮演着至关重要的角色。它决定了服务的执行顺序和资源的分配,直接影响着服务的高效运行和资源的充分利用。为了实现对用户提交的服务进行最优调度,本发明设计了一种算力网络服务调度模型,如图1所示,其核心是将子服务分配给不同的数据中心执行,其中这些子服务可表示为S=[sevice1,sevice2,…,sevicem],m表示子服务的个数,以实现最优化的服务调度。在算力网络服务调度模型中,首先对算力网络中所有资源进行初始化,获得算力网络资源列表。然后,在用户提交服务序列之后,提取不同服务的通信关系,建立服务谱系。接着,解析服务请求,根据服务请求的资源之间的关联和依赖关系划分需求单元。最后,将服务需求与数据中心资源列表投入多目标优化器,进行最优匹配,以实现最优的服务调度。通过算力网络服务调度模型,可以实现对用户提交的服务进行高效、精确的调度,从而实现资源的充分利用和服务的高效运行。这将为算力网络的发展和应用提供强有力的支持。
调度方法包括如下步骤:
步骤1:初始化数据、初始化算力网络环境;
步骤2:提交多个子服务构成的算力网络服务,对算力网络服务进行解构;
步骤3:解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
步骤4:使用NSGA-III算法实现多目标优化,进行最优匹配;
步骤5:根据最优匹配完成调度。
实施例2
一种基于“存算分离”架构的算力网络任务调度方法,如实施例1所述,所不同的是,步骤1包括:
1.1:初始化数据
不同地域数据中心提供不同的计算资源、存储资源、网络资源,肩负着数据的计算、存储和转发的重任,数据中心可表示为DC=[DC1,DC2,……DCn],其中n表示数据中心的个数;对于每个数据中心DCi,DCi={BI,CPU,GPU,VM,CO,RAM,HD,DB},其中BI、CPU、GPU、VM、CO、RAM、HD、DB分别表示数据中心的基础信息、CPU、GPU、虚拟机、容器、内存、硬盘、数据库;本实施例中,对于数据中心的每种资源类型分别定义了不同的属性指标,显示资源的可利用情况,如表2:
表2:本实施例中每种资源类型定义的属性指标
/>
1.2:算力网络初始化
通过云服务商提供的API访问数据中心资源以实现数据中心接入;获取数据中心API访问权限,查阅API文档,了解如何使用API接口来获取所需的信息;使用API调用相应的资源接口,获取对应的信息;将获取的信息写入数据中心资源列表,完成算力网络初始化;
举例说明:
/>
1.3:构建算力网络拓扑结构
如图2所示,读取云服务商文档或API获取数据中心之间的关联或连接关系信息;通过iperf工具测试两两数据中心之间的网络带宽和通信延迟;根据前面得到的连接关系信息、网络带宽和通信延迟,创建字典描述两两数据中心之间的关系,包括三个键值对:连接关系、网络带宽、通信延迟;根据字典绘制算力网络拓扑结构矩阵。
实现过程为:
/>
实施例3
一种基于“存算分离”架构的算力网络任务调度方法,如实施例2所述,所不同的是,步骤2通过建立服务谱系实现,根据用户提供服务建立服务谱系。
服务谱系定义:在服务谱系中,每个子服务可以是前驱、后继服务或同时具备前驱、后继服务关系,可以帮助人们更好的理解服务之间的关系,从而可以更好地规划和组织服务。同时,也可以提高服务之间的可重复性和可维护性,因为在服务谱系中,每个服务都有一个明确定义的位置和关系,这可以使服务之间的依赖关系更加清晰明了。
同时,在服务谱系中还引入了一个新的值Cd,来表示子服务之间的通讯密度,初始阶段根据用户提交的服务序列文档读取初始值,并在后续的服务执行期间使用monitor_service()监控函数不断监控更新。
如图3可以看出,服务谱系的构建过程,将用户提供的服务信息进项输入,服务谱系列表作为输出,同时在服务的后续执行过程中不断对其通信密度进行监控并实时更新,服务谱系实现的具体过程为:
2.1:读取用户提交的服务序列文档,获取每个子服务的前驱和后继服务,以及其对应的通信密度信息;
2.2:对于每个服务,遍历其每个子服务,并将其作为有向图的节点;
2.3:对于每个服务,建立邻接节点列表来存储其前驱和后继服务的信息,并将其对应的通信密度作为有向图边的权重;
2.4:定义一个名为“monitor_service()”的监控函数,用于实时监控服务执行过程中子服务之间的通信密度是否发生变化,如果发生变化,系统将及时更新相应的服务谱系信息,如图3所示。
服务谱系代码实现过程:
/>
实施例4
一种基于“存算分离”架构的算力网络任务调度方法,如实施例3所述,所不同的是,步骤3具体包括:
3.1:确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
在算力网络中,服务执行所需要资源之间可能存在着依赖和关联关系。例如,在保证数据访问速度和稳定性的前提下,云主机需要有一个或多个云硬盘来存储数据,负载均衡器需要与云主机在同一网络中,并且可以访问它们的IP地址,对象存储需要与CDN部署在同一数据中心中,并能够提供数据加速和分发服务。因此,为了更好满足服务的需求,使用一个三元组G(G1,G2,G3)描述资源需求单元,其中G1表示子服务名称,G2表示具有依赖关系的数据中心资源,G3表示资源需求量;通过分组G,可以得到一个服务需要哪些具有相互依赖的资源,以便进行资源的获取和调度;
3.2:将数据中心不同的资源划分为不同的资源单元,以便在各个数据中心之间实现资源的协同使用和管理;例如,可以将CPU资源划分为不同的核数和频率单元,即:
CPU={(2,2GHz),(4,2GHz),(4,3GHz),(8,3GHz),...}
其中,每个元素表示不同的CPU资源单元,由核数和频率两个参数组成。
类似地,可以将内存资源划分为不同的容量和带宽单元,即:
RAM={(2GB,1600MHz),(4GB,1600MHz),(8GB,1600MHz),(8GB,2400MHz),...}
其中,每个元素表示不同的内存资源单元,由容量和带宽两个参数组成。
3.3:确定资源需求量。
步骤3.3具体包括:
A、创建一个n×m的二维矩阵A,矩阵A的每个元素为一个列表,用于存储资源的各种属性需求;
B、对于每种服务i,遍历其对每种资源的需求,将其各种属性需求加入到Ai,j中,其中j是资源的索引;
C、最终得到的A即为生成的二维矩阵:
其中Ai,j表示第i种服务对第j种资源的各种属性需求的列表。
实施例5
一种基于“存算分离”架构的算力网络任务调度方法,如实施例4所述,所不同的是,步骤4中将目标函数与约束条件设置为:
优化目标1:传输时间f1(x)
在服务谱系中,具有前后执行关系的子服务之间存在数据和信息的传递,当两个子服务在不同的数据中心处理时,数据传递需要经过l个数据中心,在服务的执行过程中,数据中心之间通信效率越高,信息和数据的传输时间越少,则
其中x=(x1,x2,…,xl)表示服务进行数据与信息传递时经过的数据中心序列,从数据中心xi到xi+1的通信效率为
其中,Dt为数据传输量,DI为传输距离,NB、NL分别为网络带宽和网络延迟;
优化目标2:通信成本f2(x)
在服务的执行过程中,服务之间的通信密度越小,在同一数据通信成本越小,则
其中,Cd为通信密度,为相邻数据中心之间通信时的网络带宽费用和延迟费用,l表示可能经过的数据中心数量;
优化目标3:资源单元利用率f3(x)
对于将CPU、内存等资源划分不同单元的情况,分别计算每种资源单元的利用率,并对它们求平均值来得到总体的资源单元利用率,则
其中,nr表示资源单元数量,ui表示第i个资源单元的利用率;
定义目标向量F=[f1(x),f2(x),-f3(x)],代表着目标是最小化传输时间f1(x)和通信成本f2(x),最大化资源单元利用率f3(x);
定义约束条件:
约束条件1:
R_total>=R_demand
其中,R_total表示数据中心中所有可用资源的总量,R_demand表示各种服务在数据中心中所需的资源量;
约束条件2:
h(x)=max(0,t(x)-T)
其中,t(x)为服务完成时间,T为服务时效性期限,如果t(x)>T,则h(x)表示服务完成时间超出了时效性期限。
优选的,使用NSGA-III算法实现多目标优化寻找最优匹配的具体步骤为:
4.1:输入参数为算力网络资源列表netList、服务谱系serviceHierarchy、服务的需求矩阵demandMatrix;
4.2:按照服务谱系的顺序遍历每个服务,按照算力网络资源列表netList的顺序遍历每个级别的数据中心,检查数据中心资源是否满足当前服务的需求矩阵;
举例说明:
4.3:如果数据中心满足当前服务的需求矩阵,则使用NSGA-III函数进行优化选择;
4.4:生成初始种群Pt,设置参数,包括种群大小和最大迭代次数等;
举例说明:
表3为本实施例的设置参数表
参数 | 值 |
种群大小 | 300 |
子种群大小 | 100 |
最大迭代次数 | 300 |
交叉概率 | 0.95 |
变异概率 | 0.05 |
4.5:改进参考点选择策略
4.6:对Pt进行交叉、变异,产生Qt,合并Pt和Qt得到Rt;
举例说明:交叉采用二进制交叉算法(SBX),变异采用多项式变异方法二进制交叉算法:
①对于每对父代个体,随机生成一个交叉点(cross point)。
②对于每个交叉点,计算两个父代个体之间的距离。
③对于第i个染色体,计算交叉概率pi,并生成两个随机数r1和r2。
④如果r1≤pi,则执行模拟二进制交叉。
⑤如果r1>pi,则子代个体与父代个体相同。
⑥重复以上步骤,直到所有染色体都进行了交叉。
多项式变异方法:
⑴随机选择一个需要进行变异的个体。
⑵对于该个体的每一个基因,根据预定义的变异概率决定是否对该基因进行变异操作。
⑶如果决定对该基因进行变异,就随机生成一个整数k,并计算多项式变异函数f(x)=0.2(2x-1)k。其中,αx是该基因的当前值。
⑷将多项式变异函数的结果作为新的基因值,并将其限制在该基因的取值范围内。
重复步骤⑵到步骤⑷,直到对所有需要进行变异的基因都进行了变异操作。
4.7:对Rt进行快速非支配排序;
4.8:基于参考点的选择机制筛选合适的个体组成新的子代Pt+1;
举例说明:
4.9:判断是否达到最大迭代次数,如果达到进行步骤4.10,如果没有,返回步骤4.6;
4.10:从最终种群中选择最优的数据中心,将最优数据中心更新到映射表mapping中;
4.11:输出结果为服务与数据中心资源最优匹配列表。
实施例6
一种基于“存算分离”架构的算力网络任务调度方法,如实施例5所述,所不同的是,步骤4.5改进参考点选择策略具体实现步骤为:
a、使用DBSCAN聚类算法,生成初始参考点集合P,并在参考点集合P中随机选择一个参考点p作为种子点;
b、对于每个目标函数,计算每个参考点与种子点的距离d,并将距离按升序排列;
其中,(x1,y1,z1)、(x2,y2,z2)分别为参考点与种子点坐标;
c、对于每个参考点,计算其权重w:
w[j]=1/(d[j]+2)
其中,d[j]为该参考点与种子点的距离;
d、对于每个参考点,计算其全局密度ρ′:
ρ′[j]=1/(N*S[j])
其中,N为参考点集合P的大小,S[j]为参考点p[j]所在目标函数的极差;
e、对于每个参考点,计算其概率分布p:
p[j]=(w[j]*ρ′[j])/∑(w[k]*ρ′[k])
其中,∑为求和符号,k为所有参考点的索引;
f、随机生成一个0到1之间的随机数r,计算每个参考点的累积概率分布F[j]:
F[j]=∑(p[kl])
其中,kl为所有小于等于j的参考点的索引;
g、找到第一个使得r小于等于F[j]的参考点j,生成新的参考点q:
q[k]=p[j][km]
其中,km为所有目标函数的索引;
h、将新的参考点q添加到参考点集合P中。
实施例7
一种基于“存算分离”架构的算力网络任务调度方法,如实施例6所述,所不同的是,基于“存算分离”架构的算力网络任务调度方法实现过程:
步骤5的实现过程为:
获得步骤4得到的服务与数据中心最优匹配列表后,将服务部署到所选的数据中心,为确保服务的高性能、可用性并且确保符合服务级别协议(SLA)要求,需要实时监测服务的性能指标,如响应时间、吞吐量、错误率等,并及时采取措施解决问题,从而完成服务的最优调度,提高用户体验和满意度。
举例说明:
使用Prometheus开源的监控系统,监测各种服务的性能指标,通过收集、存储和查询时间序列数据,及其强大的查询和可视化功能,帮助用户更好地了解服务执行的性能状况。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于“存算分离”架构的算力网络任务调度方法,其特征在于,首先建立算力网络服务调度模型,包括服务列表、数据中心资源列表、服务谱系建立部分、服务请求解析部分、资源单元划分部分和多目标优化器,服务列表包含m个子服务,数据中心资源列表包含n个数据中心;
调度方法包括如下步骤:
步骤1:初始化数据、初始化算力网络环境;
步骤2:提交多个子服务构成的算力网络服务,对算力网络服务进行解构;
步骤3:解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
步骤4:使用NSGA-III算法实现多目标优化,进行最优匹配;
步骤5:根据最优匹配完成调度。
2.根据权利要求1所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤1包括:
1.1:初始化数据
数据中心表示为DC=[DC1,DC2,……DCn],其中n表示数据中心的个数;对于每个数据中心DCi,DCi={BI,CPU,GPU,VM,CO,RAM,HD,DB},其中BI、CPU、GPU、VM、CO、RAM、HD、DB分别表示数据中心的基础信息、CPU、GPU、虚拟机、容器、内存、硬盘、数据库;对于数据中心的每种资源类型分别定义不同的属性指标,显示资源的可利用情况;
1.2:算力网络初始化
通过云服务商提供的API访问数据中心资源以实现数据中心接入;获取数据中心API访问权限,查阅API文档,了解如何使用API接口来获取所需的信息;使用API调用相应的资源接口,获取对应的信息;将获取的信息写入数据中心资源列表,完成算力网络初始化;
1.3:构建算力网络拓扑结构
读取云服务商文档或API获取数据中心之间的关联或连接关系信息;通过iperf工具测试两两数据中心之间的网络带宽和通信延迟;创建字典描述两两数据中心之间的关系,包括三个键值对:连接关系、网络带宽、通信延迟;根据字典绘制算力网络拓扑结构矩阵。
3.根据权利要求2所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤2通过建立服务谱系实现,具体过程为:
2.1:读取用户提交的服务序列文档,获取每个子服务的前驱和后继服务,以及其对应的通信密度信息;
2.2:对于每个服务,遍历其每个子服务,并将其作为有向图的节点;
2.3:对于每个服务,建立邻接节点列表来存储其前驱和后继服务的信息,并将其对应的通信密度作为有向图边的权重;
2.4:定义一个名为“monitor_service()”的监控函数,用于实时监控服务执行过程中子服务之间的通信密度是否发生变化,如果发生变化,系统将及时更新相应的服务谱系信息。
4.根据权利要求3所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤3具体包括:
3.1:确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
使用一个三元组G(G1,G2,G3)描述资源需求单元,其中G1表示子服务名称,G2表示具有依赖关系的数据中心资源,G3表示资源需求量;
3.2:将数据中心不同的资源划分为不同的资源单元,以便在各个数据中心之间实现资源的协同使用和管理;
3.3:确定资源需求量。
5.根据权利要求4所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤3.3具体包括:
A、创建一个n×m的二维矩阵A,矩阵A的每个元素为一个列表,用于存储资源的各种属性需求;
B、对于每种服务i,遍历其对每种资源的需求,将其各种属性需求加入到Ai,j中,其中j是资源的索引;
C、最终得到的A即为生成的二维矩阵:
其中Ai,j表示第i种服务对第j种资源的各种属性需求的列表。
6.根据权利要求5所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤4中将目标函数与约束条件设置为:
优化目标1:传输时间f1(x)
在服务谱系中,具有前后执行关系的子服务之间存在数据和信息的传递,当两个子服务在不同的数据中心处理时,数据传递需要经过l个数据中心,在服务的执行过程中,数据中心之间通信效率越高,信息和数据的传输时间越少,则
其中x=(x1,x2,…,xl)表示服务进行数据与信息传递时经过的数据中心序列,从数据中心xi到xi+1的通信效率为
其中,Dt为数据传输量,DI为传输距离,NB、NL分别为网络带宽和网络延迟;
优化目标2:通信成本f2(x)
在服务的执行过程中,服务之间的通信密度越小,在同一数据通信成本越小,则
其中,Cd为通信密度,为相邻数据中心之间通信时的网络带宽费用和延迟费用,l表示可能经过的数据中心数量;
优化目标3:资源单元利用率f3(x)
对于资源划分不同单元的情况,分别计算每种资源单元的利用率,并对它们求平均值来得到总体的资源单元利用率,则
其中,nr表示资源单元数量,ui表示第i个资源单元的利用率;
定义目标向量F=[f1(x),f2(x),-f3(x)],代表着目标是最小化传输时间f1(x)和通信成本f2(x),最大化资源单元利用率f3(x);
定义约束条件:
约束条件1:
R_total>=R_demand
其中,R_total表示数据中心中所有可用资源的总量,R_demand表示各种服务在数据中心中所需的资源量;
约束条件2:
h(x)=max(0,t(x)-T)
其中,t(x)为服务完成时间,T为服务时效性期限,如果t(x)>T,则h(x)表示服务完成时间超出了时效性期限。
7.根据权利要求6所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,使用NSGA-III算法实现多目标优化寻找最优匹配的具体步骤为:
4.1:输入参数为算力网络资源列表netList、服务谱系serviceHierarchy、服务的需求矩阵demandMatrix;
4.2:按照服务谱系的顺序遍历每个服务,按照算力网络资源列表netList的顺序遍历每个级别的数据中心,检查数据中心资源是否满足当前服务的需求矩阵;
4.3:如果数据中心满足当前服务的需求矩阵,则使用NSGA-III函数进行优化选择;
4.4:生成初始种群Pt,设置参数,包括种群大小和最大迭代次数;
4.5:改进参考点选择策略
4.6:对Pt进行交叉、变异,产生Qt,合并Pt和Qt得到Rt;
4.7:对Rt进行快速非支配排序;
4.8:基于参考点的选择机制筛选合适的个体组成新的子代Pt+1;
4.9:判断是否达到最大迭代次数,如果达到进行步骤4.10,如果没有,返回步骤4.6;
4.10:从最终种群中选择最优的数据中心,将最优数据中心更新到映射表mapping中;
4.11:输出结果为服务与数据中心资源最优匹配列表。
8.根据权利要求7所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤4.5改进参考点选择策略具体实现步骤为:
a、使用DBSCAN聚类算法,生成初始参考点集合P,并在参考点集合P中随机选择一个参考点p作为种子点;
b、对于每个目标函数,计算每个参考点与种子点的距离d,并将距离按升序排列;
其中,(x1,y1,z1)、(x2,y2,z2)分别为参考点与种子点坐标;
c、对于每个参考点,计算其权重w:
w[j]=1/(d[j]+2)
其中,d[j]为该参考点与种子点的距离;
d、对于每个参考点,计算其全局密度ρ′:
ρ′[j]=1/(N*S[j])
其中,N为参考点集合P的大小,S[j]为参考点p[j]所在目标函数的极差;
e、对于每个参考点,计算其概率分布p:
p[j]=(w[j]*ρ′[j])/∑(w[k]*ρ′[k])
其中,∑为求和符号,k为所有参考点的索引;
f、随机生成一个0到1之间的随机数r,计算每个参考点的累积概率分布F[j]:
F[j]=∑(p[kl])
其中,kl为所有小于等于j的参考点的索引;
g、找到第一个使得r小于等于F[j]的参考点j,生成新的参考点q:
q[k]=p[j][km]
其中,km为所有目标函数的索引;
h、将新的参考点q添加到参考点集合P中。
9.根据权利要求8所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤5的实现过程为:
获得步骤4得到的服务与数据中心最优匹配列表后,将服务部署到所选的数据中心,实时监测服务的性能指标,并及时采取措施解决问题,从而完成服务的最优调度,提高用户体验和满意度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474156.2A CN116501711A (zh) | 2023-04-28 | 2023-04-28 | 一种基于“存算分离”架构的算力网络任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310474156.2A CN116501711A (zh) | 2023-04-28 | 2023-04-28 | 一种基于“存算分离”架构的算力网络任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501711A true CN116501711A (zh) | 2023-07-28 |
Family
ID=87324365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310474156.2A Pending CN116501711A (zh) | 2023-04-28 | 2023-04-28 | 一种基于“存算分离”架构的算力网络任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501711A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708446A (zh) * | 2023-08-03 | 2023-09-05 | 山东省计算中心(国家超级计算济南中心) | 基于网络性能综合权值决策的算网调度服务方法及系统 |
CN117453493A (zh) * | 2023-12-22 | 2024-01-26 | 山东爱特云翔信息技术有限公司 | 大规模多数据中心的gpu算力集群监控方法及系统 |
CN117573307A (zh) * | 2023-11-13 | 2024-02-20 | 纬创软件(武汉)有限公司 | 云环境下多任务的统筹管理方法及系统 |
CN117648175A (zh) * | 2024-01-30 | 2024-03-05 | 之江实验室 | 一种基于动态算法选择的业务执行方法、装置及电子设备 |
CN117687798A (zh) * | 2024-02-01 | 2024-03-12 | 浪潮通信信息系统有限公司 | 一种算力网络原生应用管控方法、系统及存储介质 |
CN118069380A (zh) * | 2024-04-25 | 2024-05-24 | 维能(深圳)大数据技术有限公司 | 一种算力资源处理方法 |
-
2023
- 2023-04-28 CN CN202310474156.2A patent/CN116501711A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708446A (zh) * | 2023-08-03 | 2023-09-05 | 山东省计算中心(国家超级计算济南中心) | 基于网络性能综合权值决策的算网调度服务方法及系统 |
CN116708446B (zh) * | 2023-08-03 | 2023-11-21 | 山东省计算中心(国家超级计算济南中心) | 基于网络性能综合权值决策的算网调度服务方法及系统 |
CN117573307A (zh) * | 2023-11-13 | 2024-02-20 | 纬创软件(武汉)有限公司 | 云环境下多任务的统筹管理方法及系统 |
CN117573307B (zh) * | 2023-11-13 | 2024-04-09 | 纬创软件(武汉)有限公司 | 云环境下多任务的统筹管理方法及系统 |
CN117453493A (zh) * | 2023-12-22 | 2024-01-26 | 山东爱特云翔信息技术有限公司 | 大规模多数据中心的gpu算力集群监控方法及系统 |
CN117453493B (zh) * | 2023-12-22 | 2024-05-31 | 山东爱特云翔信息技术有限公司 | 大规模多数据中心的gpu算力集群监控方法及系统 |
CN117648175A (zh) * | 2024-01-30 | 2024-03-05 | 之江实验室 | 一种基于动态算法选择的业务执行方法、装置及电子设备 |
CN117648175B (zh) * | 2024-01-30 | 2024-04-12 | 之江实验室 | 一种基于动态算法选择的业务执行方法、装置及电子设备 |
CN117687798A (zh) * | 2024-02-01 | 2024-03-12 | 浪潮通信信息系统有限公司 | 一种算力网络原生应用管控方法、系统及存储介质 |
CN117687798B (zh) * | 2024-02-01 | 2024-05-10 | 浪潮通信信息系统有限公司 | 一种算力网络原生应用管控方法、系统及存储介质 |
CN118069380A (zh) * | 2024-04-25 | 2024-05-24 | 维能(深圳)大数据技术有限公司 | 一种算力资源处理方法 |
CN118069380B (zh) * | 2024-04-25 | 2024-06-25 | 维能(深圳)大数据技术有限公司 | 一种算力资源处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116501711A (zh) | 一种基于“存算分离”架构的算力网络任务调度方法 | |
Du et al. | A novel data placement strategy for data-sharing scientific workflows in heterogeneous edge-cloud computing environments | |
US8250007B2 (en) | Method of generating precedence-preserving crossover and mutation operations in genetic algorithms | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
CN111612528A (zh) | 用户分类模型的确定方法、装置、设备及存储介质 | |
CN109976901A (zh) | 一种资源调度方法、装置、服务器及可读存储介质 | |
CN105205052B (zh) | 一种数据挖掘方法及装置 | |
CN113615137A (zh) | Cdn优化平台 | |
CN115858168B (zh) | 一种基于重要性排序的地球应用模型编排系统及其方法 | |
CN111260288B (zh) | 订单管理方法、装置、介质及电子设备 | |
CN111176784A (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
CN107155215B (zh) | 一种应用归属服务集群的分配方法和装置 | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN109889573B (zh) | 混合云中基于ngsa多目标的副本放置方法 | |
Liu et al. | Towards dynamic reconfiguration of composite services via failure estimation of general and domain quality of services | |
Wu et al. | A genetic-ant-colony hybrid algorithm for task scheduling in cloud system | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测系统、方法及装置 | |
CN112910693B (zh) | 基于vnf并置影响分析的sfc部署方法 | |
CN111027709B (zh) | 信息推荐方法、装置、服务器及存储介质 | |
Alobaedy | Hybrid Ant Colony System algorithm for static and dynamic job scheduling in grid computing | |
CN110689320A (zh) | 一种基于协同进化算法的大规模多目标项目调度方法 | |
Patra et al. | Meta‐Heuristic Algorithms for Best IoT Cloud Service Platform Selection | |
CN111144645A (zh) | 一种基于混合优化算法的医疗信息服务选择方法 | |
CN113033931A (zh) | 闭环自适应个体及区域分配方法、装置及计算设备 | |
CN112559859B (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 |