통신 프로세스의 프로세서 친화도 결정을 위한 최적화 도구
An Optimization Tool for Determining Processor Affinity of Networking Processes
0
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
멀티코어 프로세서는 다수의 컴퓨팅 코어를 제공해줌으로써 응용 프로세스들의 병렬성을 증대시키고 전체 시스템의 처리율을 크게 향상시켜주고 있다. 최근 멀티코어의 구조적인 특징에 의해서 프로세서 친화도에 따른 네트워크 I/O 성능 차이를 관찰하고, 많은 연구자들이 최적의 프로세서 친화도를 결정하기 위한 연구를 진행하고 있다. 기존의 동적 프로세서 친화도 결정 기법은 응용 프로그램의 수정과 시스템 사양 변경에 투명하게 대처할 수 있으나, 각 응용 프로그램의 고유 특성과 경험을 통해서 수집할 수 있는 정보를 충분히 얻을 수 없다는 제한사항이 있다. 따라서 최적의 프로세서 친화도를 제공하기 어렵다. 본 연구는 프로세서 친화도 결정을 위해서 의미 있는 시스템 변수를 획득하고 최적의 친화도 결정을 지원하기 위한 도구를 제안한다. 구현된 도구는 동적 친화도 결정에 활용되어 그 한계를 극복하고 더 높은 네트워크 대역폭을 제공할 수 있음을 보인다.
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.
참고문헌 (15)
- V. Ahuja, "Cache-aware affinitization on commodity multicores for high-speed network flows", Proc. of ANCS'12, pp.39~48 (2012)
- Y. Li, "A Parallel Packet Processing Runtime System on Multi-core Network Processors", Proc. of DCABES 2012, pp.67~71 (2012)
- C.-H. Hong, "Cache-Aware Virtual Machine Scheduling on Multi-Core Architecture", IEICE Transactions on Information and Systems, E95-D(10), pp.2377~2392 (2012)
- J. D. Salehi, "The Effectiveness of Affinity-Based Scheduling in Multiprocessor Network Protocol Processing", 1996, pp.4(4), 516~530
- N. C. Hutchinson, "The x-kernel: An Architecture for Implementing Network Protocols", IEEE Transactions on Software Engineering, 17(1), pp.64~76 (1991)
- G. Regnier, "TCP Onloading for Data Center Servers", IEEE Computer, 37(11) (2004)
- A. Foong, "An In-Depth Analysis of the Impact of Processor Affinity on Network Performance", Proc. of IEEE ICON 2004, pp.244~250 (2004)
- B. Veal, "Performance Scalability of a Multi-Core Web Server", Proc. of ANCS'07 (2007)
- M. Ott, "autopin - Automated Optimization of Thread-to-Core Pinning on Multicore Systems", Proc. of MULTIPROG (2008)
- W. Shi, "Sequence-preserving adaptive load balancers", Proc. of ANCS, pp.143~152 (2006)
- H.-C. Jang, "MiAMI: Multi-core Aware Processor Affinity for TCP", IP over Multiple Network Interfaces, 2009, 73~82
- 장혜천, "멀티 코어 시스템에서 통신 프로세스의 동적 스케줄링", 정보과학회 컴퓨팅의 실제 논문지, 15(12), pp.968~972 (2009), 한국정보과학회
- "irqbalance"[URL]
- E. Lemoine, "Packet Classification in the NIC for Improved SMP-based Internet Servers", Proc. of ICN 2004 (2004)
- B. Chen, "Flexible Control of Parallelism in a Multiprocessor PC Router", Proc. of USENIX ATC 2001, pp.333~346 (2001)
