作者: 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