Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,

Slides:



Advertisements
Similar presentations
TPTP 4.4 New Java Profiler (JVMTI) Test and Performance Tools Platform (TPTP) Heap Analysis Enhancements for TPTP 4.4 Asaf Yaffe Software and Solutions.
Advertisements

K T A U Kernel Tuning and Analysis Utilities Department of Computer and Information Science Performance Research Laboratory University of Oregon.
Profiling your application with Intel VTune at NERSC
This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Running Jobs on Jacquard An overview of interactive and batch computing, with comparsions to Seaborg David Turner NUG Meeting 3 Oct 2005.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Brad Whitlock October 14, 2009 Brad Whitlock October 14, 2009 Porting VisIt to BG/P.
Guide To UNIX Using Linux Third Edition
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
1 Parallel Performance Analysis with Open|SpeedShop Trilab Tools-Workshop Martin Schulz, LLNL/CASC LLNL-PRES
Module 1: Introduction to C# Module 2: Variables and Data Types
MpiP Evaluation Report Hans Sherburne, Adam Leko UPC Group HCS Research Laboratory University of Florida.
What’s New in VRS? GUGM May 15, 2008 Presenter: Kelly P. Robinson GIL Service Georgia State University
WORK ON CLUSTER HYBRILIT E. Aleksandrov 1, D. Belyakov 1, M. Matveev 1, M. Vala 1,2 1 Joint Institute for nuclear research, LIT, Russia 2 Institute for.
LLNL-PRES-XXXXXX This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
Overview of the Computer Resource Team (CRT) Blaise Barney (LLNL) Rob Cunningham (LANL) Barbara Jennings (Sandia) PSAAP Kickoff Meeting July 8, 2008 Albuquerque,
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 6 Value- Returning Functions and Modules.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Let VRS Work for You! ELUNA Conference 2008 Presenter: Kelly P. Robinson GIL Service Georgia State University
A Comparison of Library Tracking Methods in High Performance Computing Computer System Cluster and Networking Summer Institute 2013 Poster Seminar William.
Scalable Analysis of Distributed Workflow Traces Daniel K. Gunter and Brian Tierney Distributed Systems Department Lawrence Berkeley National Laboratory.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
SC 2012 © LLNL / JSC 1 HPCToolkit / Rice University Performance Analysis through callpath sampling  Designed for low overhead  Hot path analysis  Recovery.
Program documentation Using the Doxygen tool Program documentation1.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
TotalView Debugging Tool Presentation Josip Jakić
Parallel Computing with Matlab CBI Lab Parallel Computing Toolbox TM An Introduction Oct. 27, 2011 By: CBI Development Team.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
Introduction to Using SLURM on Discover Chongxun (Doris) Pan September 24, 2013.
Accelerating Scientific Exploration Using Workflow Automation Systems Terence Critchlow (LLNL) Ilkay Altintas (SDSC) Scott Klasky(ORNL) Mladen Vouk (NCSU)
Linux+ Guide to Linux Certification, Third Edition
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Performance Monitoring Tools on TCS Roberto Gomez and Raghu Reddy Pittsburgh Supercomputing Center David O’Neal National Center for Supercomputing Applications.
Distributed monitoring system. Why Monitor? Solve them! Identify Problems Ensure conduct Requirements Manage many computers Spot trends in the system.
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Lawrence Livermore National Laboratory Pianola: A script-based I/O benchmark Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA
7. CBM collaboration meetingXDAQ evaluation - J.Adamczewski1.
ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work.
Confidential ACL Functions Corporate Audit Services Technology Solutions Team Charlene Vallandingham and Jack Hauschild September 29, 2008.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory ASC STAT Team: Greg Lee, Dong Ahn (LLNL), Dane Gardner (LANL)
Faucets Queuing System Presented by, Sameer Kumar.
Swap Space and Other Memory Management Issues Operating Systems: Internals and Design Principles.
So, You Need to Look at a New Application … Scenarios:  New application development  Analyze/Optimize external application  Suspected bottlenecks First.
CS 838: Pervasive Parallelism Introduction to pthreads Copyright 2005 Mark D. Hill University of Wisconsin-Madison Slides are derived from online references.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
MPI and OpenMP.
Running Parallel Jobs Cray XE6 Workshop February 7, 2011 David Turner NERSC User Services Group.
Lawrence Livermore National Laboratory LLNL-PRES- XXXXXX LLNL-PRES This work was performed under the auspices of the U.S. Department of Energy by.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
LLNL-PRES This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Advanced Computing Facility Introduction
Architecture Review 10/11/2004
Assumptions What are the prerequisites? … The hands on portion of the workshop will be on the command-line. If you are not familiar with the command.
Lawrence Livermore National Laboratory
CCR Advanced Seminar: Running CPLEX Computations on the ISE Cluster
Memory Allocation CS 217.
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Presentation transcript:

Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 memP: Lightweight Heap Profiling LLNL-PRES

