Skip to main content
QUICK REVIEW

[论文解读] Performance analysis of a 240 thread tournament level MCTS Go program on the Intel Xeon Phi

S. Ali Mirsoleimani, Aske Plaat|arXiv (Cornell University)|Sep 15, 2014
Artificial Intelligence in Games参考文献 22被引用 5
一句话总结

本文首次对在英特尔至强融核协处理器上运行的锦标赛级蒙特卡洛树搜索(MCTS)围棋程序 Fuego 进行了实证性能分析,支持高达 240 个线程的扩展。结果表明,在 32 个线程以内实现良好扩展——与先前的模拟结果一致——但超过 32 个线程后,由于架构复杂性、调度敏感性以及内存访问模式的影响,性能显著下降,凸显出在至强融核处理器上实现高性能需要超越简单移植的深层次算法与架构理解。

ABSTRACT

In 2013 Intel introduced the Xeon Phi, a new parallel co-processor board. The Xeon Phi is a cache-coherent many-core shared memory architecture claiming CPU-like versatility, programmability, high performance, and power efficiency. The first published micro-benchmark studies indicate that many of Intel's claims appear to be true. The current paper is the first study on the Phi of a complex artificial intelligence application. It contains an open source MCTS application for playing tournament quality Go (an oriental board game). We report the first speedup figures for up to 240 parallel threads on a real machine, allowing a direct comparison to previous simulation studies. After a substantial amount of work, we observed that performance scales well up to 32 threads, largely confirming previous simulation results of this Go program, although the performance surprisingly deteriorates between 32 and 240 threads. Furthermore, we report (1) unexpected performance anomalies between the Xeon Phi and Xeon CPU for small problem sizes and small numbers of threads, and (2) that performance is sensitive to scheduling choices. Achieving good performance on the Xeon Phi for complex programs is not straightforward; it requires a deep understanding of (1) search patterns, (2) of scheduling, and (3) of the architecture and its many cores and caches. In practice, the Xeon Phi is less straightforward to program for than originally envisioned by Intel.

研究动机与目标

  • 评估复杂人工智能应用——锦标赛级 MCTS 围棋程序——在英特尔至强融核协处理器上的实际性能。
  • 研究在真实共享内存的多核环境中,从 1 到 240 个线程的扩展对性能的影响。
  • 识别在生产级 MCTS 实现中,调度选择、内存访问模式和缓存行为等性能瓶颈。
  • 将真实硬件结果与先前的模拟研究进行对比,评估基于模拟的性能预测的保真度。

提出的方法

  • 本研究使用 Fuego 作为测试应用,Fuego 是一个开源的 MCTS 围棋程序,用于在物理的至强融核 7120P 协处理器上进行性能评估。
  • 实验通过在 9×9 围棋棋盘上进行自对弈,并设置受控的时间限制(每步 1 秒和 10 秒),以隔离问题规模对性能的影响。
  • 通过 KMP_AFFINITY 环境变量操控线程亲和性,以评估核心绑定对性能的影响。
  • 性能以每秒对局数和不同线程数(1–240)及调度策略(均衡、紧凑等)下的胜率进行测量。
  • 作者将至强融核处理器上的结果与传统至强 CPU 上的结果进行对比,以隔离架构差异的影响。
  • 对搜索树大小和模拟吞吐量进行了详细分析,以关联性能与计算工作负载。

实验结果

研究问题

  • RQ1当使用高达 240 个线程时,真实 MCTS 围棋程序在至强融核处理器上的性能如何扩展?与模拟结果相比有何差异?
  • RQ2为何在低线程数(1–32)时,至强融核处理器上的性能表现出非单调的、呈山峰状的趋势,与至强 CPU 上预期的平滑下降趋势相反?
  • RQ3对于复杂、内存密集型的人工智能工作负载,调度策略和线程亲和性在至强融核处理器上的性能影响有多大?
  • RQ4内存访问模式、缓存层次结构以及互连延迟在至强融核处理器上超过 32 个线程后限制可扩展性的角色是什么?
  • RQ5通过调整问题规模或增强对架构的认知,能否缓解在高线程数(32–240)时观察到的性能下降?

主要发现

  • 在至强融核处理器上,性能可良好扩展至 32 个线程,与先前模拟研究结果高度一致,证实了在中等线程数下,基于模拟的性能建模对 MCTS 的有效性。
  • 超过 32 个线程后,性能显著下降,240 线程配置的胜率仅达到 8 线程配置的 30–40%,表明存在强烈的可扩展性限制。
  • 在低线程数(1–8)时,至强融核处理器表现出意外的性能异常,尽管时钟频率较低,但性能仍劣于至强 CPU,归因于缓存利用率低下和整数性能不足。
  • 性能对调度策略高度敏感:使用紧凑线程亲和性相比均衡亲和性能显著提升性能,尤其在低线程数时更为明显。
  • 在至强融核处理器上,将每步时间限制从 1 秒提高到 10 秒后,初始性能峰谷现象消失,结果更接近至强 CPU,揭示出每步模拟工作量不足导致的资源利用率低下。
  • 本研究得出结论:在至强融核处理器上实现高性能,需要对架构有深入理解——尤其是缓存行为、内存访问模式和调度策略——这超出了英特尔设计目标所预期的范围。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。