Optimal Basic Block Instruction Scheduling for Multiple-Issue Processors Using Constraing Programming

A. Malik, Jim McInnes, P. V. Beek
{"title":"Optimal Basic Block Instruction Scheduling for Multiple-Issue Processors Using Constraing Programming","authors":"A. Malik, Jim McInnes, P. V. Beek","doi":"10.1142/S0218213008003765","DOIUrl":null,"url":null,"abstract":"Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block - a straight-line sequence of code with a single entry point and a single exit point - subject to precedence, latency, and resource constraints. Solving the problem exactly is NP-complete, and heuristic approaches are currently used in most compilers. In contrast, we present a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming. In developing our optimal scheduler, the key to scaling up to large, real problems was in the development of preprocessing techniques for improving the constraint model. We experimentally evaluated our optimal scheduler on the SPEC 2000 integer and floating point benchmarks. On this benchmark suite, the optimal scheduler was very robust -all but a handful of the hundreds of thousands of basic blocks in our benchmark suite were solved optimally within a reasonable time limit - and scaled to the largest basic blocks, including basic blocks with up to 2600 instructions. This compares favorably to the best previous exact approaches","PeriodicalId":169424,"journal":{"name":"2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06)","volume":"516 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"51","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1142/S0218213008003765","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 51

Abstract

Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block - a straight-line sequence of code with a single entry point and a single exit point - subject to precedence, latency, and resource constraints. Solving the problem exactly is NP-complete, and heuristic approaches are currently used in most compilers. In contrast, we present a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming. In developing our optimal scheduler, the key to scaling up to large, real problems was in the development of preprocessing techniques for improving the constraint model. We experimentally evaluated our optimal scheduler on the SPEC 2000 integer and floating point benchmarks. On this benchmark suite, the optimal scheduler was very robust -all but a handful of the hundreds of thousands of basic blocks in our benchmark suite were solved optimally within a reasonable time limit - and scaled to the largest basic blocks, including basic blocks with up to 2600 instructions. This compares favorably to the best previous exact approaches
基于约束规划的多任务处理器最优基本块指令调度
指令调度是提高编译器生成的目标代码性能的最重要的步骤之一。指令调度中出现的一个基本问题是为基本块(具有单个入口点和单个出口点的直线代码序列)找到最小长度调度,该调度受优先级、延迟和资源约束。准确地解决这个问题是np完全的,目前大多数编译器都使用启发式方法。相反,我们提出了一个调度程序,它可以使用约束规划技术为基本块找到可证明的最优调度。在开发我们的最优调度程序时,扩展到大型的关键问题是开发用于改进约束模型的预处理技术。我们在SPEC 2000整数和浮点基准测试上实验性地评估了我们的最优调度器。在这个基准测试套件中,最优调度器非常健壮——在我们的基准测试套件中,几十万个基本块中只有少数几个在合理的时间限制内得到了最优解决——并扩展到最大的基本块,包括包含多达2600条指令的基本块。这比以前最好的精确方法更有利
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信