An event-driven multithreaded dynamic optimization framework

Weifeng Zhang, B. Calder, D.M. Tullsen
2005 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05)  
Dynamic optimization has the potential to adapt the program's behavior at run-time to deliver performance improvements over static optimization. Dynamic optimization systems usually perform their optimization in series with the application's execution. This incurs overhead which reduces the benefit of dynamic optimization, and prevents some aggressive optimizations from being performed. In this paper we propose a new dynamic optimization framework called Trident. Concurrent with the program's
more » ... ecution, the framework uses hardware support to identify optimization opportunities, and uses spare threads on a multithreaded processor to perform dynamic optimizations for these optimization events. We evaluate the benefit of using Trident to guide code layout, basic compiler optimizations, and value specialization. Our results show that using Trident with these optimizations achieves an average 20% speedup, and is complementary with other memory latency tolerant techniques, such as prefetching.
doi:10.1109/pact.2005.7 dblp:conf/IEEEpact/ZhangCT05 fatcat:l33zx2j7cbaxzoe7cz4tty2h5a