Abstract
Multi-core processing units have been the answer to ever increasing demand of computational power of modern software. One of the main issues with the adoption of new hardware is portability of legacy software. In this specific case, in order for legacy sequential software to maximize the exploitation of the computational benefits brought by multi-core processors, it has to undergo a parallelization effort. Although there is a common agreement and well-specified support for parallelizing sequential algorithms, there is still a lack in supporting software engineers in identifying and assessing parallelization potentials in a legacy sequential application. In this work we provide a generic parallelization approach which supports the engineering in maximizing performance gain through parallelization while minimizing the cost of the parallelization effort. We evaluate the approach on an industrial use-case at ABB Robotics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The parallelization budget depends on several factors and it represents the budget in terms of maximum parallelization effort by which the parallelization itself is considered preferable to a re-implementation from scratch.
- 2.
An alternative to Amdahl’s law is represented by Gustafson’s law [11], which can be more suitable when parallelizing algorithms that can expand the amount of computation to fit the amount of parallelization available.
- 3.
- 4.
- 5.
References
E. Chovancova, J. Mihal’ov, Load balancing strategy for multicore systems, in Proceedings of ICETA (2015), pp. 1–6
M.A. Kiefer, K. Molitorisz, J. Bieler, W.F. Tichy, Parallelizing a real-time audio application – a case study in multithreaded software engineering, in Proceedings of IPDPS (2015), pp. 405–414
L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 3rd edn. (Addison-Wesley Professional, Reading, 2012)
H. Vandierendonck, T. Mens, Techniques and tools for parallelizing software. IEEE Softw. 29, 22–25 (2012)
Intel, Threading Methodology: Principles and Practices (Intel Corporation, Mountain View, 2003)
V. Tovinkere, A methodology for threading serial applications. Intel White paper (2006)
B. Jun-feng, Application development methods based on multi-core systems, in 2012 International Conference on Industrial Control and Electronics Engineering (2012), pp. 858–862
C. Christmann, J. Falkner, A. Weisbecker, A methodology for porting sequential software to the multicore platform considering technical and economical aspects of software parallelization, in Proceedings of ICSOFT-EA (2014), pp. 551–559
Nvidia, CUDA C best practices guide. DG-05603-001_v8.0 (2017)
F.G. Tinetti, M. Méndez, A. De Giusti, Restructuring fortran legacy applications for parallel computing in multiprocessors. J. Supercomput. 64(2), 638–659 (2013)
J.L. Gustafson, Reevaluating amdahl’s law. Commun. ACM, 31(5), 532–533 (1988). http://doi.acm.org/10.1145/42411.42415
G.M. Amdahl, Validity of the single processor approach to achieving large scale computing capabilities, in Readings in Computer Architecture (Morgan Kaufmann, San Francisco, 2000), pp. 79–81
Acknowledgements
This research is partially supported by the Knowledge Foundation through the MOMENTUM project (http://www.es.mdh.se/projects/458-MOMENTUM).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Granholm, A., Ciccozzi, F. (2018). A Generic Approach to Efficiently Parallelize Legacy Sequential Software. In: Latifi, S. (eds) Information Technology - New Generations. Advances in Intelligent Systems and Computing, vol 738. Springer, Cham. https://doi.org/10.1007/978-3-319-77028-4_59
Download citation
DOI: https://doi.org/10.1007/978-3-319-77028-4_59
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-77027-7
Online ISBN: 978-3-319-77028-4
eBook Packages: EngineeringEngineering (R0)