Abstract
Multi-core processors can improve parallelism of application processes and thus can enhance the system throughput. Researchers have recently revealed that the processor affinity is an important factor to determine network I/O performance due to architectural characteristics of multi-core processors; thus, many researchers are trying to suggest a scheme to decide an optimal processor affinity. Existing schemes to dynamically decide the processor affinity are able to transparently adapt for system changes, such as modifications of application and upgrades of hardware, but these have limited access to characteristics of application behavior and run-time information that can be collected heuristically. Thus, these can provide only sub-optimal processor affinity. In this paper, we define meaningful system variables for determining optimal processor affinity and suggest a tool to gather such information. We show that the implemented tool can overcome limitations of existing schemes and can improve network bandwidth.
멀티코어 프로세서는 다수의 컴퓨팅 코어를 제공해줌으로써 응용 프로세스들의 병렬성을 증대시키고 전체 시스템의 처리율을 크게 향상시켜주고 있다. 최근 멀티코어의 구조적인 특징에 의해서 프로세서 친화도에 따른 네트워크 I/O 성능 차이를 관찰하고, 많은 연구자들이 최적의 프로세서 친화도를 결정하기 위한 연구를 진행하고 있다. 기존의 동적 프로세서 친화도 결정 기법은 응용 프로그램의 수정과 시스템 사양 변경에 투명하게 대처할 수 있으나, 각 응용 프로그램의 고유 특성과 경험을 통해서 수집할 수 있는 정보를 충분히 얻을 수 없다는 제한사항이 있다. 따라서 최적의 프로세서 친화도를 제공하기 어렵다. 본 연구는 프로세서 친화도 결정을 위해서 의미 있는 시스템 변수를 획득하고 최적의 친화도 결정을 지원하기 위한 도구를 제안한다. 구현된 도구는 동적 친화도 결정에 활용되어 그 한계를 극복하고 더 높은 네트워크 대역폭을 제공할 수 있음을 보인다.