Abstract
Multi-Core processors have become main-stream microprocessors in recent years. Servers based on these multi-core processors are widely adopted in High Performance Computing (HPC) and commercial business applications as well. These servers provide increased level of parallelism, thus can potentially boost the performance for applications. However, the shared resources among multiple cores on the same chip can become hot spots and act as performance bottlenecks. Therefore it is essential to optimize the use of shared resources for high performance and scalability for the multi-core servers. In this paper, we conduct experimental studies to analyze the positive and negative effects of the resource sharing on the performance of HPC applications. Through the analyses we also characterize the performance of multi-core servers.
멀티-코어 프로세서는 최근 마이크로프로세서 시장의 주류 제품으로 자리 잡았다. 이러한 멀티-코어 프로세서를 기반으로 하는 서버들은 고성능 컴퓨팅 분야와 상용 응용 프로그램 분야에서 그 사용 범위를 넓혀가고 있다. 멀티-코어 프로세서는 높아진 병렬성으로 인하여 응용 프로그램의 성능도 한 단계 더 높여줄 것으로 기대된다. 하지만, 칩 내부의 여러 코어들이 공유 자원들을 사용하면서 발생하는 경쟁과 충돌이 성능에 병목으로 작용하기도 한다. 그러므로 멀티-코어 서버 상에서 높은 성능과 확장성을 얻기 위해서는 공유 자원의 사용을 최적화 하는 것이 필수적이다. 본 논문에서는 코어들 간의 공유 자원 사용에서 발생하는 긍정적/부정적인 효과들이 실제 응용 프로그램의 성능에 어떻게 반영되는지 실험을 통하여 분석해 본다. 또한 이러한 분석을 통하여 멀티-코어 서버의 성능을 특성화한다.