Skip to main content

Asynchronous OpenMP Tasking with Easy Thread Context Switching and Pool Control

  • Conference paper
  • First Online:
Book cover Scaling OpenMP for Exascale Performance and Portability (IWOMP 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10468))

Included in the following conference series:

Abstract

OpenMP tasking is a very effective approach for many parallelization problems. In order to introduce this advanced parallelism tool to Java community, this paper presents an implementation of Java OpenMP tasking. In addition, by emphasizing on concurrency for event-driven programming framework, a new virtual target concept is proposed. By comparing the concepts between OpenMP tasking and virtual target, it shows how virtual target is more suitable for event-driven parallelization. To analyze event-driven parallelization performance, a performance model is presented, and it sheds light on the performance issues in an event-driven system. The experiment shows the effectiveness of the new proposed virtual target tasking approach, and it enables a more flexible performance tuning with task pool control.

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

Access this chapter

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 EPUB and 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

Institutional subscriptions

Notes

  1. 1.

    In the context of an event-driven application, “concurrency” refers to the computation being offloaded to a background thread allowing the EDT to progress.

References

  1. Ayguade, E., Copty, N., Duran, A., Hoeflinger, J., Lin, Y., Massaioli, F., Teruel, X., Unnikrishnan, P., Zhang, G.: The design of OpenMP tasks. IEEE Trans. Parallel Distrib. Syst. 20(3), 404–418 (2009)

    Article  Google Scholar 

  2. Balart, J., Duran, A., Gonzàlez, M., Martorell, X., Ayguadé, E., Labarta, J.: Experiences parallelizing a web server with OpenMP. In: Mueller, M.S., Chapman, B.M., Supinski, B.R., Malony, A.D., Voss, M. (eds.) IWOMP -2005. LNCS, vol. 4315, pp. 191–202. Springer, Heidelberg (2008). doi:10.1007/978-3-540-68555-5_16

    Chapter  Google Scholar 

  3. Braband, J.: Waiting time distributions for M/M/N processor sharing queues. Stoch. Models 10(3), 533–548 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bull, J.M., Kambites, M.E.: JOMP–an OpenMP-like interface for Java. In: Proceedings of the ACM 2000 Conference on Java Grande, JAVA 2000, pp. 44–53. ACM, New York (2000)

    Google Scholar 

  5. Cook, R.P.: An OpenMP library for Java. In: 2013 Proceedings of IEEE on SoutheastCon, pp. 1–6. IEEE (2013)

    Google Scholar 

  6. Duran, A., Perez, J.M., Ayguadé, E., Badia, R.M., Labarta, J.: Extending the OpenMP tasking model to allow dependent tasks. In: Eigenmann, R., Supinski, B.R. (eds.) IWOMP 2008. LNCS, vol. 5004, pp. 111–122. Springer, Heidelberg (2008). doi:10.1007/978-3-540-79561-2_10

    Chapter  Google Scholar 

  7. Fan, X., Sinnen, O., Giacaman, N.: Towards an event-driven programming model for OpenMP. In: 2016 45th International Conference on Parallel Processing Workshops (ICPPW), pp. 240–249, August 2016

    Google Scholar 

  8. Haight, F.A.: Handbook of the Poisson Distribution. Wiley, New York (1967)

    Google Scholar 

  9. Kendall, D.G.: Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded Markov chain. Ann. Math. Stat. 24, 338–354 (1953)

    Article  MathSciNet  MATH  Google Scholar 

  10. Klemm, M., Bezold, M., Veldema, R., Philippsen, M.: JaMP: an implementation of OpenMP for a Java DSM. Concurrency Comput. Pract. Exp. 19(18), 2333–2352 (2007)

    Article  Google Scholar 

  11. Little, J.D.C.: A proof for the queuing formula: L = \(\lambda \)w. Oper. Res. 9(3), 383–387 (1961)

    Article  MathSciNet  MATH  Google Scholar 

  12. Polychronopoulos, C.D.: Nano-threads: compiler driven multithreading. In: 4th International Workshop on Compilers for Parallel Computing (1993)

    Google Scholar 

  13. Salva, S., Delamare, C., Bastoul, C.: Web service call parallelization using OpenMP. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds.) IWOMP 2007. LNCS, vol. 4935, pp. 185–194. Springer, Heidelberg (2008). doi:10.1007/978-3-540-69303-1_21

    Chapter  Google Scholar 

  14. Teruel, X., Klemm, M., Li, K., Martorell, X., Olivier, S.L., Terboven, C.: A proposal for task-generating loops in OpenMP*. In: Rendell, A.P., Chapman, B.M., Müller, M.S. (eds.) IWOMP 2013. LNCS, vol. 8122, pp. 1–14. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40698-0_1

    Chapter  Google Scholar 

  15. TIOBE Software BV: TIOBE programming community index (2017)

    Google Scholar 

  16. Vikas, N.G., Sinnen, O.: Multiprocessing with GUI-awareness using OpenMP-like directives in Java. Parallel Comput. 40, 69–89 (2013)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xing Fan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Fan, X., Sinnen, O., Giacaman, N. (2017). Asynchronous OpenMP Tasking with Easy Thread Context Switching and Pool Control. In: de Supinski, B., Olivier, S., Terboven, C., Chapman, B., Müller, M. (eds) Scaling OpenMP for Exascale Performance and Portability. IWOMP 2017. Lecture Notes in Computer Science(), vol 10468. Springer, Cham. https://doi.org/10.1007/978-3-319-65578-9_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65578-9_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65577-2

  • Online ISBN: 978-3-319-65578-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics