QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory

被引:23
作者
Gajinov, Vladimir [1 ]
Zyulkyarov, Ferad [1 ]
Unsal, Osman S. [1 ]
Cristal, Adrian [1 ]
Ayguade, Eduard [1 ]
Harris, Tim
Valero, Mateo [1 ]
机构
[1] Barcelona Supercomp Ctr, Barcelona, Spain
来源
ICS'09: PROCEEDINGS OF THE 2009 ACM SIGARCH INTERNATIONAL CONFERENCE ON SUPERCOMPUTING | 2009年
关键词
Game Server; Transactional Memory;
D O I
10.1145/1542275.1542298
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
"Is transactional memory useful?" is the question that cannot be answered until we provide substantial applications that can evaluate its capabilities. While existing TM applications can partially answer the above question, and are useful in the sense that they provide a first-order TM experimentation framework, they serve only as a proof of concept and fail to make a conclusive case for wide adoption by the general computing community. This paper presents QuakeTM, a multiplayer game server; a complex real life TM application that was parallelized from the sequential version with TM-specific considerations in mind. QuakeTM consists of 27,600 lines of code spread across 49 files and exhibits irregular parallelism for which a task parallel model fits well. We provide a coarse-grained TM implementation characterized with eight large transactional blocks as well as a fine-grained implementation which consists of 58 different critical sections and compare these two approaches. In spite of the fact that QuakeTM scales, we show that more effort is needed to decrease the overhead and the abort rate of current software transactional memory systems to achieve a good performance. We give insights into development challenges, suggest techniques to solve them and provide extensive analysis of the transactional behavior of QuakeTM, with an emphasis and discussion of the TM promise of making parallel programming easier.
引用
收藏
页码:126 / 135
页数:10
相关论文
共 21 条
[1]  
Abad MF, 2009, LECT NOTES CONTR INF, V389, P185, DOI 10.1007/978-3-642-02894-6_18
[2]  
ABDELKHALEK A, 2004, IPDPS 04, P72
[3]  
ABDELKHALEK A, 2001, ISPASS 01, P355
[4]  
Adl-Tabatabai AR, 2006, ACM SIGPLAN NOTICES, V41, P26, DOI 10.1145/1133981.1133985
[5]  
Ansari M, 2008, LECT NOTES COMPUT SC, V5022, P196, DOI 10.1007/978-3-540-69501-1_21
[6]  
Chi Cao Minh, 2008, 2008 IEEE International Symposium on Workload Characterization (IISWC), P35, DOI 10.1109/IISWC.2008.4636089
[7]  
DALESSANDRO L, 2007, TRANSACT 07
[8]  
Fuchs H., 1983, Computer Graphics, V17, P65, DOI 10.1145/964967.801134
[9]  
Guerraoui Rachid., 2007, P 2 ACM SIGOPSEUROSY, P315
[10]  
HERLIHY M, 1993, ISCA, P289, DOI DOI 10.1145/165123.165164