Lawrence Livermore National Laboratory memP: Simple, scalable, heap profiling  memP heap profiling library provides an initial tool for examining application heap use  Helps to simplify first-pass performance analysis Easy to use: simple, reliable, low learning overhead Focus on important, yet easy to access information  Key metric: Heap High Water Mark (HWM) Maximum in-use heap allocation amount Tracks allocated memory Retains  HWM  HWM call site  Supported platforms: AMD Opteron w/ IB (TLCC, Peloton, etc.) BG/L and BG/P 1

Lawrence Livermore National Laboratory How does it work?  Allocation calls are intercepted by memP wrappers  memP wrappers call internal library functions  All information is task-local  Data collection and report generation is done arbitrarily (by runtime parameters) within MPI_Finalize  Task data is collected by the library using MPI collectives 2

Lawrence Livermore National Laboratory Using memP on LLNL's Linux Clusters 1.Important: first issue the command (interactive or in batch script): use memp 2.Compile or re-link your application with the required libraries: -L/usr/local/tools/memp/lib –lmemP –ldl 3.Set selected runtime parameters using the MEMP environment variable. For example: setenv MEMP "-x -t" More on this later... 3

Lawrence Livermore National Laboratory Using memP on LLNL's Linux Clusters 4.Run your application as usual under the srun command. For example: srun -n 16 -p pdebug a.out (interactively from login node) srun -n 64 a.out (in batch script) Or, instead of compiling/re-linking, you can also use run-time insertion of memP by using the srun-memp command. For example: srun-memp -n 16 -p pdebug a.out 5.Successful execution will produce an memP report(s). For example: memP: Storing memP output in [./a.out memP]. 4

Lawrence Livermore National Laboratory Viewing memP output  Recommended way to view memP output is with the Tool Gear viewer: Need to have run with -x included in your MEMP environment variable setting use mpipview (load Tool Gear components) setup your local X11 display environment TGui memP-outputfile  Plain text summary report also available (do not view with GUI)  Examining heap use Summary report only (text) Task report - HWM (xml) Task report - memory in use(xml)  Types of information reported depends mostly on the setting of your MEMP environment variable. 5

Lawrence Livermore National Laboratory Viewing memP output  Some useful MEMP runtime options:  Usually need to use a combination of options to get desired reports. For example, you always need -t and -x to get any useful information at the task level, and to see source code locations. ParameterEffectDefault -xGenerate XML outputOff -h [#]Task Report with HWM threshold specifiedNo Filter -i [#]Produce task "memory in use" report(s)Off -j [#]Report only on a given MPI rank. Report on all ranks -p [#]Number of HWM task entries to print (text report only)All tasks -tGenerate stack trace dataOff 6

Lawrence Livermore National Laboratory Using memP on LLNL's Linux Clusters  Example MEMP settings: setenv MEMP "-x -t" Produce an XML report that includes task HWM details and source code locations setenv MEMP "-x -t -h i 1" Same as previous plus generate one "memory in use" report per task if the specified HWM threshhold is reached. setenv MEMP "-x -t -h i 8" Same as previous but produce up to 8 "memory in use" reports per task - allows reporting on multiple locations in code that reach the specified HWM setenv MEMP "-x -t -h i 8 -j 6" Same as previous, but only generate "memory in use" reports for MPI task 6 7

Lawrence Livermore National Laboratory Viewing memP output Default text summary report MEMP unset Text summary report MEMP="-p 8" 8

Lawrence Livermore National Laboratory Viewing memP output Summary Report - HWM XML only Detail for each MPI task Callsite stack tracing Source code view MEMP="-x -t" 9

Lawrence Livermore National Laboratory Viewing memP output 10

Lawrence Livermore National Laboratory Viewing memP output Task Report - memory in use: XML only Detail for each MPI task Allocations in use by Call Site ID (CSID) Can generate multiple files/reports per task. Source code view MEMP="-x -t -i #" 11

Lawrence Livermore National Laboratory Viewing memP output Example: files/reports produced by 8-task job with MEMP="-x -t -h i 2" -rw blaise blaise Jul 20 14:03 a.out memP Summary report -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP Task memory in use reports -rw blaise blaise Jul 20 14:03 a.out.rank memP Up to 2 call sites per task -rw blaise blaise Jul 20 14:03 a.out.rank memP where HWM was reached -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP -rw blaise blaise Jul 20 14:03 a.out.rank memP 12

Lawrence Livermore National Laboratory  Availability LLNL: Library installed in /usr/local/tools/memp/lib SNL  Module load tools/memP  /projects/tools_workshop/memP  Future Work Measuring available memory BG/P Kernel_GetMemorySize How to provide more information about OOM conditions Reporting based on time of allocation vs allocation size  References Tool Gear: John Gyllenhaal (LLNL) & John May (LLNL)  Tool POC: Chris Chambreau site Tool mail list : memP site : Availability, Future Work, References 13