Finding the limit: examining the potential and complexity of compilation scheduling for JIT-based runtime systems

  • Authors:
  • Yufei Ding;Mingzhou Zhou;Zhijia Zhao;Sarah Eisenstat;Xipeng Shen

  • Affiliations:
  • The College of William and Mary, Williamsburg, VA, USA;The College of William and Mary, Williamsburg, VA, USA;The College of William and Mary, Williamsburg, VA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA;The College of William and Mary, Williamsburg, VA, USA

  • Venue:
  • Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

This work aims to find out the full potential of compilation scheduling for JIT-based runtime systems. Compilation scheduling determines the order in which the compilation units (e.g., functions) in a program are to be compiled or recompiled. It decides when what versions of the units are ready to run, and hence affects performance. But it has been a largely overlooked direction in JIT-related research, with some fundamental questions left open: How significant compilation scheduling is for performance, how good the scheduling schemes employed by existing runtime systems are, and whether a great potential exists for improvement. This study proves the strong NP-completeness of the problem, proposes a heuristic algorithm that yields near optimal schedules, examines the potential of two current scheduling schemes empirically, and explores the relations with JIT designs. It provides the first principled understanding to the complexity and potential of compilation scheduling, shedding some insights for JIT-based runtime system improvement.