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