【24h】

A Locality-Conscious Load-Balancing Based on Negotiations in Dynamic Unstructured Mesh Computations

机译:动态非结构网格计算中基于协商的局域性负载均衡

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

We propose an open-architecture multi-agent load-balancing capability that currently makes use of a leading geometric mesh partitioning engine (Chaco) at runtime. At runtime, mesh solver application may initially create hundreds of light-weight threads, each handling a small submesh by calling Chaco partitioning engine in a preprocessing stage. The multi-agent is a set of SMP-based load balancers (agents) that run on the same multiprocessor but do not share any data structure with the parallel application solver threads. These agents monitor and collect system and solver data frequently from the multi-threaded parallel application solver. The proposed load-balancer controls dynamic changes in mesh sizes (adaptive unstructured mesh) by dividing out grown threads into smaller sub-domains served by smaller lightweight threads through further calls to the Chaco library. These calls deal only with sub-domains of much smaller mesh sizes than the complete application mesh. This divide-and-conquer process is deemed necessary when a sub-domain (submesh) served by a solver thread grows out beyond certain threshold limits and thus creates an imbalance. The multi-agents use information extracted at runtime to continuously monitor and adjust the workload imbalance of the application's light-weight threads through negotiations. Through negotiation among each other, agents incrementally develop plans to migrate application threads around the SMPs or for an application thread to call the partitioning library and spawn a number of application threads, each having a smaller mesh partition- the divide-and-conquer step. Migrating threads along with their local data maintains locality. Monitored system data include: processor idle time, memory usage, remote memory accesses, communication cost, and other load information.
机译:我们提出了一种开放式结构的多主体负载平衡功能,该功能当前在运行时使用领先的几何网格划分引擎(Chaco)。在运行时,网格求解器应用程序最初可能会创建数百个轻量级线程,每个线程都通过在预处理阶段调用Chaco分区引擎来处理小的子网格。多代理是一组基于SMP的负载均衡器(代理),它们在同一多处理器上运行,但不与并行应用程序求解器线程共享任何数据结构。这些代理经常从多线程并行应用程序求解器监视和收集系统和求解器数据。所提出的负载平衡器通过进一步调用Chaco库,将增长的线程划分为较小的轻量级线程服务的较小子域,从而控制了网格大小(自适应非结构​​化网格)的动态变化。这些调用仅处理比完整的应用程序网格小得多的网格大小的子域。当求解程序线程所服务的子域(submesh)超出特定阈值限制并因此产生不平衡时,认为这种分而治之的过程是必要的。多代理使用运行时提取的信息通过协商来连续监视和调整应用程序轻量级线程的工作负载不平衡。通过彼此之间的协商,代理逐步制定了计划,以在SMP周围迁移应用程序线程,或者为应用程序线程调用分区库并生成许多应用程序线程,每个应用程序线程都具有较小的网格分区(即“分而治之”步骤)。迁移线程及其本地数据可保持本地性。监视的系统数据包括:处理器空闲时间,内存使用情况,远程内存访问,通信成本和其他负载信息。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号