数据依赖图支撑

V. Allan
{"title":"数据依赖图支撑","authors":"V. Allan","doi":"10.1145/62504.62670","DOIUrl":null,"url":null,"abstract":"The Sunburst compiler refined at Utah State University employs a powerful mechanism for management of data anti-dependencies in data dependency graphs, <italic>DDG's</italic>: the <italic>DDG Bracer</italic>. The term <italic>bracing</italic><supscrpt>1</supscrpt> is used to mean the fastening of two or more parts together. There are two major goals in bracing: 1) semantic correctness, and 2) creation of an optimal DDG. Bracing provides necessary joining of code fragments, produced by a divide and conquer code generation algorithm, while yielding multiple code sequences.\nSince no anti-dependency arcs are present, the input <italic>DDG's</italic> are said to be in <italic>normal form</italic>. Because anti-dependency arcs occur only when a resource must be reused, a <italic>DDG</italic> in normal form represents infinite resources. The output <italic>DDG</italic> is a merging of the two input <italic>DDG's</italic> such that data dependency arcs between the two <italic>DDG's</italic> are inserted and data anti-dependency arcs are added to sequentialize the use of common resources.\nVegdahl [Veg82] was one of the first to recognize the importance of live track manipulation. A <italic>live track</italic> is an ordered pair: the first component is the microoperation node ( MO) in which a resource is born, and the second component is the set of nodes in which the resource dies.","PeriodicalId":378625,"journal":{"name":"[1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1988-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Data Dependency Graph Bracing\",\"authors\":\"V. Allan\",\"doi\":\"10.1145/62504.62670\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Sunburst compiler refined at Utah State University employs a powerful mechanism for management of data anti-dependencies in data dependency graphs, <italic>DDG's</italic>: the <italic>DDG Bracer</italic>. The term <italic>bracing</italic><supscrpt>1</supscrpt> is used to mean the fastening of two or more parts together. There are two major goals in bracing: 1) semantic correctness, and 2) creation of an optimal DDG. Bracing provides necessary joining of code fragments, produced by a divide and conquer code generation algorithm, while yielding multiple code sequences.\\nSince no anti-dependency arcs are present, the input <italic>DDG's</italic> are said to be in <italic>normal form</italic>. Because anti-dependency arcs occur only when a resource must be reused, a <italic>DDG</italic> in normal form represents infinite resources. The output <italic>DDG</italic> is a merging of the two input <italic>DDG's</italic> such that data dependency arcs between the two <italic>DDG's</italic> are inserted and data anti-dependency arcs are added to sequentialize the use of common resources.\\nVegdahl [Veg82] was one of the first to recognize the importance of live track manipulation. A <italic>live track</italic> is an ordered pair: the first component is the microoperation node ( MO) in which a resource is born, and the second component is the set of nodes in which the resource dies.\",\"PeriodicalId\":378625,\"journal\":{\"name\":\"[1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21\",\"volume\":\"25 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1988-01-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"[1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/62504.62670\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1988] Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture - MICRO '21","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/62504.62670","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

摘要

犹他州立大学(Utah State University)改进的Sunburst编译器采用了一种强大的机制来管理数据依赖图(DDG’s)中的数据反依赖:DDG Bracer。术语“支撑”是指将两个或多个部件紧固在一起。支撑有两个主要目标:1)语义正确性,2)创建最佳DDG。支撑提供了必要的代码片段连接,由分而治之的代码生成算法产生,同时产生多个代码序列。由于不存在反依赖弧线,所以我们称输入DDG为标准形式。因为反依赖弧线只在资源必须被重用时发生,所以标准形式的DDG表示无限的资源。输出DDG是两个输入DDG的合并,插入两个DDG之间的数据依赖弧线,并添加数据反依赖弧线,从而对公共资源的使用进行顺序化。Vegdahl [Veg82]是第一个认识到现场轨道操作的重要性。活动轨道是一个有序对:第一个组件是资源诞生的微操作节点(MO),第二个组件是资源死亡的节点集。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Data Dependency Graph Bracing
The Sunburst compiler refined at Utah State University employs a powerful mechanism for management of data anti-dependencies in data dependency graphs, DDG's: the DDG Bracer. The term bracing1 is used to mean the fastening of two or more parts together. There are two major goals in bracing: 1) semantic correctness, and 2) creation of an optimal DDG. Bracing provides necessary joining of code fragments, produced by a divide and conquer code generation algorithm, while yielding multiple code sequences. Since no anti-dependency arcs are present, the input DDG's are said to be in normal form. Because anti-dependency arcs occur only when a resource must be reused, a DDG in normal form represents infinite resources. The output DDG is a merging of the two input DDG's such that data dependency arcs between the two DDG's are inserted and data anti-dependency arcs are added to sequentialize the use of common resources. Vegdahl [Veg82] was one of the first to recognize the importance of live track manipulation. A live track is an ordered pair: the first component is the microoperation node ( MO) in which a resource is born, and the second component is the set of nodes in which the resource dies.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信