首页> 外文会议>Supercomputing, 1998. SC98. IEEE/ACM Conference on >A Hierarchical Load-Balancing Framework for Dynamic Multithreaded Computations
【24h】

A Hierarchical Load-Balancing Framework for Dynamic Multithreaded Computations

机译:动态多线程计算的分层负载平衡框架

获取原文

摘要

High-level parallel programming models supporting dynamic fine-grained threads in a global object space, are becoming increasingly popular for expressing irregular applications based on sophisticated adaptive algorithms and pointer-based data structures. However, implementing these multithreaded computations on scalable parallel machines poses significant challenges, particularly with respect to load-balancing. Load-balancing techniques must simultaneously incur low overhead to support fine-grained threads as well as be sophisticated enough to preserve data locality and thread execution priority. This paper presents a hierarchical framework which addresses these conflicting goals by viewing the computation as being made up of different thread subsets, each of which are load-balanced independently. In contrast to previous processor-centric approaches that have advocated the use of a uniform policy for load-balancing all threads in a computation, our framework allows each thread subset to be load-balanced using a policy most suited to its characteristics (e.g., locality or priority sensitivity). The framework consists of two parts: (i) language support which permits a programmer to tag different thread subsets with appropriate policies, and (ii) run-time support which synthesizes overall application load-balance by composing these individual policies. This framework has been implemented in the Illinois Concert runtime system, an execution platform for fine-grained concurrent object-oriented languages. Results for four large irregular applications on the Cray T3D and the SGI Origin 2000 demonstrate advantages of the hierarchical framework: performance improves by up to an order of magnitude as compared to using a uniform load-balancing policy.
机译:在全局对象空间中支持动态细粒度线程的高级并行编程模型,在基于复杂的自适应算法和基于指针的数据结构表示不规则应用程序方面正变得越来越流行。但是,在可伸缩并行机上实现这些多线程计算带来了巨大的挑战,尤其是在负载平衡方面。负载平衡技术必须同时产生低开销以支持细粒度的线程,并且必须足够复杂以保留数据局部性和线程执行优先级。本文提出了一个层次结构的框架,通过将计算视为由不同的线程子集组成,从而解决了这些冲突目标,每个线程子集均独立地进行了负载平衡。与先前提倡使用统一策略来对计算中的所有线程进行负载平衡的以处理器为中心的方法相比,我们的框架允许使用最适合其特征(例如局部性)的策略对每个线程子集进行负载平衡。或优先级敏感性)。该框架由两部分组成:(i)语言支持,允许程序员使用适当的策略标记不同的线程子集;(ii)运行时支持,通过组合这些单独的策略来综合总体应用程序负载平衡。该框架已在Illinois Concert运行时系统中实现,该系统是用于细粒度并发的面向对象语言的执行平台。在Cray T3D和SGI Origin 2000上的四个大型不规则应用程序的结果证明了分层框架的优势:与使用统一的负载平衡策略相比,性能提高了一个数量级。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号