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)|2014. 09. 15.
Artificial Intelligence in Games참고 문헌 22인용 수 5
한 줄 요약

이 논문은 인텔 Xeon Phi 공처리기에서 토너먼트 수준의 몬테카를로 트리 검색(MCTS) 고급 프로그램인 Fuego의 첫 번째 실측 성능 분석을 제시한다. 이는 최대 240개 스레드로 확장된 성능을 다루며, 32개 스레드까지는 강력한 스케일링을 보이며 이전 시뮬레이션 결과를 확인하지만, 아키텍처의 복잡성, 스케줄링 민감도, 메모리 접근 패턴으로 인해 32개 스레드를 초과하면 성능 저하가 심각하게 발생함을 관찰한다. 이는 Xeon Phi에서 고성능을 달성하기 위해서는 단순 이식을 넘어서 알고리즘적이고 아키텍처적 이해가 필수적임을 시사한다.

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.

연구 동기 및 목표

  • 복잡한 AI 응용 프로그램—토너먼트 수준의 MCTS 고—의 실세계 성능을 인텔 Xeon Phi 공처리기에서 평가하기 위해.
  • 1에서 240개 스레드로의 확장이 실질적인 공유 메모리 다수코어 환경에서 성능에 어떤 영향을 미치는지 조사하기 위해.
  • 생산 수준의 MCTS 구현에서 스케줄링 선택, 메모리 접근 패턴, 캐시 동작 등 성능 저하 요인을 특정하기 위해.
  • 이전 시뮬레이션 연구와의 비교를 통해 시뮬레이션 기반 성능 예측의 정확도를 평가하기 위해.

제안 방법

  • 성능 평가를 위해 실제 Xeon Phi 7120P 공처리기에서 Fuego, 오픈소스 MCTS 고 프로그램을 실험 응용 프로그램으로 사용하였다.
  • 문제 크기의 영향을 분리하기 위해, 제어된 시간 제한(1초 및 10초/수)으로 9×9 고 보드에서의 자가대국을 사용하여 실험을 수행하였다.
  • 스레드 애피니티를 KMP_AFFINITY 환경 변수를 통해 조작하여 코어 바인딩이 성능에 미치는 영향을 평가하였다.
  • 성능은 게임 수초당 및 승률을 기준으로, 다양한 스레드 수(1–240)와 스케줄링 정책(균형, 콤팩트 등)에서 측정되었다.
  • 아키텍처적 차이를 분리하기 위해, Xeon Phi에서의 결과를 일반적인 Xeon CPU에서의 결과와 비교하였다.
  • 계산 작업량과 관련된 성능을 분석하기 위해 검색 트리 크기 및 시뮬레이션 처리량에 대한 세부 분석을 수행하였다.

실험 결과

연구 질문

  • RQ1최대 240개 스레드를 사용할 때 실질적인 MCTS 고 프로그램의 성능이 Xeon Phi에서 어떻게 스케일링되는가? 이는 이전 시뮬레이션 결과와 어떻게 비교되는가?
  • RQ2Xeon CPU에서는 기대되는 부드러운 감소 추세를 보이지만, Xeon Phi에서는 낮은 스레드 수(1–32)에서 비모노톤적이고 '봉우리' 형태의 성능 변화를 보이는 이유는 무엇인가?
  • RQ3스케줄링 정책과 스레드 애피니티가 복잡하고 메모리 집약적인 AI 워크로드에 대해 Xeon Phi에서 성능에 얼마나 큰 영향을 미치는가?
  • RQ432개 스레드를 초과한 후 스케일링이 제한되는 데 있어, 메모리 접근 패턴, 캐시 계층, 인터코어 연결 지연이 어떤 역할을 하는가?
  • RQ5높은 스레드 수(32–240)에서 관찰된 성능 저하를 문제 크기 조정이나 아키텍처 인식을 통해 완화할 수 있는가?

주요 결과

  • Xeon Phi에서 성능은 32개 스레드까지 잘 스케일링되며, 이는 이전 시뮬레이션 연구 결과와 거의 일치하여, 중간 수준의 스레드 수에서 MCTS에 대한 시뮬레이션 기반 성능 모델링의 타당성을 확인한다.
  • 32개 스레드를 초과하면 성능이 심각하게 악화되며, 240개 스레드 구성에서는 8개 스레드 구성의 승률의 30–40%에 불과하여 강력한 스케일링 한계를 보여준다.
  • Xeon Phi는 예상치 못한 성능 이상 현상(1–8개 스레드)을 보이며, 저속도 클럭에도 불구하고 Xeon CPU보다 성능이 열 劣하다. 이는 낮은 캐시 활용도와 낮은 정수 성능로 기인한다.
  • 성능은 스케줄링 정책에 매우 민감하며, 특히 낮은 스레드 수에서 콤팩트 스레드 애피니티가 균형 스레드 애피니티보다 성능을 향상시킨다.
  • Xeon Phi에서 수의 시간 제한을 1초에서 10초로 늘리면, 초기 성능 봉우리가 사라지고 Xeon CPU 결과와 더 유사하게 정렬되며, 이는 각 수당 시뮬레이션 작업이 부족해 자원 활용도가 낮아지는 것이 원인임을 드러낸다.
  • 이 연구는 Xeon Phi에서 양호한 성능을 달성하기 위해서는 인텔의 설계 목표를 넘어서 캐시 동작, 메모리 접근 패턴, 스케줄링에 대한 깊은 아키텍처 이해가 필요하다고 결론 내린다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.