A framework for reducing instruction scheduling overhead in dynamic compilers

  • Authors:
  • Vikki Tang;Joran Siu;Alexander Vasilevskiy;Marcel Mitran

  • Affiliations:
  • IBM Canada, Markham, Ont.;IBM Canada, Markham, Ont.;IBM Canada, Markham, Ont.;IBM Canada, Markham, Ont.

  • Venue:
  • CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Start-up time is a serious concern for high-availability applications such as web servers, transaction managers, and batch processes. Compilation time contributes directly to start-up costs in dynamic compilers. Up to 30% of compilation time is spent scheduling instructions in the IBM® Testarossa just-in-time compiler. In this paper, we describe a scheduling framework that reduces scheduling overhead by up to 61% with little to no degradation in throughput performance. By combining online profile-directed feedback data with information generated during register allocation, our framework identifies code regions that will benefit most from instruction scheduling. We evaluate our framework on typical client-side applications, multi-threaded server applications to production application servers on the IBM® zSeries® 990 and POWER™ platforms.