arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2010.04414cs.DCcs.LG
收藏

一种基于顶点割的多核系统负载均衡和并行优化框架

A Vertex Cut based Framework for Load Balancing and Parallelism Optimization in Multi-core Systems

Intel Labs(英特尔实验室);University of Southern California(南加利福尼亚大学)

Guixiang Ma, Yao Xiao, Theodore L. Willke, Nesreen K. Ahmed, Shahin Nazarian, Paul Bogdan

摘要:

高级应用(如机器学习)正在从基于多层感知器的简单模型(用于简单的图像识别)发展到更深入、更复杂的神经网络(用于自动驾驶车辆控制系统)。这些模型对内存和计算资源的消耗迅速增加,需要使用多核并行系统来扩展依赖它们的复杂新兴应用的执行。然而,在高性能计算机上运行的并行程序经常遭受数据通信瓶颈、有限的内存带宽以及由于不规则临界区而引起的同步开销。在本文中,我们提出了一个框架,以减少数据通信,提高这些应用程序在多核系统的可扩展性和性能。我们设计了一个顶点切割框架划分LLVM IR图到集群,同时考虑到集群之间的数据通信和工作负载平衡。首先,我们构建LLVM图编译成LLVM IR的高级程序,仪表化代码,以获得基本块的执行顺序和每个内存操作的执行时间,并分析动态LLVM跟踪中的数据依赖关系。接下来,我们制定了重量平衡的$p$方式顶点切割的问题,并提出了一个通用的和灵活的框架,其中四个不同的贪心算法,提出了解决这个问题。最后,我们提出了一个以内存为中心的线性时间复杂度的运行时映射,将顶点切割算法生成的集群映射到多核平台上。我们得出的结论是,我们的最佳算法WB-Libra分别为在多核平台上运行的8个和1024个集群提供了1.56倍和1.86倍的性能改进。

英文摘要:

High-level applications, such as machine learning, are evolving from simple models based on multilayer perceptrons for simple image recognition to much deeper and more complex neural networks for self-driving vehicle control systems.The rapid increase in the consumption of memory and computational resources by these models demands the use of multi-core parallel systems to scale the execution of the complex emerging applications that depend on them. However, parallel programs running on high-performance computers often suffer from data communication bottlenecks, limited memory bandwidth, and synchronization overhead due to irregular critical sections. In this paper, we propose a framework to reduce the data communication and improve the scalability and performance of these applications in multi-core systems. We design a vertex cut framework for partitioning LLVM IR graphs into clusters while taking into consideration the data communication and workload balance among clusters. First, we construct LLVM graphs by compiling high-level programs into LLVM IR, instrumenting code to obtain the execution order of basic blocks and the execution time for each memory operation, and analyze data dependencies in dynamic LLVM traces. Next, we formulate the problem as Weight Balanced $p$-way Vertex Cut, and propose a generic and flexible framework, wherein four different greedy algorithms are proposed for solving this problem. Lastly, we propose a memory-centric run-time mapping of the linear time complexity to map clusters generated from the vertex cut algorithms onto a multi-core platform. We conclude that our best algorithm, WB-Libra, provides performance improvements of 1.56x and 1.86x over existing state-of-the-art approaches for 8 and 1024 clusters running on a multi-core platform, respectively.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