From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25005 invoked by alias); 6 Jan 2012 18:32:26 -0000 Received: (qmail 24995 invoked by uid 22791); 6 Jan 2012 18:32:25 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 06 Jan 2012 18:32:13 +0000 From: "pidsouza at in dot ibm.com" To: glibc-bugs@sources.redhat.com Subject: [Bug libc/13570] New: Controlling gmon.out file creation in HPC environment Date: Fri, 06 Jan 2012 18:32:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: libc X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: pidsouza at in dot ibm.com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: drepper.fsp at gmail dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2012-01/txt/msg00036.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=13570 Bug #: 13570 Summary: Controlling gmon.out file creation in HPC environment Product: glibc Version: unspecified Status: NEW Severity: normal Priority: P2 Component: libc AssignedTo: drepper.fsp@gmail.com ReportedBy: pidsouza@in.ibm.com Classification: Unclassified In the High Performance Computing (HPC) the parallel(Message Passing Interface - MPI) applications run as large number of tasks (100s, 1000s to 1 million tasks). Each of these tasks may be run on different nodes of a HPC cluster. Each task is a process by itself, which are executed in parallel using the same binary (SPMD or MPMD models). When these MPI applications are profiled using -pg option, depending on the number of tasks those many separate gmon.out files will be created in the same shared file system. This leads to bottleneck on to the application both from file system space, large amount disk operation during process exit. HPC users might be interested in limited set of gmon.out files which meet certain defined criteria and not all the gmon.out files created. However the set is not known until after the application has completed execution and the gmon.out files are about to be written. In the view to address the above said bottleneck and give the user only the gmon.out files of interest, following approach can be thought about: 1. Disable the generation of gmon.out file at exit(). 2. Obtain access to all gmon data in memory prior to application exit using public interfaces so that data can be processed for the subset of tasks that are of interest. The above approach was tried on Redhat 6.1 (Santiago) 2.6.32-131.0.15.el6.ppc64. With moncontrol(0) could not stop the creation of gmon.out file during exit. It only switches off the profiling. The atexit handler gmon.c:_mcleanup() creates the gmon.out. There is no way to stop it creating. Even if one succeeds to stop creation of gmon.out file, the data variable which holds the profile data is declared as hidden. Ref - gmon.c:struct gmonparam _gmonparam attribute_hidden = { GMON_PROF_OFF }; Due to this, the applications will not be able to read the collected in-memory data from the tasks to apply the filtering criteria. We need mechanisms to stop the creation of gmon.out file and access to read the collected gmon data using which gmon.out file is generated at will. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.