Skip to main content

A Strategic Profiler for Glasgow Parallel Haskell

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1595))

Included in the following conference series:

Abstract

Execution profiling plays a crucial part in the performanceimproving process for parallel functional programs. This paper presents the design, implementation, and use of a new execution time profiler (GranSinm-SP) for Glasgow Parallel Haskell (GpH). Parallelism is introduced in GpH by using evaluation strategies, which provide a clean way of co-ordinating parallel threads without destroying a program’s original structure. The new profiler attributes the cost of evaluating parallel threads to the strategies that created them. A unique feature of the strategic profiler is that the call-graph of evaluation strategies is maintained, allowing the programmer to discover the sequence of (perhaps nested) strategies that were used to create any given thread. The strategic profiler is demonstrated on several examples, and compared with other profilers.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. N. Charles and C. Runciman. An Interactive Approach to Profiling Parallel Functional Programs. In This Proceedings.

    Google Scholar 

  2. C. Clack, S. Clayman, and D. Parrott. Lexical Profiling: Theory and Practice. Journal of Functional Programming, 5(2):225–277, Apr. 1995.

    Article  MATH  Google Scholar 

  3. W. Gropp and E. Lusk. User’s Guide for mpich, a Portable Implementation of MPI. Mathematics and Computer Science Division, Argonne National Laboratory, University of Chicago, July 1998.

    Google Scholar 

  4. J. G. Hall, C. Baker-Finch, P. Trinder, and D. J. King. Towards an Operational Semantics for a Parallel Non-Strict Functional Language. In This Proceedings.

    Google Scholar 

  5. K. Hammond, H.-W. Loidl, and P. Trinder. Parallel Cost Centre Profiling. In Proc. 1997 Glasgow Workshop on Functional Programming, Ullapool, Scotland, Sept. 1997.

    Google Scholar 

  6. J. A. Kohl and G. A. Geist. XPVM 1.0 User’s Guide. Oak Ridge National Laboratory, Nov. 1996.

    Google Scholar 

  7. H.-W. Loidl. GranSim’s User Guide. Department of Computing Science, University of Glasgow, 0.03 edition, July 1996.

    Google Scholar 

  8. H.-W. Loidl. Granularity in Large-Scale Parallel Functional Programming. PhD thesis, Department of Computing Science, University of Glasgow, Mar. 1998.

    Google Scholar 

  9. R. G. Morgan and S. A. Jarvis. Profiling Large-Scale Lazy Functional Programs. Journal of Functional Programming, 8(3), May 1998.

    Google Scholar 

  10. S. L. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In Proc. 23rd ACM Symposium on Principles of Programming Languages (POPL’ 96), pages 295–308, St Petersburg Beach, Florida, Jan. 1996.

    Google Scholar 

  11. S. L. Peyton Jones, C. Hall, K. Hammond, W. Partain, and P. Wadler. The Glasgow Haskell compiler: A technical overview. In Proc. UK Joint Framework for Information Technology, Technical Conference (JFIT’ 93), pages 249–257, Keele, Mar. 1993.

    Google Scholar 

  12. C. Runciman and D. Wakeling. Applications of Functional Programming. UCL Press Ltd, 1995.

    Google Scholar 

  13. P. M. Sansom and S. L. Peyton Jones. Time and Space Profiling for Non-Strict, Higher-Order Functional Languages. In Proc. 22nd. ACM Symposium on Principles of Programming Languages (POPL’ 95), pages 355–366, San Francisco, California, Jan. 1995. ACM SIGPLAN-SIGACT.

    Google Scholar 

  14. P. M. Sansom and S. L. Peyton Jones. Formally-Based Profiling for Higher-Order Functional Languages. ACM Transactions on Programming Languages and Systems, 19(1), Jan. 1997.

    Google Scholar 

  15. P.W. Trinder, K. Hammond, H.-W. Loidl, and S.L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1):23–60, January 1998.

    Article  MATH  MathSciNet  Google Scholar 

  16. P.W. Trinder, K. Hammond, J.S. Mattson, A.S. Partridge, and S.L. Peyton Jones. GUM: a Portable Parallel Implementation of Haskell. In Proc. 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’ 96), pages 79–88, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

King, D.J., Hall, J., Trinder, P. (1999). A Strategic Profiler for Glasgow Parallel Haskell. In: Hammond, K., Davie, T., Clack, C. (eds) Implementation of Functional Languages. IFL 1998. Lecture Notes in Computer Science, vol 1595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48515-5_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-48515-5_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66229-7

  • Online ISBN: 978-3-540-48515-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics