一种基于“存算分离”架构的算力网络任务调度方法技术

技术编号:38345929 阅读:8 留言:0更新日期:2023-08-02 09:26
本发明专利技术涉及一种基于“存算分离”架构的算力网络任务调度方法,属于算力调度技术领域,包括:初始化数据、初始化算力网络环境;提交多个子服务构成的算力网络服务,对算力网络服务进行解构;解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;使用NSGA

【技术实现步骤摘要】
一种基于“存算分离”架构的算力网络任务调度方法


[0001]本专利技术提供一种基于“存算分离”架构的算力网络任务调度方法,属于算力调度


技术介绍

[0002]“存算分离”是一种新兴的数据架构,自上而下可以视为数据分析层、计算层和存储层,实现独立的分布式服务。通过将计算层和存储层分离,可以达到数据灵活开放给不同业务做数据分析、计算和存储独立扩展以及计算与存储的资源隔离的目的。
[0003]在“存算分离”架构下,不同的数据中心资源可以自由组合,以满足不同业务的需求,同时存储系统和数据分析服务也可以进行跨域自由组合,以实现数据在不同系统之间的自由流动。这种架构的优势在于提高了系统的可扩展性、可靠性和灵活性,从而为业务的发展提供了更加强大和灵活的支持。目前,国内外已经出现了许多重要的“存算分离”架构,其中包括华为的HDFS、开源的Alluxio、Google的Colossus和Facebook的TAO等。
[0004]为了应对这些挑战,研究人员提出了各种不同的服务调度方案。例如,一些研究人员提出面向完成时间与负载均衡的任务调度算法,但是这种策略没有考虑任务的相互依赖性,后继任务可能需要获取到前置任务的数据和信息才能够顺利的执行,在这种情况下,如果仅仅根据数据中心之间的负载均衡来进行调度,可能会导致任务出现阻塞,从而影响整个任务流程的进展。还有研究人员提出一种云计算环境下的改进任务调度算法,他们将收集任务分批次进行,以避免收集任务长度超过资源使用状态的限制。针对每个批次的任务寻求局部最优解,以达到降低完工时间和提高资源利用率的目的,但是忽略了在“存算分离”架构下,当任务需要在不同的数据中心完成时,数据和信息的传递可能会需要大量的传输成本和传输时间。
[0005]因此,本专利技术提出了一种基于“存算分离”架构的算力网络任务调度方法,旨在更加灵活地管理数据中心的资源,实现资源的最大化利用,降低资源调度成本,从而提高数据中心资源的利用率和服务处理效率。

技术实现思路

[0006]针对现有技术的不足,本专利技术提供了一种基于“存算分离”架构的算力网络任务调度方法,在算力网络环境下,该策略优先选择传输时间短、通信成本低的数据中心来完成服务,同时在满足服务需求的前提下,提高数据中心资源的利用率,以实现服务的高效运行和资源的充分利用。
[0007]本专利技术采用如下技术方案:
[0008]一种基于“存算分离”架构的算力网络任务调度方法,首先建立算力网络服务调度模型,包括服务列表、数据中心资源列表、服务谱系建立部分、服务请求解析部分、资源单元划分部分和多目标优化器,服务列表包含m个子服务,数据中心资源列表包含n个数据中心;
[0009]在算力网络环境下,服务调度扮演着至关重要的角色。它决定了服务的执行顺序
和资源的分配,直接影响着服务的高效运行和资源的充分利用。为了实现对用户提交的服务进行最优调度,本专利技术设计了一种算力网络服务调度模型,其核心是将子服务分配给不同的数据中心执行,其中这些子服务可表示为S=[sevice1,sevice2,

,sevice
m
],m表示子服务的个数,以实现最优化的服务调度。在算力网络服务调度模型中,首先对算力网络中所有资源进行初始化,获得算力网络资源列表。然后,在用户提交服务序列之后,提取不同服务的通信关系,建立服务谱系。接着,解析服务请求,根据服务请求的资源之间的关联和依赖关系划分需求单元。最后,将服务需求与数据中心资源列表投入多目标优化器,进行最优匹配,以实现最优的服务调度。通过算力网络服务调度模型,可以实现对用户提交的服务进行高效、精确的调度,从而实现资源的充分利用和服务的高效运行。这将为算力网络的发展和应用提供强有力的支持。
[0010]调度方法包括如下步骤:
[0011]步骤1:初始化数据、初始化算力网络环境;
[0012]步骤2:提交多个子服务构成的算力网络服务,对算力网络服务进行解构;
[0013]步骤3:解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;
[0014]步骤4:使用NSGA

