Abstract
Parallel programs are increasingly being written using programming frameworks and other environments that allow parallel constructs to be programmed with greater ease. The data structures used allow the modeling of complex mathematical structures like linear systems and partial differential equations using high-level programming abstractions. While this allows programmers to model complex systems in a more intuitive way, it also makes the debugging and profiling of these systems more difficult due to the complexity of mapping these high level abstractions down to the low level parallel programming constructs. This work discusses mapping mechanisms, called variable blame, for creating these mappings and using them to assist in the profiling and debugging of programs created using advanced parallel programming techniques. We also include an example of a prototype implementation of the system profiling three programs.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
POOMA, http://acts.nersc.gov/pooma/
Balay, S., Buschelman, K., Gropp, W.D., Kaushik, D., Knepley, M.G., McInnes, L.C., Smith, B.F., Zhang, H.: PETSc Web page (2001), http://www.mcs.anl.gov/petsc
Deutsch, A.: On the complexity of escape analysis. In: POPL 1997: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 358–371. ACM, New York (1997)
Lattner, C., Adve, V.: Llvm: A compilation framework for lifelong program analysis & transformation. In: Proceedings of the 2004 International Symposium on Code Generation and Optimization, CGO 2004 (2004)
Univ. of Maryland, Univ. of Wisconsin: StackWalker API Manual. 0.6b edn. (2007)
Browne, S., Dongarra, J., Garner, N., London, K., Mucci, P.: A scalable cross-platform infrastructure for application performance tuning using hardware counters, pp. 65–65 (2000)
FFP_SPARSE, http://people.scs.fsu.edu/~burkardt/cpp_src/ffp_sparse/
Irvin, R.B.: Performance Measurement Tools for High-Level Parallel Programming Languages. PhD thesis, University of Wisconsin-Madison (1995)
Irvin, R.B., Miller, B.P.: Mapping performance data for high-level and data views of parallel program performance. In: International Conference on Supercomputing, pp. 69–77 (1996)
Shende, S.: The Role of Instrumentation and Mapping in Performance Measurement. PhD thesis, University of Oregon (2001)
Shende, S.S., Malony, A.D.: The tau parallel performance system. Int. J. High Perform. Comput. Appl. 20(2), 287–311 (2006)
Graham, S.L., Kessler, P.B., McKusick, M.K.: An execution profiler for modular programs. Softw., Pract. Exper. 13(8), 671–685 (1983)
Graham, S.L., Kessler, P.B., McKusick, M.K.: gprof: a call graph execution profiler. In: SIGPLAN Symposium on Compiler Construction, pp. 120–126 (1982)
Anderson, J., Berc, L., Dean, J., Ghemawat, S., Henzinger, M., Leung, S., Sites, D., Vandevoorde, M., Waldspurger, C., Weihl, W.: Continuous profiling: Where have all the cycles gone (1997)
Mellor-Crummey, J.M., Fowler, R.J., Whalley, D.B.: Tools for application-oriented performance tuning. In: International Conference on Supercomputing, pp. 154–165 (2001)
SGI Technical Publications: SpeedShop User’s Guide
De Rose, L., Zhang, Y., Reed, D.A.: SvPablo: A multi-language performance analysis system. In: Puigjaner, R., Savino, N.N., Serra, B. (eds.) TOOLS 1998. LNCS, vol. 1469, pp. 352–355. Springer, Heidelberg (1998)
Guo, P.J., Perkins, J.H., McCamant, S., Ernst, M.D.: Dynamic inference of abstract types. In: ISSTA 2006: Proceedings of the 2006 international symposium on Software testing and analysis, pp. 255–265. ACM, New York (2006)
McCamant, S., Ernst, M.D.: Quantitative information flow as network flow capacity. In: PLDI 2008, Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, Tucson, AZ, USA, June 9–11, pp. 193–205 (2008)
Volpano, D., Irvine, C., Smith, G.: A sound type system for secure flow analysis. J. Comput. Secur. 4(2-3), 167–187 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rutar, N., Hollingsworth, J.K. (2009). Assigning Blame: Mapping Performance to High Level Parallel Programming Abstractions. In: Sips, H., Epema, D., Lin, HX. (eds) Euro-Par 2009 Parallel Processing. Euro-Par 2009. Lecture Notes in Computer Science, vol 5704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03869-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-03869-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03868-6
Online ISBN: 978-3-642-03869-3
eBook Packages: Computer ScienceComputer Science (R0)