Skip to main content

Fusion of Concurrent Invocations of Exclusive Methods

  • Conference paper
  • First Online:
  • 331 Accesses

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

Abstract

This paper describes a mechanism for “fusing” concurrent invocations of exclusive methods. The target of our work is object-oriented languages with concurrent extensions. In the languages, concurrent invocations of exclusive methods are serialized; only one invocation executes immediately and the others wait for their turn. The mechanism fuses multiple waiting invocations to a cheaper operation such as a single invocation. The programmers describe fusion rules, which specify method invocations that can be fused and an operation that substitutes for the invocations. The mechanism works effectively in the execution in synchronization bottlenecks, which are objects on which exclusive methods wait a long time for their turn. We have implemented a language that has the mechanism and tested the usefulness of the mechanism through experiments on a symmetric multiprocessor, the Sun Enterprise 10000. We have confirmed that the mechanism made programs with synchronization bottlenecks fast.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Richard S. Bird: Algebraic Identities for Program Calculation. The Computer Journal, 32(2): 122–126, 1989.

    Article  MathSciNet  Google Scholar 

  2. David Callahan. Recognizing and Parallelizing Bounded Recurrences. In Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing (LCPC’91). Lecture Notes in Computer Science, Vol. 589. Springer-Verlag (1991) 169–185.

    Chapter  Google Scholar 

  3. Andrew A. Chien. Concurrent Aggregates (CA). The MIT Press, 1991.

    Google Scholar 

  4. Andrew A. Chien, Udey Reddy, John Plevyak, and Julian Dolby. ICC++-A C++ Dialect for High Performance Parallel Computing. In Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software (ISOTAS’96). Lecture Notes in Computer Science, Vol. 1049. Springer-Verlag (1996) 76–95.

    Google Scholar 

  5. Allan L. Fisher and Anwar M. Ghuloum. Parallelizing Complex Scans and Reductions. In Proceedings of the ACM SIGPLAN’94 Conference on Programming Language Design and Implementation (PLDIrs94), pages 135–146, 1994.

    Google Scholar 

  6. Matteo Frigo, Charles E. Leiserson, and Keith H. Randall. The Implementation of the Cilk-5 Multithreaded Language. In Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI’98), pages 212–223, 1998.

    Google Scholar 

  7. Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, and Marc Snir. The NYU Ultracomputer-Designing an MIMD Shared Memory Parallel Computer. IEEE Transactions on Computers, 32(2):175–189, 1983.

    Article  Google Scholar 

  8. GTK+ Home Page. http://www.gtk.org/.

  9. Zhenjiang Hu, Masato Takeichi, and Wei-Ngan Chin. Parallelization in Calculational Forms. In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’98), pages 316–328, 1998.

    Google Scholar 

  10. Ken Kennedy. Telescoping Languages: A Compiler Strategy for Implementation of High-Level Domain-Specific Programming Systems. In Proceedings of International Parallel and Distributed Processing Symposium 2000 (IPDPS 2000), pages 297–304, 2000.

    Google Scholar 

  11. Yoshiyuki Onoue, Zhenjiang Hu, Hideya Iwasaki, and Masato Takeichi. A Calculational Fusion System HYLO. In IFIP TC2 Working Conference on Algorithmic Languages and Calculi, pages 76–106. Chapman&Hall, 1997.

    Google Scholar 

  12. OpenMP Architecture Review Board. OpenMP C and C++ Application Program Interface, 1998.

    Google Scholar 

  13. Yoshihiro Oyama. Achieving High Performance in Parallel Programs that Contain Unscalable Modules. PhD thesis, Department of Information Science, Graduate School of Science, University of Tokyo, 2000.

    Google Scholar 

  14. Yoshihiro Oyama, Kenjiro Taura, Toshio Endo, and Akinori Yonezawa. An Implementation and Performance Evaluation of Language with Fine-Grain Thread Creation on Shared Memory Parallel Computer. In Proceedings of 1998 International Conference on Parallel and Distributed Computing and Systems (PDCS’98), pages 672–675, 1998.

    Google Scholar 

  15. Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus. In Proceedings of Euro-Par’ 97 Parallel Processing, Object-Oriented Programming Workshop. Lecture Notes in Computer Science, Vol. 1300. Springer-Verlag (1997) 546–553.

    Google Scholar 

  16. Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Executing Parallel Programs with Synchronization Bottlenecks Efficiently. In Proceedings of International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA’99), pages 182–204. World Scientific, 1999.

    Google Scholar 

  17. Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Online Computation of Critical Paths for Multithreaded Languages. In Proceedings of the 5th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2000). Lecture Notes in Computer Science. Vol. 1800. Springer-Verlag (2000) 301–313.

    Google Scholar 

  18. Martin C. Rinard and Pedro C. Diniz. Eliminating Synchronization Bottlenecks in Object-Based Programs Using Adaptive Replication. In Proceedings of 1999 ACM International Conference on Supercomputing (ICS’ 99), pages 83–92, 1999.

    Google Scholar 

  19. Kenjiro Taura, Kunio Tabata, and Akinori Yonezawa. StackThreads/MP: Integrating Futures into Calling Standards. In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’99), pages 60–71, 1999.

    Google Scholar 

  20. Kenjiro Taura and Akinori Yonezawa. Schematic: A Concurrent Object-Oriented Extension to Scheme. In Proceedings of Workshop on Object-Based Parallel and Distributed Computation (OBPDC’95). Lecture Notes in Computer Science. Vol. 1107. Springer-Verlag (1996) 59–82.

    Google Scholar 

  21. Philip Wadler. Deforestation: Transforming programs to eliminate trees. Theoretical Computer Science, 73(2):231–248, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  22. Masahiro Yasugi, Shigeyuki Eguchi, and Kazuo Taki. Eliminating Bottlenecks on Parallel Systems using Adaptive Objects. In Proceedings of International Conference on Parallel Architectures and Compilation Techniques (PACT’98), pages 80–87, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Oyama, Y., Taura, K., Yonezawa, A. (2001). Fusion of Concurrent Invocations of Exclusive Methods. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2001. Lecture Notes in Computer Science, vol 2127. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44743-1_29

Download citation

  • DOI: https://doi.org/10.1007/3-540-44743-1_29

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics