基于C语言的两种高级并行编程模型的分析比较

骈文研究 Pub Date : 2004-07-05 DOI:10.1109/ISPDC.2004.11
A. Marowka
{"title":"基于C语言的两种高级并行编程模型的分析比较","authors":"A. Marowka","doi":"10.1109/ISPDC.2004.11","DOIUrl":null,"url":null,"abstract":"There are two main approaches for designing parallel language. The first approach states that parallel computing demands new programming concepts and radical intellectual changes regarding the way we think about programming, as compared to sequential computing. Therefore, the design of such a parallel language must present new constructs and new programming methodologies. The second approach states that there is no need to reinvent the wheel, and serial languages can be extended to support parallelism. The motivation behind this approach is to keep the language as friendly as possible for the programmer who is the main bridge toward wider acceptance of the new language. In this paper we present a qualitative evaluation of two contemporary parallel languages: OpenMP-C and Unified Parallel C (UPC). Both are explicit parallel programming languages based on the ANSI C standard. OpenMP-C was designed for shared-memory architectures and extends the base-language by using compiler directives that annotate the original source-code. On the other hand, UPC was designed for distribute-shared memory architectures and extends the base-language by new parallel constructs. We deconstruct each parallel language into its basic components, show examples, make a detailed analysis, compare them, and finally draw some conclusions.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Analytic comparison of two advanced C language-based parallel programming models\",\"authors\":\"A. Marowka\",\"doi\":\"10.1109/ISPDC.2004.11\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"There are two main approaches for designing parallel language. The first approach states that parallel computing demands new programming concepts and radical intellectual changes regarding the way we think about programming, as compared to sequential computing. Therefore, the design of such a parallel language must present new constructs and new programming methodologies. The second approach states that there is no need to reinvent the wheel, and serial languages can be extended to support parallelism. The motivation behind this approach is to keep the language as friendly as possible for the programmer who is the main bridge toward wider acceptance of the new language. In this paper we present a qualitative evaluation of two contemporary parallel languages: OpenMP-C and Unified Parallel C (UPC). Both are explicit parallel programming languages based on the ANSI C standard. OpenMP-C was designed for shared-memory architectures and extends the base-language by using compiler directives that annotate the original source-code. On the other hand, UPC was designed for distribute-shared memory architectures and extends the base-language by new parallel constructs. We deconstruct each parallel language into its basic components, show examples, make a detailed analysis, compare them, and finally draw some conclusions.\",\"PeriodicalId\":62714,\"journal\":{\"name\":\"骈文研究\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-07-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"骈文研究\",\"FirstCategoryId\":\"1092\",\"ListUrlMain\":\"https://doi.org/10.1109/ISPDC.2004.11\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"骈文研究","FirstCategoryId":"1092","ListUrlMain":"https://doi.org/10.1109/ISPDC.2004.11","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

设计并行语言主要有两种方法。第一种方法指出,与顺序计算相比,并行计算需要新的编程概念和关于我们思考编程方式的彻底的智力改变。因此,这种并行语言的设计必须提出新的结构和新的编程方法。第二种方法指出,没有必要重新发明轮子,串行语言可以扩展以支持并行性。这种方法背后的动机是让程序员尽可能友好地使用该语言,因为程序员是使新语言得到更广泛接受的主要桥梁。在本文中,我们提出了两个当代并行语言的定性评价:OpenMP-C和统一并行C (UPC)。两者都是基于ANSI C标准的显式并行编程语言。OpenMP-C是为共享内存体系结构设计的,并通过使用注释原始源代码的编译器指令扩展了基本语言。另一方面,UPC是为分布式共享内存体系结构设计的,并通过新的并行结构扩展了基本语言。我们将每种并行语言分解为其基本组成部分,并举例说明,对它们进行详细的分析、比较,最后得出一些结论。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Analytic comparison of two advanced C language-based parallel programming models
There are two main approaches for designing parallel language. The first approach states that parallel computing demands new programming concepts and radical intellectual changes regarding the way we think about programming, as compared to sequential computing. Therefore, the design of such a parallel language must present new constructs and new programming methodologies. The second approach states that there is no need to reinvent the wheel, and serial languages can be extended to support parallelism. The motivation behind this approach is to keep the language as friendly as possible for the programmer who is the main bridge toward wider acceptance of the new language. In this paper we present a qualitative evaluation of two contemporary parallel languages: OpenMP-C and Unified Parallel C (UPC). Both are explicit parallel programming languages based on the ANSI C standard. OpenMP-C was designed for shared-memory architectures and extends the base-language by using compiler directives that annotate the original source-code. On the other hand, UPC was designed for distribute-shared memory architectures and extends the base-language by new parallel constructs. We deconstruct each parallel language into its basic components, show examples, make a detailed analysis, compare them, and finally draw some conclusions.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
104
×
引用
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学术官方微信