课题基金 / 基金详情

SOFTWARE: Compiler Techniques for High-Performance Computing in Java

SOFTWARE: Compiler Techniques for High-Performance Computing in Java
软件:Java 中高性能计算的编译器技术
批准号:
0234345
负责人:
Ken Kennedy
金额:
$32.0万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2003
资助国家:
美国
项目状态:
已结题
起止时间:
2003-02-01 至 2006-01-31

项目摘要

项目成果

Ken Kennedy的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
Since its debut in 1995, Java has gained acceptance rapidly among software developers as the language of choice for many applications where portability and reliability are paramount. Java's support for clean object-oriented (OO) design, write once, run anywhere portability, comprehensive static type checking, automatic storage management, and safe execution semantics have dramatically improved programmer productivity and software reliability.Despite of this high level of interest, Java has made little headway in the arena of high-performancecomputing because it is too slow. The performance penalty is particularly acute when Java programs are written in a clean, object-oriented style that makes extensive use of polymorphism. Our recent studies of Java performance show that applications written in this object-oriented style incur performance penalties of a factor of ten or more over applications coded in a more tedious style similar to Fortran and C. If this performance gap cannot be bridged, the object-oriented benefits of Java will not be realized for compute-intensive applications, squandering an opportunity to revolutionize high-performance programming.We propose to address this problem by conducting research into compiler technologies that makeit possible to develop applications and component libraries using the full power of the Java languagewithout sacrificing significant run-time performance. Although these strategies are suitable for usein a compiler, we will incorporate the resulting technologies into a source-to-source optimizationtool. This tool will use application developer interaction to help optimize and package the Javasoftware.We believe that the development of Java implementation technology suitable for high-performancesoftware could catalyze a revolution in the way compute-intensive applications are constructedenabling the solution of more difficult scientific problems and the development of web applicationsthat have heretofore been out of reach. A large number of computational scientists share this vision, as evidenced by the experimental use of Java reported in the Java Grande Forum.The optimization of object-oriented programs has been an active area of programming languageresearch for nearly twenty years, but little attention has been focused on the optimization technology required for high-performance numerical computation. Prior to Java, type-safe object-oriented languages were not considered candidates for numerical applications. To achieve high performance for polymorphic numerical code, the language implementation must perform class specialization, which clones a type-specific version of a class containing polymorphic fields, object inlining, which replaces a variable containing a reference to an object by a tuple of variables containing the object's fields and method inlining, which replaces method calls by specialized versions of the correspondingmethod body.We believe that a judicious application of these three transformations combinedwith standard instruction-level code optimization can translate polymorphic object-oriented sourceprograms to machine code comparable in quality to optimized Fortran.In addition to these necessary optimizations, we propose two novel compilation strategies: almostwhole-program compilation, which relaxes the above optimizations' requirement of whole-program compilation to allow for more programming flexibility, and semantics modifying transformations which improve the communication between the compiler and the programmer to allow for even more aggressive optimizations.We also propose to apply the technologies resulting from this research to optimize several scientific applications written in Java.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
NGS: GrADS: Efficient Script-Based Application Development for Networked High Performance Computing Environments
  • 批准号:
    0103759
  • 项目类别:
    Standard Grant
  • 资助金额:
    $130.0万
  • 财政年份:
    2002
  • 负责人:
    Ken Kennedy
  • 依托单位:
Next Generation Software: Grid Application Development Software (GrADS)
  • 批准号:
    9975020
  • 项目类别:
    Continuing Grant
  • 资助金额:
    $560.0万
  • 财政年份:
    1999
  • 负责人:
    Ken Kennedy
  • 依托单位:
Special Project: A Student Conference on Computational Science and Engineering for Minority Institutions in the South-Central United States
  • 批准号:
    9522903
  • 项目类别:
    Standard Grant
  • 资助金额:
    $0.0万
  • 财政年份:
    1995
  • 负责人:
    Ken Kennedy
  • 依托单位:
Retooling the Supercomputing Community for Scalable Parallelism
  • 批准号:
    9418606
  • 项目类别:
    Continuing grant
  • 资助金额:
    $85.04万
  • 财政年份:
    1994
  • 负责人:
    Ken Kennedy
  • 依托单位:
海外基金