Learning Heuristics for the Superblock Instruction Scheduling Problem

被引:7
|
作者
Russell, Tyrel [1 ]
Malik, Abid M. [1 ]
Chase, Michael [1 ]
van Beek, Peter [1 ]
机构
[1] Univ Waterloo, Cheriton Sch Comp Sci, Waterloo, ON N2L 3G1, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Pipeline processors; compilers; heuristics design; machine learning; constraint satisfaction;
D O I
10.1109/TKDE.2009.17
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Modern processors have multiple pipelined functional units and can issue more than one instruction per clock cycle. This places a burden on the compiler to schedule the instructions to take maximum advantage of the underlying hardware. Superblocks-a straight-line sequence of code with a single entry point and multiple possible exit points-are a commonly used scheduling region within compilers. Superblock scheduling is NP-complete, and is done suboptimally in production compilers using a greedy algorithm coupled with a heuristic. The heuristic is usually handcrafted, a potentially time-consuming process. In this paper, we show that supervised machine learning techniques can be used to semiautomate the construction of heuristics for superblock scheduling. In our approach, labeled training data were produced using an optimal superblock scheduler. A decision tree learning algorithm was then used to induce a heuristic from the training data. The automatically constructed decision tree heuristic was compared against the best previously proposed, handcrafted heuristics for superblock scheduling on the SPEC 2000 and MediaBench benchmark suites. On these benchmark suites, the decision tree heuristic reduced the number of superblocks that were not optimally scheduled by up to 38 percent, and led to improved performance on some architectural models and competitive performance on others.
引用
收藏
页码:1489 / 1502
页数:14
相关论文
共 50 条
  • [1] Learning heuristics for basic block instruction scheduling
    Abid M. Malik
    Tyrel Russell
    Michael Chase
    Peter van Beek
    Journal of Heuristics, 2008, 14 : 549 - 569
  • [2] Learning heuristics for basic block instruction scheduling
    Malik, Abid M.
    Russell, Tyrel
    Chase, Michael
    van Beek, Peter
    JOURNAL OF HEURISTICS, 2008, 14 (06) : 549 - 569
  • [3] An Application of Constraint Programming to Superblock Instruction Scheduling
    Malik, Abid M.
    Chase, Michael
    Russell, Tyrel
    van Beek, Peter
    PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING, 2008, 5202 : 97 - 111
  • [4] A computational study of heuristic and exact techniques for superblock instruction scheduling
    Michael Chase
    Abid M. Malik
    Tyrel Russell
    R. Wayne Oldford
    Peter van Beek
    Journal of Scheduling, 2012, 15 : 743 - 756
  • [5] A computational study of heuristic and exact techniques for superblock instruction scheduling
    Chase, Michael
    Malik, Abid M.
    Russell, Tyrel
    Oldford, R. Wayne
    van Beek, Peter
    JOURNAL OF SCHEDULING, 2012, 15 (06) : 743 - 756
  • [6] Heuristics for the exam scheduling problem
    Fu, ZH
    Lim, A
    12TH IEEE INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2000, : 172 - 175
  • [7] Heuristics for a general scheduling problem
    Gutierrez, C
    CEC2004: PROCEEDINGS OF THE 2004 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2004, : 660 - 665
  • [8] Formally Verified Superblock Scheduling
    Six, Cyril
    Gourdin, Leo
    Boulme, Sylvain
    Monniaux, David
    Fasse, Justus
    Nardino, Nicolas
    PROCEEDINGS OF THE 11TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP '22), 2022, : 40 - 54
  • [9] Online Learning for Scheduling MIP Heuristics
    Chmiela, Antonia
    Gleixner, Ambros
    Lichocki, Pawel
    Pokutta, Sebastian
    INTEGRATION OF CONSTRAINT PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND OPERATIONS RESEARCH, CPAIOR 2023, 2023, 13884 : 114 - 123
  • [10] Heuristics for the economic lot scheduling problem with returns
    Teunter, Ruud
    Tang, Ou
    Kaparis, Konstantinos
    INTERNATIONAL JOURNAL OF PRODUCTION ECONOMICS, 2009, 118 (01) : 323 - 330