Skip to main content

An Interactive Approach to Profiling Parallel Functional Programs

  • 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

The full details of a parallel computation can be very complex. To understand and improve performance one useful resource is a log-file recording all the computational events that change the number or status of parallel tasks. Raw log-files are not easy reading for the programmer, so profiling tools present only graphical summary charts. These charts sometimes show just what the programmer needs to know, but they often become too crowded, or fail to show enough, or both. Moreover, the charts are static so the programmer has little control over what is displayed. In this paper we discuss a tool that combines the advantages of graphical representation of computations with a query interface. The programmer interactively extracts specific information about the computation. Results of queries can be displayed in a graphical form; and parameters of subsequent queries can be specified by pointing within a past display.

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. L. Augustsson and T. Johnsson. Parallel Graph Reduction with the <ν, G>-machine. In Proc. 1989 ACM Conference on Functional Programming Languages and Computer Architecture (FPLCA’ 89), pages 202–212, 1989.

    Google Scholar 

  2. P. Buneman, L. Libkin, V. Tannen, and L. Wong. Comprehension Syntax. SIGMOD Record, 23(1), 1994.

    Google Scholar 

  3. M. Carlsson and T. Hallgren. Fudgets-Purely Functional Processes with Applications to Graphical User Interfaces. PhD thesis, Department of Computer Science, Chalmers University of Technology, Sweden, 1998.

    Google Scholar 

  4. N. Charles and C. Runciman. Performance Monitoring. In Research Directions in Parallel Functional Programming. Springer-Verlag, 1999. In preparation.

    Google Scholar 

  5. P. P. Chen. The Entity-Relationship Model: Towards a Unified View of Data. IEEE Transactions on Data Base Systems, 1(1), 1976.

    Google Scholar 

  6. S. Finne, D. Leigen, E. Meijer, and S Peyton Jones. H/Direct: A Binary Foreign Language Interface for Haskell. In Proc. 3rd. International Conference on Functional Programming (ICFP’ 98), pages 153–162. ACM Press, 1998.

    Google Scholar 

  7. T. Hallgren and M. Carlsson. Programming with Fudgets. In Advanced Functional Programming, 1st. International School on Functional Programming Techniques, Båstad, Sweden, volume 925 of LNCS, pages 137–182. Springer-Verlag, 1995.

    Google Scholar 

  8. R. Halstead. Self-Describing Files + Smart Modules = Parallel Program Visualization. In Theory and Practice of Parallel Programming, volume 907 of LNCS. Springer-Verlag, 1994.

    Google Scholar 

  9. R. Halstead. Understanding the Performance of Parallel Symbolic Programs. In Parallel Symbolic Languages and Systems (Workshop Proceedings), volume 1068 of LNCS. Springer-Verlag, 1996.

    Google Scholar 

  10. K. Hammond, H-W. Loidl, and A. Partridge. Visualising Granularity in Parallel Programs: A Graphical Winnowing System for Haskell. In A.P.W. Bohm and J.T. Feo, editors, Proc. HPFC’95 — High Performance Functional Computing, pages 208–221, 1995.

    Google Scholar 

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

    Google Scholar 

  12. S. Jarvis, S. Marlow, S Peyton Jones, and E. Wilcox. Standardising Compiler/Profiler Log Files. In K. Hammond, A.J.T. Davie, and C. Clack, editors, Draft Proc. 10th International Workshop on the Implementation of Functional Languages (IFL’ 98), London, England, pages 429–446, September 1998.

    Google Scholar 

  13. D. King, J. Hall, and P. Trinder. A Strategic Profiler for Glasgow Parallel Haskell. In This Proceedings, 1998.

    Google Scholar 

  14. S. Lei, K. Zang, and K.-C. Li. Experience with the Design of a Performance Tuning Tool for Parallel Programs. Journal of Systems Software, 39(1):27–37, 1997.

    Article  Google Scholar 

  15. H-W. Loidl. GranSim User’s Guide, 1996. http://www.dcs.glasgow.ac.uk/fp/software/gransim/.

  16. H-W. Loidl. Granularity in Large Scale Parallel Functional Programs. PhD thesis, Department of Computer Science, University of Glasgow, 1998.

    Google Scholar 

  17. R. Nikhil. An Incremental, Strongly-Typed, Database Query Language. PhD thesis, University of Pennsylvania, 1984.

    Google Scholar 

  18. Oracle Corporation, Belmont, California, USA. SQL Language, Reference Manual, Version 6.0, 1990.

    Google Scholar 

  19. J. C. Peterson, K. Hammond, L. Augustsson, B. Boutel, F. W. Burton, J. Fasel, A. D. Gordon, R. J. M. Hughes, P. Hudak, T. Johnsson, M. P. Jones, E. Meijer, S. L. Peyton Jones, A. Reid, and P. L. Wadler. Report on the Non-Strict Functional Language, Haskell, Version 1.4, Yale University, 1997. Available at http://haskell.org.

  20. S. L. Peyton Jones, T. Nordin, and A. Reid. Green Card: a Foreign-Language Interface for Haskell. In Proc. of 2nd. Haskell Workshop, Amsterdam, 1997. Oregon Graduate Institute, 1997. http://www.dcs.gla.ac.uk/fp/software/green-card/.

  21. D. Reed, R. Aydt, T. Madhyastha, R. Noe, K. Shields, and B. Schwartz. Scalable Performance Environments for Parallel Systems. In 6th. Distributed Memory Computing Conference (IEEE), 1991.

    Google Scholar 

  22. P. Roe. Parallel Programming using Functional Languages. PhD thesis, Glasgow University, UK, 1991.

    Google Scholar 

  23. C. Runciman and D. Wakeling. Profiling Parallel Functional Computations (Without Parallel Machines). In Proc. 1993 Glasgow Workshop on Functional Programming, pages 236–251. Springer-Verlag, 1993.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  25. 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. PLDI’ 96, Philadelphia, Penn., pages 79–88, 1996.

    Google Scholar 

  26. R. P. Whittington. Logical Design. In [27], chapter 10. 1988.

    Google Scholar 

  27. R. P. Whittington. Database Systems Engineeering. Clarendon Press, Oxford, 1998.

    Google Scholar 

  28. A. Yu and J. Chen. The POSTGRES95 User Manual, Version 1.0, 1995.

    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

Charles, N., Runciman, C. (1999). An Interactive Approach to Profiling Parallel Functional Programs. 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_2

Download citation

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

  • 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