8_½的设计与实现:一种声明式数据并行语言

Olivier Michel
{"title":"8_½的设计与实现:一种声明式数据并行语言","authors":"Olivier Michel","doi":"10.1016/S0096-0551(96)00012-4","DOIUrl":null,"url":null,"abstract":"<div><p>In this article we advocate a declarative approach to data-parallelism to provide both parallelism expressiveness and efficient execution of data intensive applications. 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub>, an experimental language combining features of collection and stream oriented languages in a declarative framework, is presented. A new structure, the web, allows the programmer to write programmes as mathematical expressions and to implicitly express data and control parallelism. The first part of this paper proposes a classification of the various expressions of parallelism in programming languages. We show that hybrid execution models combining both data and control parallelism are possible and necessary to get an effective speedup. We sketch the advantage of the declarative style with respect to parallelism expression (application side) and exploitation (compiler side). In the second part we describe the 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> language and the concepts of collection, stream and web. A web is a multi-dimensional object that represents the successive values of a structured set of variables. Some 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> programmes are given to show the relevance of the web data structure for simulation applications (a resolution of O.D.P.E. and a simulation in artificial life). Examples of 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> programmes, involving the dynamic creation and destruction of webs, are also given. Such programmes are necessary for simulations of growing systems. In the third part, the implementation of a compiler restricted to the static part of the language is described. We focus on the process of web equations compilation towards a virtual SIMD machine. We also present the clock calculus, the scheduling inference and the distribution of the computations among the processing elements of a parallel computer.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"22 2","pages":"Pages 165-179"},"PeriodicalIF":0.0000,"publicationDate":"1996-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(96)00012-4","citationCount":"2","resultStr":"{\"title\":\"Design and implementation of 812: A declarative data-parallel language\",\"authors\":\"Olivier Michel\",\"doi\":\"10.1016/S0096-0551(96)00012-4\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>In this article we advocate a declarative approach to data-parallelism to provide both parallelism expressiveness and efficient execution of data intensive applications. 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub>, an experimental language combining features of collection and stream oriented languages in a declarative framework, is presented. A new structure, the web, allows the programmer to write programmes as mathematical expressions and to implicitly express data and control parallelism. The first part of this paper proposes a classification of the various expressions of parallelism in programming languages. We show that hybrid execution models combining both data and control parallelism are possible and necessary to get an effective speedup. We sketch the advantage of the declarative style with respect to parallelism expression (application side) and exploitation (compiler side). In the second part we describe the 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> language and the concepts of collection, stream and web. A web is a multi-dimensional object that represents the successive values of a structured set of variables. Some 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> programmes are given to show the relevance of the web data structure for simulation applications (a resolution of O.D.P.E. and a simulation in artificial life). Examples of 8<sub><span><math><mtext>1</mtext><mtext>2</mtext></math></span></sub> programmes, involving the dynamic creation and destruction of webs, are also given. Such programmes are necessary for simulations of growing systems. In the third part, the implementation of a compiler restricted to the static part of the language is described. We focus on the process of web equations compilation towards a virtual SIMD machine. We also present the clock calculus, the scheduling inference and the distribution of the computations among the processing elements of a parallel computer.</p></div>\",\"PeriodicalId\":100315,\"journal\":{\"name\":\"Computer Languages\",\"volume\":\"22 2\",\"pages\":\"Pages 165-179\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1996-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0096-0551(96)00012-4\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0096055196000124\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055196000124","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

在本文中,我们提倡一种数据并行性的声明性方法,以提供并行性表达性和数据密集型应用程序的高效执行。812是一种实验性语言,在声明式框架中结合了面向集合和面向流的语言的特点。一种新的结构,网络,允许程序员将程序写成数学表达式,并隐式地表达数据和控制并行性。本文的第一部分对程序设计语言中并行性的各种表达进行了分类。我们证明了混合执行模型结合数据和控制并行是可能的和必要的,以获得有效的加速。我们概述了声明式风格在并行性表达(应用程序端)和利用(编译器端)方面的优势。第二部分介绍了812语言以及集合、流和web的概念。web是一个多维对象,它表示一组结构化变量的连续值。给出了大约812个程序来显示网络数据结构与模拟应用(O.D.P.E.的分辨率和人工生命中的模拟)的相关性。文中还列举了812个涉及动态创建和破坏网络的项目。这样的程序对于模拟生长系统是必要的。在第三部分中,描述了一个仅限于该语言静态部分的编译器的实现。重点介绍了面向虚拟SIMD机的web方程编译过程。给出了并行计算机的时钟演算、调度推理和计算量在各处理单元之间的分配。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Design and implementation of 812: A declarative data-parallel language

In this article we advocate a declarative approach to data-parallelism to provide both parallelism expressiveness and efficient execution of data intensive applications. 812, an experimental language combining features of collection and stream oriented languages in a declarative framework, is presented. A new structure, the web, allows the programmer to write programmes as mathematical expressions and to implicitly express data and control parallelism. The first part of this paper proposes a classification of the various expressions of parallelism in programming languages. We show that hybrid execution models combining both data and control parallelism are possible and necessary to get an effective speedup. We sketch the advantage of the declarative style with respect to parallelism expression (application side) and exploitation (compiler side). In the second part we describe the 812 language and the concepts of collection, stream and web. A web is a multi-dimensional object that represents the successive values of a structured set of variables. Some 812 programmes are given to show the relevance of the web data structure for simulation applications (a resolution of O.D.P.E. and a simulation in artificial life). Examples of 812 programmes, involving the dynamic creation and destruction of webs, are also given. Such programmes are necessary for simulations of growing systems. In the third part, the implementation of a compiler restricted to the static part of the language is described. We focus on the process of web equations compilation towards a virtual SIMD machine. We also present the clock calculus, the scheduling inference and the distribution of the computations among the processing elements of a parallel computer.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信