高级检索
    纪东, 魏阳杰, 李宇溪, 王义. ROS2多线程执行器上DAG任务的优先级分配方法[J]. 计算机研究与发展, 2023, 60(5): 1086-1098. DOI: 10.7544/issn1000-1239.202220741
    引用本文: 纪东, 魏阳杰, 李宇溪, 王义. ROS2多线程执行器上DAG任务的优先级分配方法[J]. 计算机研究与发展, 2023, 60(5): 1086-1098. DOI: 10.7544/issn1000-1239.202220741
    Ji Dong, Wei Yangjie, Li Yuxi, Wang Yi. Priority Assignment Method of DAG Task on ROS2 Multithreaded Executor[J]. Journal of Computer Research and Development, 2023, 60(5): 1086-1098. DOI: 10.7544/issn1000-1239.202220741
    Citation: Ji Dong, Wei Yangjie, Li Yuxi, Wang Yi. Priority Assignment Method of DAG Task on ROS2 Multithreaded Executor[J]. Journal of Computer Research and Development, 2023, 60(5): 1086-1098. DOI: 10.7544/issn1000-1239.202220741

    ROS2多线程执行器上DAG任务的优先级分配方法

    Priority Assignment Method of DAG Task on ROS2 Multithreaded Executor

    • 摘要: 随着机器人操作系统(robot operating system, ROS)的日益普及,系统也变得更加复杂,这类系统的计算平台正逐渐转变为多核心平台. 在ROS中,任务执行的顺序取决于底层任务调度策略和分配给任务的优先级,而最大限度地缩短所有任务的执行时间是并行系统任务调度的一个重要目标. 受强化学习在解决各种组合优化问题的最新研究成果的启发,在考虑ROS2多线程执行器的调度机制和执行约束的前提下,提出了一种基于强化学习的任务优先级分配方法,该方法提取了基于有向无环图形式表示的任务集的时间和结构特征,通过策略梯度和蒙特卡洛树搜索(Monte Carlo tree search, MCTS)方法有效地学习ROS2调度策略并给出合理的优先级设置方案,最终达到最小化并行任务的最大完工时间的目的. 通过模拟平台环境下随机生成的任务图以评估所提方法,结果表明所提方法明显优于基准方法. 作为一种离线分析方法,所提方法可以很容易地扩展到复杂的ROS中,在可接受的时间内找到接近最优的解决方案.

       

      Abstract: With the growing popularity of the robot operating system (ROS), these systems are becoming increasingly complex, and the computing platforms they run on are transforming into multi-core platforms. In ROS, the order of task execution is determined by the underlying task scheduling strategy and the priorities assigned to the tasks. Minimizing the execution time of all tasks is a crucial goal in task scheduling for parallel systems. To address this challenge, we propose a reinforcement learning-based task priority assignment method, inspired by recent achievements in using reinforcement learning for handling various combinatorial optimization problems and considering the scheduling mechanisms and execution constraints of ROS2 multi-threaded executors. This method extracts the temporal and structural features of the task set, which is represented in the form of a directed acyclic graph (DAG), and efficiently learns the ROS2 scheduling policy through a combination of policy gradient and Monte Carlo tree search (MCTS) methods, providing a reasonable priority setting scheme. The goal of minimizing the completion time of DAG parallel tasks is achieved through this method. The proposed method is evaluated by simulating randomly generated task graphs in a simulation platform environment. The results show that it outperforms the benchmark methods. As an off-line analysis method, the proposed method can be easily extended to more complex ROS and can find a near-optimal solution in an acceptable amount of time.

       

    /

    返回文章
    返回