Skip to main content

Concise Analysis Using Implication Algebras for Task-Local Memory Optimisation

  • Conference paper
Static Analysis (SAS 2013)

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

Included in the following conference series:

  • 981 Accesses

Abstract

OpenMP is a pragma-based extension to C to support parallelism. The OpenMP standard recently added support for task-based parallelism but in a richer way than languages such as Cilk. Naïve implementations give each task its own stack for task-local memory, which is very inefficient.

We detail a program analysis for OpenMP to enable tasks to share stacks without synchronisation—either unconditionally or dependent on some cheap run-time condition which is very likely to hold in busy systems.

The analysis is based on a novel implication-algebra generalisation of logic programming which allows concise but easily readable encodings of the various constraints. The formalism enables us to show that the analysis has a unique solution and polynomial-time complexity.

We conclude with performance figures.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Supertech Research: Cilk 5.4.6 Reference Manual (1998)

    Google Scholar 

  2. Podobas, A., Brorsson, M., Faxén, K.F.: A comparison of some recent task-based parallel programming models (2010)

    Google Scholar 

  3. Olivier, S.L., Prins, J.F.: Evaluating OpenMP 3.0 Run Time Systems on Unbalanced Task Graphs. In: Müller, M.S., de Supinski, B.R., Chapman, B.M. (eds.) IWOMP 2009. LNCS, vol. 5568, pp. 63–78. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. OpenMP Architecture Review Board: OpenMP Application Program Interface. Technical report (2008)

    Google Scholar 

  5. Blumofe, R.D., Leiserson, C.E.: Space-efficient scheduling of multithreaded computations. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, pp. 362–371 (1993)

    Google Scholar 

  6. Kowalski, R.: Predicate logic as programming language. Edinburgh University (1973)

    Google Scholar 

  7. Apt, K.R., Blair, H.A., Walker, A.: Towards a theory of declarative knowledge. IBM TJ Watson Research Center (1986)

    Google Scholar 

  8. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: Proceedings of the 5th International Conference on Logic Programming, vol. 161 (1988)

    Google Scholar 

  9. Damásio, C., Pereira, L.: Antitonic logic programs. Logic Programming and Nonmotonic Reasoning, 379–393 (2001)

    Google Scholar 

  10. Stallman, R.M.: GNU compiler collection internals. Free Software Foundation (2002)

    Google Scholar 

  11. Addison, C., LaGrone, J., Huang, L., Chapman, B.: OpenMP 3.0 tasking implementation in OpenUH. In: Open64 Workshop at CGO 2009 (2009)

    Google Scholar 

  12. Teruel, X., Martorell, X., Duran, A., Ferrer, R., Ayguadé, E.: Support for OpenMP tasks in Nanos v4. In: Proceedings of the 2007 Conference of the Center for Advanced Studies on Collaborative Research, pp. 256–259 (2007)

    Google Scholar 

  13. Duran, A., Teruel, X., Ferrer, R., Martorell, X., Ayguade, E.: Barcelona OpenMP Tasks Suite: A Set of Benchmarks Targeting the Exploitation of Task Parallelism in OpenMP. In: Proceedings of the 2009 International Conference on Parallel Processing, ICPP 2009, pp. 124–131. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

White, L., Mycroft, A. (2013). Concise Analysis Using Implication Algebras for Task-Local Memory Optimisation. In: Logozzo, F., Fähndrich, M. (eds) Static Analysis. SAS 2013. Lecture Notes in Computer Science, vol 7935. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38856-9_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38856-9_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38855-2

  • Online ISBN: 978-3-642-38856-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics