Skip to main content

Experiences with loop parallelization in javar (A prototype restructuring compiler for java)

  • Parallel Programming Methods and Language Extensions
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

  • 92 Accesses

Abstract

In this paper we discuss some experiences with javar, which is a prototype Java restructuring compiler that supports the automatic conversion of serial loops into constructs that use the multi-threading mechanism of the language to exploit any parallelism in these loops. Expressing parallelism in Java itself clearly has the advantage that the transformed program remains portable. After compilation of the transformed Java program into bytecode, speedup can be obtained on any platform on which the Java Virtual Machine implementation supports the true parallel execution of threads, whereas we will see that the threads only induce a slight overhead on uni-processors.

This project is supported by DARPA under contract ARPA F19628-94-C-0057 through a subcontract from Syracuse University.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers Principles, Techniques and Tools. Addison-Wesley, 1986.

    Google Scholar 

  2. Utpal Banerjee. Dependence Analysis for Supercomputing. Kluwer, Boston, 1988.

    Google Scholar 

  3. Utpal Banerjee. Loop Transformations for Restructuring Compilers: The Foundations. Kluwer, Boston, 1993. A Book Series on Loop Transformations for Restructuring Compilers.

    Google Scholar 

  4. Utpal Banerjee. Loop Parallelization. Kluwer, Boston, 1994. A Book Series on Loop Transformations for Restructuring Compilers.

    Google Scholar 

  5. Aart J.C. Bik and Dennis B. Gannon. Automatically exploiting implicit parallelism in Java. Concurrency, Practice and Experience, 9(6):579–619, 1997.

    Google Scholar 

  6. Zoran Budimlic and Ken Kennedy. Optimizing Java-theory and practice. Concurrency, Practice and Experience, 9(6):445–463, 1997.

    Google Scholar 

  7. Bryan Carpenter, Yuh-Jye Chang, Geoffrey Fox, Donald Leskiw, and Xiaoming Li. Experiments with ‘HP Java'. Concurrency, Practice and Experience, 9(6):633–648, 1997.

    Google Scholar 

  8. Michal Cierniak and Wei Li. Optimizing Java bytecodes. Concurrency, Practice and Experience, 9(6):427–444, 1997.

    Google Scholar 

  9. Jack J. Dongarra et al. Java Linpack Benchmark. This benchmark is made available at http://www.netlib.org/benchmark/linpackjava/.

    Google Scholar 

  10. uGeoffrey C. Fox and Wojtek Furmanski. Java for parallel computing and as a general language for scientific and engineering simulation and modeling. Concurrency, Practice and Experience, 9(6):415–425, 1997.

    Google Scholar 

  11. James Gosling, Bill Joy, and Guy Steele. Java Programming Language. AddisonWesley, Reading, Massachusetts, 1996.

    Google Scholar 

  12. Vipin Kumar, Ananth Grama, Anshul Gupta, and George Karypis. Introduction to Parallel Programming. The Benjamin/Cummings Publishing Company, Redwood City, CA, 1994.

    Google Scholar 

  13. Doug Lea. Concurrent Programming in Java. Addison-Wesley, Reading, Massachusetts, 1997.

    Google Scholar 

  14. David Wanqian Liu. Wavelet Transformation Package. This package is made available at http://reality.sgi.com/davidliu/.

    Google Scholar 

  15. Samuel P. Midkiff. The Dependence Analysis and Synchronization of Parallel Programs. PhD thesis, C.S.R.D., 1993.

    Google Scholar 

  16. Constantine D. Polychronopoulos. Parallel Programming and Compilers. Kluwer, Boston, 1988.

    Google Scholar 

  17. Michael J. Wolfe. Optimizing Supercompilers for Supercomputers. Pitman, London, 1989.

    Google Scholar 

  18. Michael J. Wolfe. High Performance Compilers for Parallel Computers. AddisonWesley, Redwood City, California, 1996.

    Google Scholar 

  19. H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers. ACM Press, New York, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bik, A.J., Villacis, J.E., Gannon, D.B. (1998). Experiences with loop parallelization in javar (A prototype restructuring compiler for java). In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032704

Download citation

  • DOI: https://doi.org/10.1007/BFb0032704

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64472-9

  • Online ISBN: 978-3-540-69788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics