Skip to main content
Log in

A scalable method-level parallel library and its improvement

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This paper proposes a method-level parallel library, called JPL, and an improved version based on aspect-oriented programming, called AOJPL. Both JPL and AOJPL execute a method based on run-time reflection. By adding OpenMP-like notations to the definition of a method, AOJPL can automatically finish some tasks of JPL, thus making AOJPL easy to utilize. Experimental results show that when JPL and AOJPL are applied to several benchmarks in the JGF Benchmark Suite for varying numbers of threads on two different multicore processors (Intel Xeon and Sun Sparc T2), their performance tracks JOMP very closely under the situation that the number of software threads is not more than a number (8 for Intel Xeon and 64 for Sun Sparc T2). When the number of software threads surpasses the number, JPL and AOJPL significantly outperform JOMP for all four benchmarks. Both JPL and AOJPL can gain good scalability.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aamir S, Jawad M (2009) Towards efficient shared memory communications in MPJ express. In: Java workshop at the 23rd IEEE International parallel and distributed processing symposium, Rome, Italy, May 2009

    Google Scholar 

  2. AspectJ. http://www.eclipse.org/aspectj/

  3. Bik AJC, Gannon DB (1997) Automatic exploiting implicit parallelism in Java. Concurrency 9(6):576–619

    Google Scholar 

  4. Bull JM, Kambites ME (2000) JOMP—an OpenMP-like interface for Java. In: Proceedings of the ACM conference on Java Grande, p 53

    Google Scholar 

  5. Chen MK, Olukotun K (2002) Exploiting method-level parallelism in single-threaded Java programs. In: Proceedings of international conference on parallel architectures and compilation techniques, pp 176–184

    Google Scholar 

  6. Hall MW, Martonosi M (1999) Adapting parallelism in compiler parallelized code. In: Concurrency and computation: practice and experience

    Google Scholar 

  7. Hu S, Bhargava R, John LK (2003) The role of return value prediction in exploiting speculative method-level parallelism. J Instr-Level Parallelism 5:1–21

    Google Scholar 

  8. Ji WX. Cpplib. http://cs.bit.edu.cn/~pass

  9. Kiczales G, Irwin J, Lamping J, Mendhekar A, Maeda C, Lopes CV, Loingtier J (1997) Aspect-oriented programming. In: Proceedings of ECOOP

    Google Scholar 

  10. OpenMP. http://www.openmp.org/

  11. Oplinger JT, Heine DL, Lam MS (1999) In search of speculative thread-level parallelism. In: Proceedings of international conference on parallel architectures and compilation techniques, pp 303–313

    Google Scholar 

  12. Otto F, Pankratius V, Tichy WF (2009) XJava: Exploiting parallelism with object-oriented stream programming. In: Proceeding of Euro-Par 2009, pp 875–886

    Chapter  Google Scholar 

  13. Smith LA, Bull JM, Obdrizalek J (2006) A parallel Java Grande benchmark suite. In: ACM/IEEE conference of supercomputing

    Google Scholar 

  14. Allen MD, Sridharan S, Sohi GS (2009) Serialization sets: a dynamic dependence based parallel execution model. ACM SIGPLAN Not 44(4):85–96

    Article  Google Scholar 

  15. SQL Server. http://www.microsoft.com/sqlserver/

  16. Warg F, Stenstrom P (2001) Limits on speculative module-level parallelism in imperative and object-oriented programs on CMP platforms. In: Parallel architectures and compilation techniques, pp 221–230

    Google Scholar 

  17. Whaley J, Kozyrakis C (2005) Heuristics for profile-driven method-level speculative parallelization. In: International conference on parallel processing, pp 147–156

    Google Scholar 

  18. Zhang L, Krintz C, Nagpurkar P (2007) Language and virtual machine support for efficient fine-grained futures in Java. In: Proceedings of the 16th international conference on parallel architecture and compilation techniques, pp 130–139

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yang Zhang.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhang, Y., Ji, W. A scalable method-level parallel library and its improvement. J Supercomput 61, 1154–1167 (2012). https://doi.org/10.1007/s11227-011-0690-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0690-5

Keywords

Navigation