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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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
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)
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
Braband, J.: Waiting time distributions for M/M/N processor sharing queues. Stoch. Models 10(3), 533–548 (1994)
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)
Cook, R.P.: An OpenMP library for Java. In: 2013 Proceedings of IEEE on SoutheastCon, pp. 1–6. IEEE (2013)
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
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
Haight, F.A.: Handbook of the Poisson Distribution. Wiley, New York (1967)
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)
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)
Little, J.D.C.: A proof for the queuing formula: L = \(\lambda \)w. Oper. Res. 9(3), 383–387 (1961)
Polychronopoulos, C.D.: Nano-threads: compiler driven multithreading. In: 4th International Workshop on Compilers for Parallel Computing (1993)
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
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
TIOBE Software BV: TIOBE programming community index (2017)
Vikas, N.G., Sinnen, O.: Multiprocessing with GUI-awareness using OpenMP-like directives in Java. Parallel Comput. 40, 69–89 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)