Performance and Scalability of the NAS Parallel Benchmarks in Java
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande–ISCOPE Conference Part II
Feedback-directed thread scheduling with memory considerations
Proceedings of the 16th international symposium on High performance distributed computing
The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability
The Definitive Guide to Terracotta: Cluster the JVM for Spring, Hibernate and POJO Scalability
ISPAN '08 Proceedings of the The International Symposium on Parallel Architectures, Algorithms, and Networks
JEOPARD: Java environment for parallel real-time development
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
On the evaluation of java symphony for heterogeneous multi-core clusters
Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
Scheduling javasymphony applications on many-core parallel computers
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part I
Hi-index | 0.00 |
Today, software developers face the challenge of re-engineering their applications to exploit the full power of the new emerging many-core processors. However, a uniform high-level programming model and interface for parallelising Java applications is still missing. In this paper, we propose a new Java-based programming model for shared memory many-core parallel computers as an extension to the JavaSymphony distributed programming environment. The concept of dynamic virtual architecture allows modelling of hierarchical resource topologies ranging from individual cores and multi-core processors to more complex parallel computers and distributed Grid infrastructures. On top of this virtual architecture, objects can be explicitly distributed, migrated, and invoked, enabling high-level user control of parallelism, locality, and load balancing. We evaluate the JavaSymphony programming model and the new shared memory run-time environment for six real applications and benchmarks on a modern multi-core parallel computer. We report scalability analysis results that demonstrate that JavaSymphony outperforms pure Java implementations, as well as other alternative related solutions.