멀티 코어 시스템에서 통신 프로세스의 동적 스케줄링

Dynamic Scheduling of Network Processes for Multi-Core Systems

  • 장혜천 (건국대학교 컴퓨터공학부) ;
  • 진현욱 (건국대학교 컴퓨터공학부) ;
  • 김학영 (한국전자통신연구원 인터넷 플랫폼 연구부)
  • 발행 : 2009.12.15

초록

멀티 코어 프로세서는 현재 많은 고성능 서버에 적용되어 사용되고 있다. 최근 이들 서버는 점차 높은 네트워크 대역폭 활용을 요구하고 있다. 이러한 요구를 만족시키기 위해서는 멀티 코어를 효율적으로 활용하여 네트워크 처리율을 향상시키는 방안이 필요하다. 그러나 현재 운영체제들은 멀티 코어 시스템을 멀티 프로세서 환경과 거의 동일하게 다루고 있으며 아직 멀티 코어의 고유 특성을 고려한 성능 최적화 시도는 미흡한 상태이다. 이러한 문제를 해결하기 위해서 본 논문에서는 멀티 코어의 특성을 최대한으로 고려하여 프로세스 스케줄링을 결정함으로써 통신 성능을 향상시키는 방안에 대해서 연구한다. 제안되는 프로세스 스케줄링은 멀티 코어 프로세서의 캐쉬 구조, 프로세스의 통신 집중도, 그리고 각 코어의 부하를 기반으로 해당 프로세스에게 최적의 코어를 결정하고 스케줄링한다. 제안된 기법은 리눅스 커널에 구현되었으며 측정 결과는 최신 리눅스 커널의 네트워크 처리율을 20%까지 향상시켰으며 프로세서 자원은 55% 더 절약할 수 있음을 보인다.

The multi-core processors are being widely exploited by many high-end systems. With significant advances in processor architecture, the network band-width required on the high-end systems is increasing drastically. It is therefore highly desirable to manage multiple cores efficiently to achieve high network band-width with minimum resource requirements. Modern operating systems, however, still have significant design and optimization space to leverage the network performance over multi-core systems. In this paper, we suggest a novel networking process scheduling scheme, which decides the best processor affinity of networking processes based on the processor cache layout, communication intensiveness, and processor loads. The experimental results show that the scheduling scheme implemented in the Linux kernel can improve the network bandwidth and the effectiveness of processor utilization by 20% and 59%, respectively.

키워드

참고문헌

  1. Intel Multi-Core, http://www.intel.com/multi-core/index.html
  2. AMD Multi-Core, http://multicore.amd.com/
  3. IEEE, IEEE Std 802.3ae-2002, Media Access Control (MAC) Parameters, Physical Layers, and Management Parameters for 10Gbps Operation, August 2002
  4. lnfiniBand Trade Association, http//wwwinfinibandta.org
  5. Myricom Inc., http://www.myri.com
  6. EthernetlEEE P802.3ba 40Gb/s and 100Gb/s Ether-net Task Force, grouper.ieee.org/groups/802/3/ba/index.html
  7. H.-W. Jin, Y.-J. Vun and H.-C. Jang, “TCP/IP Performance Near I/O Bus Bandwidth on Multi-Core Systems: 10-Gigabit Ethernet vs. Multi-Port Gigabit Ethernet,” In Proc. of International Work-shop on Parallel Programming Models and Sys-tems Software for High-End Computing (P2S2), September 2008 https://doi.org/10.1109/ICPP-W.2008.33
  8. A. Foong J. Fung, and D. Newell, “An In-Depth Analysis of the Impact of Processor Affinity on Network Performance,” In Proc. of IEEE Interna-tional Conference on Networks (ICON 2004), pp.244-250, November 2004 https://doi.org/10.1109/ICON.2004.1409136
  9. T. Scogland, P. Balaji, W. Feng and G. Naraya-naswamy, “Asymmetric Interactions in Symmetric Multi-core Systems: Analysis, Enhancements and Evaluation,” In Proc. of IEEE/ACM International Conference for High Performance Computing, Net-working, Storage and Analysis (SC), November 2008 https://doi.org/10.1109/SC.2008.5219748
  10. D.-S. Youn, H.-K. Park, and J.M Cboi, “Memory Affinity based Load Balancing Model for NUMA System,” In Proc. of the KIISE Korea Computer Congress, vol.35, no.1(B), pp.346-350, 2008
  11. H.-C. Jang, and H.-W. Jin, "Impact of Process Scheduling on Network Performance over Multi-Core Systems," In Proc. of the KIPS korea Infor-mation Processing Society, vol.16, no.1, April 2009
  12. J. D. Salehi, J. F. Kurose, and D. Towsley, "The Effectiveness of Affinity-Based Scheduling in Multi-processor Network Protocol Processing," IEEE/ACM Transactions on Networking, vol.4, no.4, pp.516-530, August 1996 https://doi.org/10.1109/90.532862
  13. N. C. Hutchinson and L. L. Peterson, “The x-kernel: An Architecture for Implementing Network Protocols,” IEEE Transactions on Software Engi-neering, vol.17, no.1, pp.64-76, January 1991 https://doi.org/10.1109/32.67579
  14. G. Regnier, S. Makineni, R. Ilikkal, R. Iyer, D. Minturn, R. Huggahalli, D. Newell, L. Cline, and A. Foong, 'TCP Onloading for Data Center Ser-vers,' IEEE Computer, vol.37, no.11, November 2004 https://doi.org/10.1109/MC.2004.223
  15. A. Foong J. Fung, and D. Newell, “An In-Depth Analysis of the Impact of Processor Affinity on Network Performance,” Proceedings of IEEE Inter-national Conference on Networks (ICON 2004), pp.244-250, November 2004 https://doi.org/10.1109/ICON.2004.1409136
  16. irqbalance, http://www.irqbalance.org/
  17. E. Lemoine, C. Pham, and L. Lefevre, 'Packet Classification in the NIC for Improved SMP-based Internet Servers,' Proceedings of International Con-ference on Networking (ICN 2004), February 2004
  18. B. Chen and R. Morris, “Flexible Control of Parallelism in a Multiprocessor PC Router,” Pro-ceedings of USENIX Annual Technical Conference (USENIX 2001), pp.333-346, 2001