Compiler and runtime techniques for automatic parallelization of sequential applications

作者: Mojtaba Mehrara , Scott Mahlke

DOI:

关键词:

摘要: Multicore designs have emerged as the mainstream design paradigm for microprocessor industry. Unfortunately, providing multiple cores does not directly translate into performance most applications. An attractive approach exploiting is to rely on tools, both compilers and runtime optimizers, automatically extract threads from sequential This dissertation tackles many challenges faced in automatic parallelization of applications, including general-purpose applications written C/C++ client-side web JavaScript, with goal achieving speedup commodity multicore systems. First, a complete parallelizing compiler system introduced. successfully identifies opportunities programs transforms code parallel version. A matching system, STMlite, proposed monitor parallelized program behavior fix any misspeculations that might happen. We show this can generate execute are upto 2.2x faster than their counterparts, when executed an 8-core system. The second piece work focuses similar problem very different application domain, JavaScript running client's browser. first research proposes dynamic The nature language its target execution environments impose completely set we intend solve. propose ParaScript engine, which speculatively parallelizes potentially segments while low-cost highly customized speculation verifies rolls back case misspeculation. Dynamic using yields average 2.18x over In addition, introduce ParaGuard, technique executes checks required by trace-based main execution. ParaGuard able improve 15% additional core multi-core

参考文章(78)
Matthew D. Allen, Srinath Sridharan, Gurindar S. Sohi, Serialization sets Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '09. ,vol. 44, pp. 85- 96 ,(2008) , 10.1145/1504176.1504190
Matthew L. Seidl, Benjamin G. Zorn, Segregating heap objects by reference behavior and lifetime architectural support for programming languages and operating systems. ,vol. 33, pp. 12- 23 ,(1998) , 10.1145/291006.291012
Michael K. Chen, Kunle Olukotun, The Jrpm system for dynamically parallelizing Java programs Proceedings of the 30th annual international symposium on Computer architecture - ISCA '03. ,vol. 31, pp. 434- 446 ,(2003) , 10.1145/859618.859668
L. Rauchwerger, D.A. Padua, The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization IEEE Transactions on Parallel and Distributed Systems. ,vol. 10, pp. 160- 180 ,(1999) , 10.1109/71.752782
Arun Raman, Hanjun Kim, Thomas R. Mason, Thomas B. Jablin, David I. August, Speculative parallelization using software multi-threaded transactions architectural support for programming languages and operating systems. ,vol. 38, pp. 65- 76 ,(2010) , 10.1145/1735971.1736030
K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, D.A. Wood, LogTM: log-based transactional memory high-performance computer architecture. pp. 254- 265 ,(2006) , 10.1109/HPCA.2006.1598134
K.D. Cooper, M.W. Hall, R.T. Hood, K. Kennedy, K.S. McKinley, J.M. Mellor-Crummey, L. Torczon, S.K. Warren, The ParaScope parallel programming environment Proceedings of the IEEE. ,vol. 81, pp. 244- 263 ,(1993) , 10.1109/5.214549
Bratin Saha, Ali-reza Adl-Tabatabai, Quinn Jacobson, Architectural Support for Software Transactional Memory international symposium on microarchitecture. pp. 185- 196 ,(2006) , 10.1109/MICRO.2006.9
Mojtaba Mehrara, Jeff Hao, Po-Chun Hsu, Scott Mahlke, Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation - PLDI '09. ,vol. 44, pp. 166- 176 ,(2009) , 10.1145/1542476.1542495
Florian T. Schneider, Vijay Menon, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Dynamic optimization for efficient strong atomicity Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '08. ,vol. 43, pp. 181- 194 ,(2008) , 10.1145/1449764.1449779