Browse > Article
http://dx.doi.org/10.3745/KTCCS.2015.4.9.327

Fixed Size Memory Pool Management Method for Mobile Game Servers  

Park, Seyoung (숭실대학교 정보보안학과)
Choi, Jongsun (숭실대학교 컴퓨터학부)
Choi, Jaeyoung (숭실대학교 컴퓨터학부)
Kim, Eunhoe (서일대학교 인터넷정보과)
Publication Information
KIPS Transactions on Computer and Communication Systems / v.4, no.9, 2015 , pp. 327-336 More about this Journal
Abstract
Mobile game servers usually execute frequent dynamic memory allocation for generating the buffers that deal with clients requests. It causes to deteriorate the performance of game servers since it increases system workload and memory fragmentation. In this paper, we propose fixed-sized memory pool management method. Memory pool for the proposed method has a sequential memory structure based on circular linked list data structure. It solves memory fragmentation problem and saves time for searching the memory blocks which are required for memory allocation and deallocation. We showed the efficiency of the proposed method by evaluating the performance of dynamic memory allocation, through the proposed method and the memory pool management method based on boost open source library.
Keywords
Circular Linked List; Fixed Size Memory Pool; Mobile Game Server; Sequential Memory Allocation;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 S. B. Kim and J. D. Lee, "Design and Implementation of Borderless Casual Game Server using Virtualization," Korea Society Of Industrial Information Systems, Vol.17, No.4, Aug., 2012.
2 J. Deng, "Why to use memory pool and how to implement it," [Internet], http://www.codeproject.com/Articles/27487/Why-to-use-memory-pool-and-how-to-implement-it, Jun., 2008.
3 QueryPerformanceCounter [Internet], http://maytrees.tistory.com/81.
4 J. Lim, I. Park, J. Chung, and K. Shim, "Technical Trend of Distributed Game Server", Electronics and Telecommunications Trends, Vol.20, No.4, pp.93-102, 2005.
5 Thor Alexander, "Massively Multiplayer Game Development," Charles River Media, pp.210-230, 2003.
6 D. Hahn, "Programming Benchmark of Online Game Server," Information Publishing Group, 2008.
7 Andre Alexandrescu, "MODERN C++ Design: Generic Programming and Design Patterns Applied," Addison-Wesley, 2001.
8 C dynamic memory allocation, [Internet] https://en.wikipedia.org/wiki/C_dynamic_memory_allocation.
9 Abraham Silberschatz, et al., "Operating System Concepts," 7th Edition, Hongrung Publishing Co, 2008.
10 Memory Pool [Internet], https://en.wikipedia.org/wiki/Memory_pool.
11 C++ Boost Library [Internet], http://www.boost.org/doc/libs/1_58_0/libs/pool/doc/html/boost_pool/pool/pooling.html.
12 PJLIB [Internet], http://www.pjsip.org/pjlib/docs/html/index.htm.
13 Jonatan Palsson, Richard Pannek, Niklas Landin, and Mattias Petterson, "A Generic Game Server," University of Gothenburg, Department of Computer Science and Engineering, 2011.
14 Vlad Mihai Alecu, "Developing a Client-Server Architecture and Minimizing Data Transfer for a Massively Multiplayer Online Game," Utrecht University, Game and Media Technology, 2012.
15 Microsoft IOCP [Internet], https://msdn.microsoft.com/kokr/library/windows/desktop/aa365198(v=vs.85).aspx.
16 C++ Memory Pool and Angra [Internet], http://celdee.tistory.com/638.
17 D. I. Jo and S. Y. Ryu, "Design and Implementation of Event Based Message Exchange Architecture between Servers for Server Push," Korean Society For Internet Information, Vol.12, No.4, Aug., 2011.