Optimization and Mathematical Modeling in Computer Architecture

Tony Nowatzki, M. Ferris, K. Sankaralingam, Cristian Estan, Nilay Vaish, D. Wood
{"title":"Optimization and Mathematical Modeling in Computer Architecture","authors":"Tony Nowatzki, M. Ferris, K. Sankaralingam, Cristian Estan, Nilay Vaish, D. Wood","doi":"10.2200/S00531ED1V01Y201308CAC026","DOIUrl":null,"url":null,"abstract":"In the last few decades computer systems and the underlying hardware have steadily become larger and more complex. The need to increase their efficiency through architectural innovation has not abated, but quantitatively evaluating the effect of various choices has become more difficult. Performance and resource consumption are determined by complex interactions between many modules, each with many possible alternative implementations. We need powerful computer programs to explore large design spaces, but the traditional approach of developing simulators, building prototypes, or writing heuristic-based algorithms in traditional programming languages is often tedious and slow. Fortunately mathematical optimization has made great advances in theory, and many fast commercial and academic solvers are now available. In this book we motivate and describe the use of mathematical modeling, specifically optimization based on mixed integer linear programming (MILP) as a way to design and evaluate computer systems. The major advantage is that the architect or system software writer only needs to describe what the problem is, not how to find a good solution. This greatly speeds up their work and, as our case studies show, it can often lead to better solutions than the traditional approach. In this book we give an overview of modeling techniques used to describe computer systems to mathematical optimization tools. We give a brief introduction to various classes of mathematical optimization frameworks with special focus on mixed integer linear programming which provides a good balance between solver time and expressiveness. We present four detailed case studies -- instruction set customization, data center resource management, spatial architecture scheduling, and resource allocation in tiled architectures -- showing how MILP can be used and quantifying by how much it outperforms traditional design exploration techniques. This book should help a skilled systems designer to learn techniques for using MILP in their problems, and the skilled optimization expert to understand the types of computer systems problems that MILP can be applied to. Fully operational source code for the examples used in this book is provided through the NEOS System at www.neos-guide.org/content/computer-architecture Table of Contents: Acknowledgments / Introduction / An Overview of Optimization / Case Study: Instruction Set Customization / Case Study: Data Center Resource Management / Case Study: Spatial Architecture Scheduling / Case Study: Resource Allocation in Tiled Architectures / Conclusions / Bibliography / Authors' Biographies","PeriodicalId":350747,"journal":{"name":"Optimization and Mathematical Modeling in Computer Architecture","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"16","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Optimization and Mathematical Modeling in Computer Architecture","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2200/S00531ED1V01Y201308CAC026","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 16

Abstract

In the last few decades computer systems and the underlying hardware have steadily become larger and more complex. The need to increase their efficiency through architectural innovation has not abated, but quantitatively evaluating the effect of various choices has become more difficult. Performance and resource consumption are determined by complex interactions between many modules, each with many possible alternative implementations. We need powerful computer programs to explore large design spaces, but the traditional approach of developing simulators, building prototypes, or writing heuristic-based algorithms in traditional programming languages is often tedious and slow. Fortunately mathematical optimization has made great advances in theory, and many fast commercial and academic solvers are now available. In this book we motivate and describe the use of mathematical modeling, specifically optimization based on mixed integer linear programming (MILP) as a way to design and evaluate computer systems. The major advantage is that the architect or system software writer only needs to describe what the problem is, not how to find a good solution. This greatly speeds up their work and, as our case studies show, it can often lead to better solutions than the traditional approach. In this book we give an overview of modeling techniques used to describe computer systems to mathematical optimization tools. We give a brief introduction to various classes of mathematical optimization frameworks with special focus on mixed integer linear programming which provides a good balance between solver time and expressiveness. We present four detailed case studies -- instruction set customization, data center resource management, spatial architecture scheduling, and resource allocation in tiled architectures -- showing how MILP can be used and quantifying by how much it outperforms traditional design exploration techniques. This book should help a skilled systems designer to learn techniques for using MILP in their problems, and the skilled optimization expert to understand the types of computer systems problems that MILP can be applied to. Fully operational source code for the examples used in this book is provided through the NEOS System at www.neos-guide.org/content/computer-architecture Table of Contents: Acknowledgments / Introduction / An Overview of Optimization / Case Study: Instruction Set Customization / Case Study: Data Center Resource Management / Case Study: Spatial Architecture Scheduling / Case Study: Resource Allocation in Tiled Architectures / Conclusions / Bibliography / Authors' Biographies
计算机体系结构中的优化与数学建模
在过去的几十年里,计算机系统和底层硬件稳步地变得越来越大,越来越复杂。通过架构创新来提高效率的需求并没有减少,但是定量地评估各种选择的效果变得更加困难。性能和资源消耗由许多模块之间的复杂交互决定,每个模块都有许多可能的替代实现。我们需要强大的计算机程序来探索大型设计空间,但是开发模拟器、构建原型或用传统编程语言编写启发式算法的传统方法通常是冗长而缓慢的。幸运的是,数学优化在理论上已经取得了很大的进步,现在有许多快速的商业和学术求解器可用。在这本书中,我们激励和描述了数学建模的使用,特别是基于混合整数线性规划(MILP)的优化,作为设计和评估计算机系统的一种方式。主要的优点是架构师或系统软件编写人员只需要描述问题是什么,而不需要如何找到一个好的解决方案。这大大加快了他们的工作速度,正如我们的案例研究所示,它通常可以产生比传统方法更好的解决方案。在本书中,我们概述了用于描述计算机系统的数学优化工具的建模技术。我们简要介绍了各种数学优化框架,特别关注混合整数线性规划,它在求解时间和表达性之间提供了很好的平衡。我们提供了四个详细的案例研究——指令集定制、数据中心资源管理、空间架构调度和平平化架构中的资源分配——展示了如何使用MILP,并通过其优于传统设计探索技术的程度来量化它。这本书应该帮助一个熟练的系统设计师学习技术,使用MILP在他们的问题,和熟练的优化专家了解的类型的计算机系统问题,MILP可以应用到。本书中使用的示例的完整操作源代码通过NEOS系统提供www.neos-guide.org/content/computer-architecture目录:致谢/介绍/优化概述/案例研究:指令集定制/案例研究:数据中心资源管理/案例研究:空间架构调度/案例研究:平铺架构中的资源分配/结论/参考书目/作者传记
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:481959085
Book学术官方微信