题目:Static Algorithm Allocation With Duplication in Robotic Network Cloud Systems

Abstract

机器人网络可用于完成超出单个机器人能力的任务。在机器人网络中,机器人可以协同工作来完成共同的任务。云机器人技术使机器人能够受益于云的海量存储和计算能力。以往的研究主要集中在通过提前了解资源分配来最小化机器人检索资源的成本。在多个节点上复制算法可以减少执行任务所需的总时间。我们解决了应该复制哪些算法以及应该将副本放置在哪里以提高整体性能的问题。我们开发了一个程序来回答机器人网络云系统应该执行哪些算法以及是否应该重复这些算法以在所有机器人的总体任务执行时间方面实现最佳性能。我们提出的复制程序是最佳的,因为复制算法的数量最少,而结果为所有机器人提供了最短的总体完成时间。

Introduction

为了克服单一机器人能力的限制,通常使用多个机器人共同工作去完成任务。但如果只靠增加机器人数量的方式去增加机器人网络的能力会导致模型的复杂度提升以及系统的花费增加。云机器人是一种克服计算力以及机器人的性能限制的方式。

为了达到基于云的机器人系统的最优表现,我们需要去解决调度问题。这个问题涉及决定是否应将新到达的任务上传到云、在其中一个机器人上执行(边缘计算[14])或在服务器上处理(雾计算[15])。云机器人系统执行任务是通过执行、收集和组合几个称为算法的基本任务的结果来实现的。在机器人执行一项任务之前,该任务所需的所有算法都应该可用,并分配给系统的至少一个处理单元。当机器人被分配任务时,机器人请求与该任务相对应的算法的输出。我们的目标是确定应该将算法分配到哪里,以便无论哪个机器人正在执行任务,它都能在尽可能短的时间内检索算法所需的所有输出。

分配给多个处理器的算法称为重复算法。由于算法是相互依赖的,因此复制算法的输出更容易被分配到其后继算法的其他处理器使用。下面用一个例子来更好的说明算法重复的重要性。

云机器人的架构如图2所示。假设我们有一个只需要单个算法输出的任务。给定算法的输出,任务可以由任何边缘节点执行。假设该算法可以在每个边缘节点、雾节点和云节点上执行,平均执行时间分别为3秒、0.5秒和0.1秒。如果不考虑算法的重复,由于我们不知道哪个边缘节点发起执行任务的请求,因此可以通过静态算法分配来实现系统的最优性能[30]。结果是将算法分配给雾节点,其中边缘节点E1、E2和E3完成任务的平均时间分别为4.5、2.5和2.5秒。如果允许我们复制算法,则在边缘节点 E1 上复制算法会将边缘节点 E1 的平均任务完成时间减少到 3 秒。因此,以最小总时间完成任务的最优方案是将算法分配给雾节点F并在边缘节点E1上复制一次。