Browse > Article

Time-slice Donation Technique for Improving the Performance of IPC in Linux  

Lee, Ji-Hoon (성균관대학교 전자전기컴퓨터공학과)
Youn, Hee-Yong (성균관대학교 전자전기컴퓨터공학과)
Abstract
Inter-process communication (IPC), which is a technique that enables exchanging data among multiple processes, is commonly used not only in user applications but also in system processes. For this reason, the performance of IPC highly influences the performance of whole computer system. Especially, heavy overload on a single server process caused by IPC requests from multiple client processes, easily results overall slowdown of IPC response time. Here, to deal with the problem stated above, the time-slice donation technique which is adapted in L4 microkernel is analyzed and enhanced for reducing latency of IPC response time and implemented on linux kernel for actual performance evaluation. While trying to maintain the additional overhead as least as possible, the experiment shows that the use of this technique enhances the performance of IPC multiple times of existing technique under certain circumstances.
Keywords
Inter-process communication; IPC; time-slice donation; process scheduling;
Citations & Related Records
연도 인용수 순위
  • Reference
1 U. Steinberg, J. Wolter, and H. H'artig, "Fast component interaction for real-time systems," In Proc. 17th Euromicro Conference on Real-Time Systems (ECRTS'05), Palma de Mallorca, Spain, July 2005.
2 Marzi, H., Hughes, L., Yanting Lin, "Embedded systems with improved Interprocess Communication design," Industrial Informatics, 2009. INDIN 2009. 7th IEEE International Conference on 23-26 June 2009, pp.200-203.
3 Tabata, T., Fukutomi, K, Taniguchi, H., "Proposal of Instant Synchronous Interprocess Communication," Convergence and Hybrid Information Technology, 2008. ICCIT '08. Third International Conference on vol.2, 11-13 Nov. 2008, pp.146-149.
4 Mirtaheri, S.L., Khaneghah, E.M., Sharifi, M., "A Case for Kernel Level Implementation of Inter Process Communication Mechanisms," Information and Communication Technologies: From Theory to Applications, 2008. ICTTA 2008. 3rd International Conference on 7-11 April 2008, pp.1-7.
5 L4Ka Team. L4Ka::Pistachio kernel. http://l4ka.org/projects/pistachio/.
6 J. Liedtke, K Elphinstone, S. Sch"onberg, H. H'artig, G. Heiser, N. Islam, and T. Jaeger, "Achieved IPC performance (still the foundation for extensibility)," In 6th Workshop on Hot Topics in Operating Systems (HotOS), pp.28-31, Chatham (Cape Cod), MA, May 1997.
7 J. Liedtke, "Improving IPC by kernel design," Proceedings of the fourteenth ACM symposium on Operating systems principles (SOSP '93), pp.175-188, 1993.
8 S. Ruocco., "Real-time programming and L4 micro-kernels," In Proceedings of the 2006 Workshop on Operating System Platforms for Embedded Real-Time Applications, Dresden, Germany, July 2006.
9 Bryan Ford, Sai Susarla, "CPU inheritance scheduling," Proceedings of the second USENIX symposium on Operating systems design and implementation, pp.91-105, October 29-November 01, 1996, Seattle, Washington, United States.
10 Elphinstone, K, Greenaway, D., Ruocco, S., "Lazy scheduling and direct process switch - merit or myths?," Workshop on Operating System Platforms for Embedded Real-Time Applications, Pisa, Italy (2007).
11 Erik Stenman, Konstantinos Sagonas, "On reducing interprocess communication overhead in concurrent programs," Proceedings of the 2002 ACM SIGPLAN workshop on Erlang, pp.58-63, October 07-07, 2002, Pittsburgh, Pennsylvania [doi> 10.1145/592849.592857]