一种分布式系统任务分配方法技术方案

技术编号:39809919 阅读:11 留言:0更新日期:2023-12-22 02:45
本发明专利技术提供了一种分布式系统任务分配方法

【技术实现步骤摘要】
一种分布式系统任务分配方法、系统、存储介质及设备


[0001]本专利技术涉及机器人
,尤其涉及机器人操作系统的分布式系统任务分配
,具体涉及一种基于
ROS2
的分布式系统任务分配方法

系统

存储介质及设备


技术介绍

[0002]ROS2(ROS

Robot Operating System
,机器人操作系统
))
是一个可以用于帮助开发者进行机器人应用软件开发的软件开发工具包,由于实时性高

免费开源

支持分布式计算通信等优点,受到了工业界及学术界的广泛好评,如今已广泛应用于众多领域,如工业机器人

服务机器人

自动驾驶等

[0003]在基于
ROS2
的分布式计算系统中,负载均衡是指在多个计算节点之间均匀分配工作负载,以提高系统的可靠性和实时性

通过负载均衡,各个计算设备均能够实现高效率资源利用,避免了资源空置和资源利用过载情况发生

[0004]目前基于
ROS2
的分布式系统任务分配方法中,主要存在以下缺点:
[0005]1、
粗粒度任务级别的分配存在资源抢占问题,导致关键任务的实时性和稳定性不能保证,从而导致系统风险
[0006]2、
任务分配方法中,由于任务分配不合理导致分布式系统中整体任务延时较高,不能满足业务实时性要求

[0007]因此,针对现有技术中的上述缺点

问题,需要提出一种优化的分布式系统任务分配方法,解决粗粒度任务级别的分配存在资源抢占问题,避免关键任务的实时性和稳定性得不到保证,从而导致系统风险,同时解决由于任务分配不合理导致分布式系统中整体任务延时较高导致不能满足业务实时性要求等问题


技术实现思路

[0008]有鉴于此,本专利技术的目的在于提出一种改进的尤其基于
ROS2
的分布式系统任务分配方法

系统

存储介质及设备,从而解决现有技术中前文所描述的问题

[0009]基于上述目的,一方面,本专利技术提供了一种分布式系统任务分配方法,其中该方法包括以下步骤:
[0010]根据设备和分布式系统任务的各个业务的测试情况测评各个业务的资源使用情况,以对各个业务的计算需求进行量化;
[0011]将业务中的各个
ROS2
节点进行聚类,根据通信关系将
ROS2
节点划分为多个不同类别,并基于各个业务的资源使用情况及量化的计算需求确定节点相关性并判断不同类别的资源密集程度;
[0012]将不同类别中的相关节点置于
ROS2
容器中和
/
或置于同一设备,从而降低节点间通信延时;
[0013]针对不同类别中的资源密集型类别进行
CPU
核绑定并将设备的资源进行划分使得各部分资源仅用于规划任务或控制任务;
[0014]根据分布式系统任务的重要性和实时性需求为各个不同类别的执行线程分配线程优先级

[0015]在根据本专利技术的分布式系统任务分配方法的一些实施例中,根据设备和分布式系统任务的各个业务的测试情况测评各个业务的资源使用情况,以对各个业务的计算需求进行量化进一步包括:
[0016]在分布式系统的计算设备层进行不同任务的单元测试,依据测试结果,明确各个任务的
CPU
利用率

内存使用量

带宽使用需求

[0017]在根据本专利技术的分布式系统任务分配方法的一些实施例中,将业务中的各个
ROS2
节点进行聚类,根据通信关系将
ROS2
节点划分为多个不同类别,并基于各个业务的资源使用情况及量化的计算需求确定节点相关性并判断不同类别的资源密集程度进一步包括:
[0018]基于
ROS2
不同的应用任务组成计算图,所述计算图描述
ROS2
节点间的通信和数据流向,针对所述计算图进行节点的聚类,聚类的类别与分布式系统的计算节点数量相同,并将聚类后不同类别的
ROS2
节点分配在不同的计算设备上

[0019]在根据本专利技术的分布式系统任务分配方法的一些实施例中,将不同类别中的相关节点置于
ROS2
容器中和
/
或置于同一设备,从而降低节点间通信延时进一步包括:
[0020]将不同节点通信延时高于节点时效阈值的节点使用
ROS2
容器将节点进行组合,使得节点间通信配置为进程内通信

[0021]在根据本专利技术的分布式系统任务分配方法的一些实施例中,将不同类别中的相关节点置于
ROS2
容器中和
/
或置于同一设备,从而降低节点间通信延时进一步包括:
[0022]对于不同设备不同进程的通信延时高于设备时效阈值的节点,将不同的节点分配到同一设备下,使得节点间通信配置为相同设备内的节点通信

[0023]在根据本专利技术的分布式系统任务分配方法的一些实施例中,针对不同类别中的资源密集型类别进行
CPU
核绑定并将设备的资源进行划分使得各部分资源仅用于规划任务或控制任务进一步包括:
[0024]根据资源密集程度,将第一资源密集型类别与
CPU
的第一部分核绑定,将第二资源密集型类别与
CPU
的第二部分核绑定

[0025]在根据本专利技术的分布式系统任务分配方法的一些实施例中,针对不同类别中的资源密集型类别进行
CPU
核绑定并将设备的资源进行划分使得各部分资源仅用于规划任务或控制任务进一步包括:
[0026]通过控制组群将设备的
CPU、
内存进行分区,以划分为两个资源部分,第一资源部分配置为用于规划类别任务,第二资源部分配置为用于控制类别任务

[0027]在根据本专利技术的分布式系统任务分配方法的一些实施例中,为执行线程预设执行时长;
[0028]监控执行线程的执行情况并获取执行线程对应的预设执行时长;
[0029]若在预设执行时长对应的执行时长结束时未接收到返回的执行线程执行完成的确认信息则发送超时告警信息;
[0030]超时告警信息用于提示用户是否终止目标工作线程;以及
[0031]获取分布式设备发送的异常告警日志并根据异常告警日志统计每个统计周期的告警概率;
[0032]根据每个统计周期的告警概率生成告警概率曲线,告警概率曲线为该统计周期内的异常告警的总数与该统计周期对应的时长之间的比值...

【技术保护点】

【技术特征摘要】
1.
一种分布式系统任务分配方法,其特征在于,包括以下步骤:根据设备和分布式系统任务的各个业务的测试情况测评各个业务的资源使用情况,以对各个业务的计算需求进行量化;将业务中的各个
ROS2
节点进行聚类,根据通信关系将
ROS2
节点划分为多个不同类别,并基于各个业务的资源使用情况及量化的计算需求确定节点相关性并判断不同类别的资源密集程度;将不同类别中的相关节点置于
ROS2
容器中和
/
或置于同一设备,从而降低节点间通信延时;针对不同类别中的资源密集型类别进行
CPU
核绑定并将设备的资源进行划分使得各部分资源仅用于规划任务或控制任务;根据分布式系统任务的重要性和实时性需求为各个不同类别的执行线程分配线程优先级
。2.
根据权利要求1所述的方法,其特征在于,所述根据设备和分布式系统任务的各个业务的测试情况测评各个业务的资源使用情况,以对各个业务的计算需求进行量化进一步包括:在分布式系统的计算设备层进行不同任务的单元测试,依据测试结果,明确各个任务的
CPU
利用率

内存使用量

带宽使用需求
。3.
根据权利要求1或2所述的方法,其特征在于,所述将业务中的各个
ROS2
节点进行聚类,根据通信关系将
ROS2
节点划分为多个不同类别,并基于各个业务的资源使用情况及量化的计算需求确定节点相关性并判断不同类别的资源密集程度进一步包括:基于
ROS2
不同的应用任务组成计算图,所述计算图描述
ROS2
节点间的通信和数据流向,针对所述计算图进行节点的聚类,聚类的类别与分布式系统的计算节点数量相同,并将聚类后不同类别的
ROS2
节点分配在不同的计算设备上
。4.
根据权利要求1或2所述的方法,其特征在于,所述将不同类别中的相关节点置于
ROS2
容器中和
/
或置于同一设备,从而降低节点间通信延时进一步包括:将不同节点通信延时高于节点时效阈值的节点使用
ROS2
容器将节点进行组合,使得节点间通信配置为进程内通信;以及对于不同设备不同进程的通信延时高于设备时效阈值的节点,将不同的节点分配到同一设备下,使得节点间通信配置为相同设备内的节点通信
。5.
根据权利要求1或2所述的方法,其特征在于,所述针对不同类别中的资源密集型类别进行
CPU
核绑定并将设备的资源进行划分使得各部分资源仅用于规划任务或控制任务进一...

【专利技术属性】
技术研发人员:刘宏刚张清
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1