[padb] IBM AIX

Ashley Pittman ashley at pittman.co.uk
Tue Jan 24 13:08:01 GMT 2012


On 24 Jan 2012, at 12:20, Peter Mayes wrote:

> Hi,
> 
> I have used padb in an x86/Linux environment.
> 
> Has anybody asked for, or investigated, getting padb running with AIX + POE + LoadLeveler? 

It's not something that's come up on my radar so far.

> I don't want to waste time if it is infeasible, or reinvent the wheel if somebody has already looked at this.

Padb was originally written on Tru64 Unuix and currently support Linux and Solaris, it should be possible to get it running on any Unix-like OS, the bulk of the code is Perl so the AIX part shouldn't be too hard at all.  I'm not familiar with POE or LoadLeveler other than by name but a cursory glance says that they should work well.

The one major thing you'll need is a way of locating the processes in any parallel job, for MPI we can use the MPIR debugging interface, for OPMI we can use the orte-ps command for example, it looks from the documentation that "llq" will provide the required data.  Once you have a way of providing this data, and assuming ssh, perl and gdb are present, then padb should just work.  I think the other issue we had to address with the Solaris port was to ignore the LWP thread when looking at stack traces.

There are of course different modes that padb can run in, the stack trace viewer is easiest to port as it interfaces with gdb only, some of the other modes are highly tied to the Linux /proc interface so would be harder to port but aren't required for basic operation.

Have a look through the code for $running_on_solaris to get an idea of the complexity of porting to another OS, most of the code here revolves around using ps rather than /proc to query jobs - as it's a POSIX ps interface this could likely be re-used on AIX, for LoadLeveler and POE a good place to start would be the slurm* functions which you would need to provide equivalents for.

Ashley.



More information about the padb-devel mailing list