Scheduling JavaSymphony Applications on Many-Core Parallel Computers

JavaSymphony is a Java-based programming and execution environment for programming and scheduling the performance oriented applications on multi-core parallel computers. In this paper, we present a multi-core aware scheduling extension to JavaSymphony capable of mapping parallel applications on large multi-core machines and heterogeneous clusters. JavaSymphony scheduler considers several multicore specific performance parameters and application types, and uses these parameters to optimise the mapping of JavaSymphony objects and tasks. We evaluate the performance of JavaSymphony scheduler using several real scientific applications and benchmarks on a multi-core shared memory machine and a heterogeneous cluster.

[1]  L.A. Smith,et al.  A Parallel Java Grande Benchmark Suite , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[2]  Guangwen Yang,et al.  Jcluster: an efficient Java parallel environment on a large‐scale heterogeneous cluster , 2006, Concurr. Comput. Pract. Exp..

[3]  Domenico Talia,et al.  Euro-Par 2010 - Parallel Processing , 2010, Lecture Notes in Computer Science.

[4]  Radu Prodan,et al.  JavaSymphony: A Programming and Execution Environment for Parallel and Distributed Many-Core Architectures , 2010, Euro-Par.

[5]  Denis Caromel,et al.  ProActive Parallel Suite: From Active Objects-Skeletons-Components to Environment and Deployment , 2009, Euro-Par Workshops.

[6]  Michael A. Frumkin,et al.  Performance and scalability of the NAS parallel benchmarks in Java , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[7]  Alexandra Fedorova,et al.  Addressing shared resource contention in multicore processors via scheduling , 2010, ASPLOS 2010.

[8]  Guangwen Yang,et al.  Jcluster: an efficient Java parallel environment on a large-scale heterogeneous cluster: Research Articles , 2006 .

[9]  Luiz André Barroso,et al.  Piranha: a scalable architecture based on single-chip multiprocessing , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[10]  Alan Kaminsky Parallel Java: A Unified API for Shared Memory and Cluster Parallel Programming in 100% Java , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.