III算法实现多目标优化,进行最优匹配;
[0015]步骤5:根据最优匹配完成调度。
[0016]优选的,步骤1包括:
[0017]1.1:初始化数据
[0018]不同地域数据中心提供不同的计算资源、存储资源、网络资源,肩负着数据的计算、存储和转发的重任,数据中心可表示为DC=[DC1,DC2,
……
DC
n
],其中n表示数据中心的个数;对于每个数据中心DC
i
,DC
i
={BI,CPU,GPU,VM,CO,RAM,HD,DB},其中BI、CPU、GPU、VM、CO、RAM、HD、DB分别表示数据中心的基础信息、CPU、GPU、虚拟机、容器、内存、硬盘、数据库;对于数据中心的每种资源类型分别定义不同的属性指标,显示资源的可利用情况,如表1:
[0019]表1:每种资源类型分别定义不同的属性指标
[0020][0021][0022]1.2:算力网络初始化
[0023]通过云服务商提供的API访问数据中心资源以实现数据中心接入;获取数据中心API访问权限,查阅API文档,了解如何使用API接口来获取所需的信息;使用API调用相应的资源接口,获取对应的信息;将获取的信息写入数据中心资源列表,完成算力网络初始化;
[0024]1.3:构建算力网络拓扑结构
[0025]读取云服务商文档或API获取数据中心之间的关联或连接关系信息;通过iperf工具测试两两数据中心之间的网络带宽和通信延迟;根据前面得到的连接关系信息、网络带宽和通信延迟,创建字典描述两两数据中心之间的关系,包括三个键值对:连接关系、网络带宽、通信延迟;根据字典绘制算力网络拓扑结构矩阵。
[0026]优选的,步骤2通过建立服务谱系实现,根据用户提供服务建立服务谱系。
[0027]服务谱系定义:在服务谱系中,每个子服务可以是前驱、后继服务或同时具备前驱、后继服务关系,可以帮助人们更好的理解服务之间的关系,从而可以更好地规划和组织服务。同时,也可以提高服务之间的可重复性和可维护性,因为在服务谱系中,每个服务都有一个明确定义的位置和关系,这可以使服务之间的依赖关系更加清晰明了。
[0028]同时,在服务谱系中还引入了一个新的值Cd,来表示子服务之间的通讯密度,初始阶段根据用户提交的服务序列文档读取初始值,并在后续的服务执行期间使用monitor_service()监控函数不断监控更新。
[0029]服务谱系实现的具体过程为:
[0030]2.1:读取用户提交的服务序列文档,获取每个子服务的前驱和后继服务,以及其对应的通信密度信息;
[0031]2.2:对于每个服务,遍历其每个子服务,并将其作为有向图的节点;
[0032本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于“存算分离”架构的算力网络任务调度方法,其特征在于,首先建立算力网络服务调度模型,包括服务列表、数据中心资源列表、服务谱系建立部分、服务请求解析部分、资源单元划分部分和多目标优化器,服务列表包含m个子服务,数据中心资源列表包含n个数据中心;调度方法包括如下步骤:步骤1:初始化数据、初始化算力网络环境;步骤2:提交多个子服务构成的算力网络服务,对算力网络服务进行解构;步骤3:解析服务请求,确定资源需求的依赖和关联关系,将资源需求划分资源需求单元;步骤4:使用NSGA

III算法实现多目标优化,进行最优匹配;步骤5:根据最优匹配完成调度。2.根据权利要求1所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤1包括:1.1:初始化数据数据中心表示为DC=[DC1,DC2,
……
DC
n
],其中n表示数据中心的个数;对于每个数据中心DC
i
,DC
i
={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,遍历其对每种资源的需求,将其各种属性需求加入到A
i,j
中,其中j是资源的索引;C、最终得到的A即为生成的二维矩阵:其中A
i,j
表示第i种服务对第j种资源的各种属性需求的列表。6.根据权利要求5所述的基于“存算分离”架构的算力网络任务调度方法,其特征在于,步骤4中将目标函数与约束条件设置为:优化目标1:传输时间f1(x)在服务谱系中,具有前后执行关系的子服务之间存在数据和信息的传递,当两个子服务在不同的数据中心处理时,数据传递需要经过l个数据中心,在服务的执行过程中,数据中心之间通信效率越高,信息和数据的传输时间越少,则其中x=(x1,x2,

,x
l
)表示服务进行数据与信息传递时经过的数据中心序列,从数据中心x
i
到x
i+1
的通信效率为的...

【专利技术属性】
技术研发人员:张虎许洪玉郭莹李克诚李珂欣丁奎业
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1