【24h】

Executing task graphs using work-stealing

机译:使用工作窃取执行任务图

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

摘要

NABBIT is a work-stealing library for execution of task graphs with arbitrary dependencies which is implemented as a library for the multithreaded programming language Cilk++. We prove that Nabbit executes static task graphs in parallel in time which is asymptotically optimal for graphs whose nodes have constant in-degree and out-degree. To evaluate the performance of Nabbit, we implemented a dynamic program representing the Smith-Waterman algorithm, an irregular dynamic program on a two-dimensional grid. Our experiments indicate that when task-graph nodes are mapped to reasonably sized blocks, Nabbit exhibits low overhead and scales as well as or better than other scheduling strategies. The Nabbit implementation that solves the dynamic program using a task graph even manages in some cases to outperform a divide-and-conquer implementation for directly solving the same dynamic program. Finally, we extend both the Nabbit implementation and the completion-time bounds to handle dynamic task graphs, that is, graphs whose nodes and edges are created on the fly at runtime.
机译:NABBIT是一种用于窃取具有任意依赖性的任务图的工作窃取库,该库被实现为多线程编程语言Cilk ++的库。我们证明了Nabbit在时间上并行执行静态任务图,这对于节点的入度和出度恒定的图是渐近最优的。为了评估Nabbit的性能,我们实现了代表Smith-Waterman算法的动态程序,它是二维网格上的不规则动态程序。我们的实验表明,当将任务图节点映射到合理大小的块时,Nabbit会显示出较低的开销和规模,甚至比其他调度策略更好。使用任务图解决动态程序的Nabbit实现在某些情况下甚至可以胜过直接解决同一动态程序的分而治之的实现。最后,我们扩展了Nabbit实现和完成时间范围,以处理动态任务图,即,其节点和边在运行时动态创建的图。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号