Abstract
Multicore processors are growing with respect to the number of cores on a chip. In a parallel computation context, multicore platforms have several important features such as exploiting multiple parallel processes, having access to a shared memory with noticeably lower cost than the distributed alternative and optimizing different levels of parallelism. In this paper, we introduce the Parallel Data Processing Unit (PDPU) which is a group of objects that benefits from the shared memory of the multicore configuration and that consists of two parts: a shared memory for maintaining data consistent, and a set of objects that are processing the data, then producing and aggregating the results concurrently. We then implement two examples in Java that illustrate PDPU behavior, and compare them with their actor based counterparts and show significant performance improvements. We also put forward the idea of integrating PDPU with the actor model which will result in an optimization for a specific spectrum of problems in actor based development.
Chapter PDF
Similar content being viewed by others
Keywords
References
Pop, F., Potop-Butucaru, M.: Adaptive Resource Management and Scheduling for Cloud Computing
Serbanescu, V., et al.: Towards Type-Based Optimizations in Distributed Applications Using ABS and JAVA 8. In: Adaptive Resource Management and Scheduling for Cloud Computing, pp. 103–112. Springer International Publishing (2014)
Nobakht, B., et al.: Programming and deployment of active objects with application-level scheduling. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing. ACM (2012)
Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)
Nobakht, B., de Boer, F.S.: Programming with actors in Java 8. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part II. LNCS, vol. 8803, pp. 37–53. Springer, Heidelberg (2014)
Bokhari, S.H.: Multiprocessing the sieve of Eratosthenes. Computer 20(4), 50–58 (1987)
SurfSara, https://surfsara.nl/
Brahm, E., et al.: An assertion-based proof system for multithreaded Java. Theoretical Computer Science 331(2), 251–290 (2005)
Hoare, C.A.R.: Monitors: An operating system structuring concept. Communications of the ACM 17(10), 549–557 (1974)
Andrews, G.R.: Concurrent programming: principles and practice. Benjamin/Cummings Publishing Company (1991)
Li, S., et al.: Analysis of the producer-consumer problem. Journal of Large-Scale Archetypes, 72–92 (2002)
Lea, D.: The java. util. concurrent synchronizer framework. Science of Computer Programming 58(3), 293–309 (2005)
Oaks, S., Wong, H.: Java threads. O’Reilly Media, Inc. (1999)
http://docs.oracle.com/javase/7/docs/api/overview-summary.html
Gropp, W., Lusk, E., Skjellum, A.: Using MPI: portable parallel programming with the message-passing interface, vol. 1. MIT press (1999)
Pop, A., Cohen, A.: OpenStream: Expressiveness and data-flow compilation of OpenMP streaming programs. ACM Transactions on Architecture and Code Optimization (TACO) 9(4), 53 (2013)
Briggs, E., et al.: DFT-Based Electronic Structure Calculations on Hybrid and Massively Parallel Computer Architectures. Bulletin of the American Physical Society (2014)
Asai, R., Vladimirov, A.: “Intel Cilk Plus for Complex Parallel Algorithms:“ Enormous Fast Fourier Transform”(EFFT) Library.” arXiv preprint arXiv:1409.5757 (2014)
Rabenseifner, R., Hager, G., Jost, G.: Hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes. In: 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing. IEEE (2009)
Dagum, L., Menon, R.: OpenMP: an industry standard API for shared-memory programming. IEEE Computational Science & Engineering 5(1), 46–55 (1998)
Gravvanis, G.A., et al.: A note on parallel finite difference approximate inverse preconditioning on multicore systems using POSIX threads. International Journal of Computational Methods 10(05) (2013)
Mueller, F.: A Library Implementation of POSIX Threads under UNIX. USENIX Winter (1993)
Snyder, L.: A taxonomy of synchronous parallel machines. Washington Univ. Seattle Dept. of Computer Science (1988)
Johnson, E.E.: Completing an MIMD multiprocessor taxonomy. ACM SIGARCH Computer Architecture News 16(3), 44–47 (1988)
UPSCALE European Project. http://www.upscale-project.eu/
Smith, T.F., Waterman, M.S.: Identification of Common Molecular Subsequences. J. Mol. Biol. 147, 195–197 (1981)
May, P., Ehrlich, H.C., Steinke, T.: ZIB Structure Prediction Pipeline: Composing a Complex Biological Workflow through Web Services. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 1148–1158. Springer, Heidelberg (2006)
Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (1999)
Czajkowski, K., Fitzgerald, S., Foster, I., Kesselman, C.: Grid Information QServices for Distributed Resource Sharing. In: 10th IEEE International Symposium on High Performance Distributed Computing, pp. 181–184. IEEE Press, New York (2001)
Foster, I., Kesselman, C., Nick, J., Tuecke, S.: The Physiology of the Grid: an Open Grid Services Architecture for Distributed Systems Integration. Technical report, Global Grid Forum (2002)
Gelernter, D., Carriero, N.: Coordination languages and their significance. Communications of the ACM 35(2), 96 (1992)
National Center for Biotechnology Information. http://www.ncbi.nlm.nih.gov
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 IFIP International Federation for Information Processing
About this paper
Cite this paper
Azadbakht, K., Serbanescu, V., de Boer, F. (2015). High Performance Computing Applications Using Parallel Data Processing Units. In: Dastani, M., Sirjani, M. (eds) Fundamentals of Software Engineering. FSEN 2015. Lecture Notes in Computer Science(), vol 9392. Springer, Cham. https://doi.org/10.1007/978-3-319-24644-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-24644-4_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-24643-7
Online ISBN: 978-3-319-24644-4
eBook Packages: Computer ScienceComputer Science (R0)