【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在时间上并行执行静态任务图,这对于节点具有恒定程度和OUT度的图形是渐近最佳的。为了评估NABBIT的性能,我们实施了代表史密斯水族算法的动态程序,是二维网格上的不规则动态程序。我们的实验表明,当任务图节点映射到合理大小的块时,Nabbit展示了低开销和尺度以及比其他调度策略更好。在某些情况下使用任务图解决动态程序的NABBIT实现,以便在某些情况下占据划分和征服实现,以便直接解决相同的动态程序。最后,我们扩展了NABBIT实现和完成时间界,以处理动态任务图形,即,在运行时在飞行中创建节点和边缘的图形。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号