Skip to main content

A Generic Approach to Efficiently Parallelize Legacy Sequential Software

  • Conference paper
  • First Online:
Information Technology - New Generations

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 738))

  • 2665 Accesses

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.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Similar content being viewed by others

Notes

  1. 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. 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. 3.

    http://en.cppreference.com/w/cpp/thread.

  4. 4.

    http://www.openmp.org/.

  5. 5.

    https://developer.nvidia.com/cuda-zone.

References

  1. E. Chovancova, J. Mihal’ov, Load balancing strategy for multicore systems, in Proceedings of ICETA (2015), pp. 1–6

    Google Scholar 

  2. 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

    Google Scholar 

  3. L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 3rd edn. (Addison-Wesley Professional, Reading, 2012)

    Google Scholar 

  4. H. Vandierendonck, T. Mens, Techniques and tools for parallelizing software. IEEE Softw. 29, 22–25 (2012)

    Google Scholar 

  5. Intel, Threading Methodology: Principles and Practices (Intel Corporation, Mountain View, 2003)

    Google Scholar 

  6. V. Tovinkere, A methodology for threading serial applications. Intel White paper (2006)

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Google Scholar 

  9. Nvidia, CUDA C best practices guide. DG-05603-001_v8.0 (2017)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. J.L. Gustafson, Reevaluating amdahl’s law. Commun. ACM, 31(5), 532–533 (1988). http://doi.acm.org/10.1145/42411.42415

    Article  Google Scholar 

  12. 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

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Federico Ciccozzi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics