[Mpi3-tools] Reviving old proposal: finding tools DLLs

Martin Schulz schulzm at llnl.gov
Mon Feb 13 11:21:33 CST 2012


On Feb 13, 2012, at 9:09 AM, Bronis R. de Supinski wrote:

> 
> Next Monday is a US holiday (Presidents' Day).

Oops, missed that - thanks.

The next day in the regular rotation falls onto the MPI forum then and after that's it's 3/19. Since it has been a while, we can probably also change the Monday and meet on 2/27.

Jeff, just let me know what you want to do.

Martin


> 
> On Mon, 13 Feb 2012, Martin Schulz wrote:
> 
>> Hi Jeff, all,
>> 
>> Independent from the technical discussion, I think you both are right regarding the original proposal. We basically put this aside when we starting diving into MPIR and when we decided to pull MPIR out of a proposal for the standard and into a separate document. We should probably do the latter also for the other debugging proposals if they use a similar (non MPI API) interface. The question is, though, should these all be separate documents or do you want to add to the MPIR document and keep all these interfaces together?
>> 
>> Martin
>> 
>> PS: Do you want a TelCon to talk about these issues? Our next usual slot would be next Monday.
>> 
>> 
>> On Feb 13, 2012, at 8:45 AM, Jeff Squyres wrote:
>> 
>>> On Feb 13, 2012, at 11:26 AM, John DelSignore wrote:
>>> 
>>>> The new scheme seems to do a reasonable job at separating out 32-bit vs 64-bit libraries, but it has no provisions for cross or heterogeneous debugging. When the debugger is loading a MQD DLL for a target process, it want to find a library that can be validly loaded into the debugger's address space and is appropriate for the target process. It says. "For example, a tool can attempt to dynamically load each of the files in the array; the file that loads successfully is likely a good candidate to be used by the tool." It's the "likely a good candidate" part that makes me concerned.
>>>> 
>>>> If we take the LANL Roadrunner machine as an extreme example, the debugger might be targeting a mixture of Linux-x86_64 and Linux-Cell processes, call this the "target platform" for a given target process. Also, various debugger processes may be running on Linux-x86_64 and Linux-Cell, call this the "debugger platform" for a given debugger process. Note that it is not necessarily the case that the "target platform" is the same as "debugger platform" when the MQD DLL is loaded.
>>>> 
>>>> To cover the cross or heterogeneous debugging cases, I think the debugger needs to search the list of DLLs looking for one that is appropriate for both the "debugger platform" and the "target platform". The current proposal allows the debugger to find one that is appropriate for the "debugger platform", but it may not be the right DLL for the "target platform". Perhaps we need a way to be more explicit about the debugger and target platforms for each entry in the vector. Do we care about solving this problem?
>>> 
>>> I think I was intentionally fuzzy in this text to let the tool decide what is best.
>>> 
>>> The text in that paragraph is couched in language like "For example, ...".  Did you want to make it softer?
>>> 
>>>> Another issue I see with the current definition is where the DLL name variables live, which is currently defined to live in the MPI process itself. I was wondering is there was any benefit to allowing (but not requiring) the DLL name variables to live in the MPI starter, rather than the MPI processes. Most implementations currently put MPIR_dll_name[] in the MPI process, but that may require the debugger to read the variable from each MPI process, which creates scalability issues if the debugger wants to load the DLL at a single point in its front-end process. I'd be interested to hear if other feel this is an issue.
>>> 
>>> Mmm.  Good point.
>>> 
>>> The PDF I sent earlier was talking about the general technique of an argv-style array.  I think the intent was to specifically list a) the variable name, and b) the location of that variable in the sections about each DLL (e.g., in the MPIR document, and in the MQD DLL verbiage that hasn't been written yet).
>>> 
>>> However, there is a sentence in the PDF I sent that should probably be changed:
>>> 
>>> -----
>>> However, the tool that wishes to make use of these interfaces typically only has knowledge of the MPI process itself – it may not know where the supplemental tool interface implementations can be found.
>>> -----
>>> 
>>> Should probably be changed to:
>>> 
>>> -----
>>> However, the tool that wishes to make use of these interfaces typically only has knowledge of ***an MPI "starter" process, or the set of MPI processes*** itself – it may not know where the supplemental tool interface implementations can be found.
>>> -----
>>> 
>>> ...and then adjust the rest of the text where we state "The MPI process..."
>>> 
>>> Howzat?
>>> 
>>> --
>>> Jeff Squyres
>>> jsquyres at cisco.com
>>> For corporate legal information go to:
>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>> 
>>> 
>>> _______________________________________________
>>> Mpi3-tools mailing list
>>> Mpi3-tools at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools
>> 
>> ________________________________________________________________________
>> Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
>> CASC @ Lawrence Livermore National Laboratory, Livermore, USA
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Mpi3-tools mailing list
>> Mpi3-tools at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools

________________________________________________________________________
Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
CASC @ Lawrence Livermore National Laboratory, Livermore, USA







More information about the mpiwg-tools mailing list