Habanero-Java: the new adventures of old X10

Vincent Cavé, Jisheng Zhao, J. Shirako, Vivek Sarkar
{"title":"Habanero-Java: the new adventures of old X10","authors":"Vincent Cavé, Jisheng Zhao, J. Shirako, Vivek Sarkar","doi":"10.1145/2093157.2093165","DOIUrl":null,"url":null,"abstract":"In this paper, we present the Habanero-Java (HJ) language developed at Rice University as an extension to the original Java-based definition of the X10 language. HJ includes a powerful set of task-parallel programming constructs that can be added as simple extensions to standard Java programs to take advantage of today's multi-core and heterogeneous architectures. The language puts a particular emphasis on the usability and safety of parallel constructs. For example, no HJ program using async, finish, isolated, and phaser constructs can create a logical deadlock cycle. In addition, the future and data-driven task variants of the async construct facilitate a functional approach to parallel programming. Finally, any HJ program written with async, finish, and phaser constructs that is data-race free is guaranteed to also be deterministic.\n HJ also features two key enhancements that address well known limitations in the use of Java in scientific computing --- the inclusion of complex numbers as a primitive data type, and the inclusion of array-views that support multidimensional views of one-dimensional arrays. The HJ compiler generates standard Java class-files that can run on any JVM for Java 5 or higher. The HJ runtime is responsible for orchestrating the creation, execution, and termination of HJ tasks, and features both work-sharing and work-stealing schedulers. HJ is used at Rice University as an introductory parallel programming language for second-year undergraduate students. A wide variety of benchmarks have been ported to HJ, including a full application that was originally written in Fortran 90. HJ has a rich development and runtime environment that includes integration with DrJava, the addition of a data race detection tool, and service as a target platform for the Intel Concurrent Collections coordination language","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"01 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"252","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2093157.2093165","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 252

Abstract

In this paper, we present the Habanero-Java (HJ) language developed at Rice University as an extension to the original Java-based definition of the X10 language. HJ includes a powerful set of task-parallel programming constructs that can be added as simple extensions to standard Java programs to take advantage of today's multi-core and heterogeneous architectures. The language puts a particular emphasis on the usability and safety of parallel constructs. For example, no HJ program using async, finish, isolated, and phaser constructs can create a logical deadlock cycle. In addition, the future and data-driven task variants of the async construct facilitate a functional approach to parallel programming. Finally, any HJ program written with async, finish, and phaser constructs that is data-race free is guaranteed to also be deterministic. HJ also features two key enhancements that address well known limitations in the use of Java in scientific computing --- the inclusion of complex numbers as a primitive data type, and the inclusion of array-views that support multidimensional views of one-dimensional arrays. The HJ compiler generates standard Java class-files that can run on any JVM for Java 5 or higher. The HJ runtime is responsible for orchestrating the creation, execution, and termination of HJ tasks, and features both work-sharing and work-stealing schedulers. HJ is used at Rice University as an introductory parallel programming language for second-year undergraduate students. A wide variety of benchmarks have been ported to HJ, including a full application that was originally written in Fortran 90. HJ has a rich development and runtime environment that includes integration with DrJava, the addition of a data race detection tool, and service as a target platform for the Intel Concurrent Collections coordination language
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
哈瓦那-爪哇:旧X10的新冒险
在本文中,我们介绍了Rice大学开发的Habanero-Java (HJ)语言,作为X10语言最初基于java定义的扩展。HJ包括一组功能强大的任务并行编程结构,可以将其作为简单的扩展添加到标准Java程序中,以利用当今的多核和异构体系结构。该语言特别强调并行结构的可用性和安全性。例如,任何使用async、finish、isolated和phaser构造的HJ程序都不能创建逻辑死锁周期。此外,异步构造的未来和数据驱动的任务变体促进了并行编程的函数方法。最后,任何使用async、finish和phaser结构编写的HJ程序,如果没有数据争用,也保证是确定性的。HJ还提供了两个关键的增强功能,解决了在科学计算中使用Java的众所周知的限制——包含复数作为基本数据类型,以及包含支持一维数组的多维视图的数组视图。HJ编译器生成的标准Java类文件可以在Java 5或更高版本的任何JVM上运行。HJ运行时负责编排HJ任务的创建、执行和终止,并具有工作共享和工作窃取调度器的特性。HJ在莱斯大学被用作本科二年级学生的并行编程入门语言。各种各样的基准测试已经移植到HJ,包括最初用Fortran 90编写的完整应用程序。HJ拥有丰富的开发和运行时环境,包括与DrJava的集成、数据竞争检测工具的添加,以及作为英特尔并发集合协调语言的目标平台的服务
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Optimizing interpreters by tuning opcode orderings on virtual machines for modern architectures: or: how I learned to stop worrying and love hill climbing A DSL for writing type systems for Xtext languages ejIP: a TCP/IP stack for embedded Java Habanero-Java: the new adventures of old X10 Eliminating partially-redundant array-bounds check in the Android Dalvik JIT compiler
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1