Á¤º¸°úÇÐȸ³í¹®Áö (Journal of KIISE)
ÇѱÛÁ¦¸ñ(Korean Title) |
¸ÖƼÄÚ¾î ȯ°æ¿¡¼ SEDA ±â¹Ý ¸Þ½ÃÁö 󸮱âÀÇ ¼öÇàÇÔ¼ö Ư¼ºÀ» °í·ÁÇÑ ¾²·¹µå ¸ÅÇÎ ±â¹ý |
¿µ¹®Á¦¸ñ(English Title) |
A Function-characteristic Aware Thread-mapping Strategy for an SEDA-based Message Processor in Multi-core Environments |
ÀúÀÚ(Author) |
°ÈñÀº
¹Ú¼º¿ë
ÀÌÀ±Á¤
Áö½Â¹è
Heeeun Kang
Sungyong Park
Younjeong Lee
Seungbae J
|
¿ø¹®¼ö·Ïó(Citation) |
VOL 44 NO. 01 PP. 0013 ~ 0020 (2017. 01) |
Çѱ۳»¿ë (Korean Abstract) |
¸Þ½ÃÁö 󸮱â¶õ Ŭ¶óÀ̾ðÆ®µé·ÎºÎÅÍ ¼ö½ÅµÈ ´Ù¾çÇÑ Æ÷¸ËÀÇ ¸Þ½ÃÁö¸¦ ¼ö½Å ¸Þ½ÃÁö º° ¾²·¹µå¸¦ »ý¼ºÇÏ¿© ó¸®ÇÏ°í ±× °á°ú¸¦ ¸ñÀûÁö·Î Àü´ÞÇÏ´Â ¼¹ö ¼ÒÇÁÆ®¿þ¾î¸¦ ¸»ÇÑ´Ù. º» ³í¹®¿¡¼´Â SEDA(The Stage Event Driven Architecture) ±¸Á¶ÀÇ ¸Þ½ÃÁö 󸮱⿡¼ °¢ ¼öÇàÇÔ¼ö°¡ CPU ¶Ç´Â IO bound Ư¼ºÀ» °¡Áú ¼ö ÀÖ´Ù´Â Á¡¿¡ Âø¾ÈÇÏ¿©, ¼öÇà ÇÔ¼ö º° Ư¼ºÀ» °í·ÁÇØ ¾²·¹µå¸¦ °¢ Äھ ¸ÅÇÎÇÏ´Â FC-TM(Function Characteristic aware Thread Mapping) ±â¹ýÀ» Á¦¾ÈÇÏ¿´´Ù. º» ³í¹®¿¡¼´Â ¸Þ½ÃÁö 󸮿¡ ÇÊ¿äÇÑ °¢ ¼öÇà ÇÔ¼öÀÇ Æ¯¼ºÀÌ Á¤ÀûÀÎ °ÍÀ¸·Î °¡Á¤ÇÏ¿´´Ù. µû¶ó¼ ¼öÇà °¡´ÉÇÑ ÇÔ¼ö¸¦ ¹Ì¸® ÇÁ·ÎÆÄÀϸµ(profiling)ÇÏ¿© Ư¼ºÀ» ºÐ¼®ÇÑ ÈÄ, ½ÇÁ¦ ¼ö½ÅµÇ´Â ¸Þ½ÃÁö¿¡ µû¶ó ´ÜÀ§ ½Ã°£´ç 󸮷®(throughput)ÀÌ ÃÖ´ë°¡ µÇµµ·Ï ¾²·¹µå¸¦ ¸ÅÇÎÇÏ¿´´Ù. ¼º´É Æò°¡ °á°ú IO boundÇÑ ÇÔ¼ö°¡ ƯÁ¤ ºñÀ² ÀÌ»ó ÀÖÀ» °æ¿ì, ±âÁ¸ ¿¬±¸º¸´Ù ´ÜÀ§ ½Ã°£´ç 󸮷®ÀÌ ÃÖ´ë 72%±îÁö Áõ°¡ÇÏ¿´´Ù.
|
¿µ¹®³»¿ë (English 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 messageprocessor 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.
|
Å°¿öµå(Keyword) |
SEDA
¸®´ª½º
¾²·¹µå¸ÅÇÎ
·Îµå¹ë·±½Ì
SEDA
LINUX
thread-mapping strategy
load-balancing
|
ÆÄÀÏ÷ºÎ |
PDF ´Ù¿î·Îµå
|