DOI QR코드

DOI QR Code

A Function-characteristic Aware Thread-mapping Strategy for an SEDA-based Message Processor in Multi-core Environments

멀티코어 환경에서 SEDA 기반 메시지 처리기의 수행함수 특성을 고려한 쓰레드 매핑 기법

  • 강희은 (서강대학교 컴퓨터공학과) ;
  • 박성용 (서강대학교 컴퓨터공학과) ;
  • 이윤정 (국방과학연구소 지휘통제체계단) ;
  • 지승배 (국방과학연구소 지휘통제체계단)
  • Received : 2016.08.10
  • Accepted : 2016.11.03
  • Published : 2017.01.15

Abstract

A message processor is server software that receives various message formats from clients, creates the corresponding threads to process them, and lastly delivers the results to the destination. Considering that each function of an SEDA-based message processor has its own characteristics such as CPU-bound or IO-bound, this paper proposes a thread-mapping strategy called "FC-TM" (function-characteristic aware thread mapping) that schedules the threads to the cores based on the function characteristics in multi-core environments. This paper assumes that message-processor functions are static in the sense that they are pre-defined when the message processor is built; therefore, we profile each function in advance and map each thread to a core using the information in order to maximize the throughput. The benchmarking results show that the throughput increased by up to a maximum of 72 % compared with the previous studies when the ratio of the IO-bound functions to the CPU-bound functions exceeds a certain percentage.

메시지 처리기란 클라이언트들로부터 수신된 다양한 포맷의 메시지를 수신 메시지 별 쓰레드를 생성하여 처리하고 그 결과를 목적지로 전달하는 서버 소프트웨어를 말한다. 본 논문에서는 SEDA(The Stage Event Driven Architecture) 구조의 메시지 처리기에서 각 수행함수가 CPU 또는 IO bound 특성을 가질 수 있다는 점에 착안하여, 수행 함수 별 특성을 고려해 쓰레드를 각 코어에 매핑하는 FC-TM(Function Characteristic aware Thread Mapping) 기법을 제안하였다. 본 논문에서는 메시지 처리에 필요한 각 수행함수의 특성이 정적인 것으로 가정하였다. 따라서 수행 가능한 함수를 미리 프로파일링(profiling)하여 특성을 분석한 후, 실제 수신되는 메시지에 따라 단위시간 당 처리량(throughput)이 최대가 되도록 쓰레드를 매핑하였다. 성능 평가 결과 IO bound한 함수가 특정 비율 이상 있을 경우, 기존 연구보다 단위시간당 처리량이 최대 72%까지 증가하였다.

Keywords

Acknowledgement

Grant : 소프트웨어 동적 재구성 및 고속 데이터 처리 최적 설계 효과 분석 연구

Supported by : 국방과학연구소

References

  1. Welsh, M., Culler, D., and Brewer, E., "SEDA: an architecture for well-conditioned, scalable internet services," ACM SIGOPS Operating Systems Review, Vol. 35, No. 5, pp. 230-243, Oct. 2001. https://doi.org/10.1145/502059.502057
  2. Welsh, M., An architecture for highly concurrent, well-conditioned internet services, PhD diss., UNIVERSITY of CALIFORNIA at BERKELEY, 2002.
  3. Completely Fair Scheduler, [Online]. Available: https://en.wikipedia.org/wiki/Completely_Fair_Scheduler
  4. Tousimojarad, A. and Vanderbauwhede, W., "An Efficient Thread Mapping Strategy for Multiprogramming on Manycore Processors," Parallel Computing: Accelerating Computational Science and Engineering(CSE), Advances in Parallel Computing, pp. 63-71, 2014.
  5. Liu, G., Park, J., and Marculescu, D., "Dynamic thread mapping for high-performance, power-efficient heterogeneous many-core systems," In 2013 IEEE 31st International Conference on Computer Design (ICCD), pp. 54-61, 2013.
  6. J. Aas, Understanding the Linux 2.6.8.1 CPU scheduler, pp. 1-38, Silicon Graphics, Inc., 2005.
  7. Linux Programmer's Manual SCHED(7), [Online]. Available: http://man7.org/linux/man-pags/man7/sched.7.html
  8. Chandra, D., Guo, F., Kim, S., and Solihin, Y., "Predicting Inter-Thread Cache Contention on a Chip Multi-Processor Architecture," In 11th International Symposium on High-Performance Computer Architecture, pp. 340-351, 2005.