ACM Home Page
Please provide us with feedback. Feedback
A study of memory management for web-based applications on multicore processors
Full text PdfPdf (567 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation table of contents
Dublin, Ireland
SESSION: Memory management and bloat table of contents
Pages 386-396  
Year of Publication: 2009
ISBN:978-1-60558-392-1
Also published in ...
Authors
Hiroshi Inoue  IBM, Kanagawa, Japan
Hideaki Komatsu  IBM, Kanagawa, Japan
Toshio Nakatani  IBM , Kanagawa, Japan
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 37,   Downloads (12 Months): 195,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542476.1542520
What is a DOI?

ABSTRACT

More and more server workloads are becoming Web-based. In these Web-based workloads, most of the memory objects are used only during one transaction. We study the effect of the memory management approaches on the performance of such Web-based applications on two modern multicore processors. In particular, using six PHP applications, we compare a general-purpose allocator (the default allocator of the PHP runtime) and a region-based allocator, which can reduce the cost of memory management by not supporting per-object free. The region-based allocator achieves better performance for all workloads on one processor core due to its smaller memory management cost. However, when using eight cores, the region-based allocator suffers from hidden costs of increased bus traffics and the performance is reduced for many workloads by as much as 27.2% compared to the default allocator. This is because the memory bandwidth tends to become a bottleneck in systems with multicore processors.

We propose a new memory management approach, defrag-dodging, to maximize the performance of the Web-based workloads on multicore processors. In our approach, we reduce the memory management cost by avoiding defragmentation overhead in the malloc and free functions during a transaction. We found that the transactions in Web-based applications are short enough to ignore heap fragmentation, and hence the costs of the defrag-mentation activities in existing general-purpose allocators outweigh their benefits. By comparing our approach against the region-based approach, we show that a per-object free capability can reduce bus traffic and achieve higher performance on multicore processors. We demonstrate that our defrag-dodging approach improves the performance of all the evaluated applications on both processors by up to 11.4% and 51.5% over the default allocator and the region-based allocator, respectively.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
3
4
 
5
Apache Software Foundation. The Apache Portable Runtime Project. http://apr.apache.org/ .
 
6
R. Iyer, M. Bhat, L. Zhao, R. Illikkal, S. Makineni, M. Jones, K. Shiv, and D. Newell. Exploring Small-Scale and Large-Scale CMP Architectures for Commercial Java Servers. In Proceedings of the IEEE International Symposium on Workload Characterization, pp. 191--200, 2006.
 
7
Y. Chen, E. Li, W. Li, T. Wang, J. Li, X. Tong, P. P. Wang, W. Hu, Y. Zhang, Y. Chen. Media mining -- emerging tera-scale computing applications. Intel Technology Journal, 11(3), pp 239--250, 2007.
 
8
The PHP Group. PHP: Hypertext Preprocessor. http://www.php.net/ .
9
 
10
Free Software Foundation, Inc. GNU C Library obstack. http://www.gnu.org/software/libc/manual/html_node/Obstacks.html.
11
 
12
S. Ghemawat and P. Menage. TCMalloc : Thread-Caching Malloc. http://goog-perftools.sourceforge.net/doc/tcmalloc.html .
 
13
Doug Lea. A Memory Allocator. http://g.oswego.edu/dl/html/malloc.html .
14
 
15
Wikimedia Foundation. MediaWiki. http://www.mediawiki.org .
 
16
SugarCRM Inc. SugarCRM. http://www.sugarcrm.com .
 
17
eZ Systems. eZ Publish. http://ez.no.
 
18
The phpBB Group. phpBB. http://www.phpbb.com/.
 
19
Cake Software Foundation, Inc. CakePHP. http://www.cakephp.org/.
 
20
Standard Performance Evaluation Corporation. SPECweb2005. http://www.spec.org/web2005/.
 
21
OProfile -- A System Profiler for Linux. http://oprofile.sourceforge.net/news/.
 
22
D. H. Hansson. Ruby on Rails. http://www.rubyonrails.org.
23
24
 
25
 
26
27
28

Collaborative Colleagues:
Hiroshi Inoue: colleagues
Hideaki Komatsu: colleagues
Toshio Nakatani: colleagues