Scheduling JavaSymphony Applications on Many-Core Parallel Computers

  • Muhammad Aleem
  • Radu Prodan
  • Thomas Fahringer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6852)


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 multi-core 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.


Processor Speed Heterogeneous Cluster Machine Load Memory Latency Application Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aleem, M., Prodan, R., Fahringer, T.: JavaSymphony: A programming and execution environment for parallel and distributed many-core architectures. In: D’Ambra, P., Guarracino, M., Talia, D. (eds.) Euro-Par 2010. LNCS, vol. 6272, pp. 139–150. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Barroso, L.A., Gharachorloo, K., McNamara, R., Nowatzyk, A., Qadeer, S., Sano, B., Smith, S., Stets, R., Verghese, B.: Piranha: a scalable architecture based on single-chip multiprocessing. In: In the 27th ISCA 2000, p. 282. ACM, New York (2000)Google Scholar
  3. 3.
    Caromel, D., Leyton, M.: Proactive parallel suite: From active objects-skeletons-components to environment and deployment. In: Euro-Par Workshops, pp. 423–437. Springer, Heidelberg (2008)Google Scholar
  4. 4.
    Chen, J., John, L.K.: Energy aware program scheduling in a heterogeneous multicore system. In: Proceedings of the IEEE International Symposium on Workload Characterization, 2008, pp. 1–9. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  5. 5.
    Frumkin, M.A., Schultz, M., Jin, H., Yan, J.: Performance and scalability of the NAS parallel benchmarks in Java. In: IPDPS, p. 139a. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  6. 6.
    Kaminsky, A.: Parallel Java: A unified API for shared memory and cluster parallel programming in 100% Java. In: 21st IPDPS. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  7. 7.
    Smith, L.A., Bull, J.M.: A multithreaded Java grande benchmark suite. In: Third Workshop on Java for High Performance Computing (2001)Google Scholar
  8. 8.
    Zhang, B.-Y., Yang, G.-W., Zheng, W.-M.: Jcluster: an efficient Java parallel environment on a large-scale heterogeneous cluster: Research articles. Concurr. Comput.: Pract. Exper. 18(12), 1541–1557 (2006)CrossRefGoogle Scholar
  9. 9.
    Zhuravlev, S., Blagodurov, S., Fedorova, A.: Addressing shared resource contention in multicore processors via scheduling. In: ASPLOS 2010, pp. 129–142. ACM, New York (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Muhammad Aleem
    • 1
  • Radu Prodan
    • 1
  • Thomas Fahringer
    • 1
  1. 1.Institute of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations