Proceedings of the ACM 2000 conference on Java Grande
Java Native Interface: Programmer's Guide and Reference
Java Native Interface: Programmer's Guide and Reference
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
A performance model for X10 applications: what's going on under the hood?
Proceedings of the 2011 ACM SIGPLAN X10 Workshop
Fast method dispatch and effective use of primitives for reified generics in managed X10
Proceedings of the 2012 ACM SIGPLAN X10 Workshop
Distributed garbage collection for managed X10
Proceedings of the 2012 ACM SIGPLAN X10 Workshop
Java interoperability in managed X10
Proceedings of the third ACM SIGPLAN X10 Workshop
Resilient X10: efficient failure-aware programming
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
X10 is a new programming language for improving the software productivity in the multicore era by making parallel/distributed programming easier. X10 programs are compiled into C++ or Java source code, but X10 supports various features not supported directly in Java. To implement them efficiently in Java, new compilation techniques are needed. This paper discusses problems in translating X10-specific functions to Java and provides our solutions. By using appropriate implementations, sequential execution performance has been improved by about 5 times making it comparable to native Java. The parallel execution performance has also been improved and the gap from Java Fork/Join performance is about 3 times when run at a single place. Initial evaluation of distributed execution shows good scalability. Most of the results in this paper have already been incorporated in X10 release 2.1.2. Many of the compilation techniques described in this paper can be useful for implementing other programming languages targeted for Java or other managed environments.