首页> 外文期刊>Journal of Parallel and Distributed Computing >Limiting the memory footprint when dynamically scheduling DAGs on shared-memory platforms
【24h】

Limiting the memory footprint when dynamically scheduling DAGs on shared-memory platforms

机译:在共享内存平台上动态调度DAG时,限制内存占用量

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

摘要

Scientific workflows are frequently modeled as Directed Acyclic Graphs (DAGs) of tasks, which represent computational modules and their dependences in the form of data produced by a task and used by another one. This formulation allows the use of runtime systems which dynamically allocate tasks onto the resources of increasingly complex computing platforms. However, for some workflows, such a dynamic schedule may run out of memory by processing too many tasks simultaneously. This paper focuses on the problem of transforming such a DAG to prevent memory shortage, and concentrates on shared memory platforms. We first propose a simple model of DAGs which is expressive enough to emulate complex memory behaviors. We then exhibit a polynomial-time algorithm that computes the maximum peak memory of a DAG, that is, the maximum memory needed by any parallel schedule. We consider the problem of reducing this maximum peak memory to make it smaller than a given bound. Our solution consists in adding new fictitious edges, while trying to minimize the critical path of the graph. After proving that this problem is NP-complete, we provide an ILP solution as well as several heuristic strategies that are thoroughly compared by simulation on synthetic DAGs modeling actual computational workflows. We show that on most instances we are able to decrease the maximum peak memory at the cost of a small increase in the critical path, thus with little impact on the quality of the final parallel schedule. (C) 2019 Elsevier Inc. All rights reserved.
机译:科学工作流通常被建模为任务的有向无环图(DAG),以任务产生的数据的形式表示计算模块及其依赖关系,并被另一任务使用。这种表述允许使用运行时系统,该系统将任务动态分配到日益复杂的计算平台的资源上。但是,对于某些工作流程,这样的动态计划可能会通过同时处理太多任务而耗尽内存。本文关注于转换此类DAG以防止内存不足的问题,并将重点放在共享内存平台上。我们首先提出一个DAG的简单模型,该模型具有足够的表现力来模拟复杂的内存行为。然后,我们展示一种多项式时间算法,该算法可计算DAG的最大峰值内存,即任何并行调度所需的最大内存。我们考虑减少最大峰值内存以使其小于给定范围的问题。我们的解决方案包括添加新的虚拟边,同时尝试最小化图形的关键路径。在证明此问题是NP完全问题之后,我们提供了ILP解决方案以及几种启发式策略,通过对模拟实际计算工作流程的合成DAG进行仿真,可以对这些策略进行彻底比较。我们表明,在大多数情况下,我们能够以临界路径的少量增加为代价减少最大峰值内存,因此对最终并行调度的质量影响很小。 (C)2019 Elsevier Inc.保留所有权利。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号