首页> 外文期刊>IEEE Transactions on Parallel and Distributed Systems >On parallelizing the multiprocessor scheduling problem
【24h】

On parallelizing the multiprocessor scheduling problem

机译:关于并行化多处理器调度问题

获取原文
获取原文并翻译 | 示例
           

摘要

Existing heuristics for scheduling a node and edge weighted directed task graph to multiple processors can produce satisfactory solutions but incur high time complexities, which tend to exacerbate in more realistic environments with relaxed assumptions. Consequently, these heuristics do not scale well and cannot handle problems of moderate sizes. A natural approach to reducing complexity, while aiming for a similar or potentially better solution, is to parallelize the scheduling algorithm. This can be done by partitioning the task graphs and concurrently generating partial schedules for the partitioned parts, which are then concatenated to obtain the final schedule. The problem, however, is nontrivial as there exists dependencies among the nodes of a task graph which must be preserved for generating a valid schedule. Moreover, the time clock for scheduling is global for all the processors (that are executing the parallel scheduling algorithm), making the inherent parallelism invisible. In this paper, we introduce a parallel algorithm that is guided by a systematic partitioning of the task graph to perform scheduling using multiple processors. The algorithm schedules both the tasks and messages, and is suitable for graphs with arbitrary computation and communication costs, and is applicable to systems with arbitrary network topologies using homogeneous or heterogeneous processors. We have implemented the algorithm on the Intel Paragon and compared it with three closely related algorithms. The experimental results indicate that our algorithm yields higher quality solutions while using an order of magnitude smaller scheduling times. The algorithm also exhibits an interesting trade-off between the solution quality and speedup while scaling well with the problem size.
机译:现有的用于将节点和边缘加权有向任务图调度到多个处理器的启发式方法可以产生令人满意的解决方案,但会产生较高的时间复杂度,在宽松的假设下,这种情况在更现实的环境中会加剧。因此,这些启发式方法无法很好地扩展,无法解决中等大小的问题。在寻求类似或潜在更好解决方案的同时,降低复杂性的自然方法是并行化调度算法。这可以通过对任务图进行分区并同时为已分区的零件生成局部计划来完成,然后将这些计划连接起来以获得最终计划。然而,该问题并非无关紧要,因为任务图的节点之间存在依赖关系,必须保留这些依赖关系以生成有效时间表。而且,用于调度的时钟对于所有正在执行并行调度算法的处理器都是全局的,从而使固有的并行性不可见。在本文中,我们介绍了一种并行算法,该算法以任务图的系统划分为指导,以使用多个处理器执行调度。该算法既可以调度任务也可以调度消息,并且适用于具有任意计算和通信成本的图形,并且适用于具有使用同构或异构处理器的任意网络拓扑的系统。我们已经在Intel Paragon上实现了该算法,并将其与三种密切相关的算法进行了比较。实验结果表明,我们的算法在使用较小数量级的调度时间的同时,产生了更高质量的解决方案。该算法还显示了解决方案质量和加速之间的有趣折衷,同时可以很好地按问题大小进行缩放。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号