Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ptp-dev] Re: Question about bug 292049

Hi Jie,

The changes to the views look fine.

To fix the slurm.h problem, I've modified the proxy code to add "PTP_" to the beginning of all proxy*.h constants. Please update the slurm C code to use the new names and hopefully this should resolve the problem.

Regards,
Greg

On Nov 3, 2009, at 8:19 AM, JiangJie wrote:

Hi Greg,

Thanks for your suggestion. By now, most of the codes related to SLURM support are kept in org.eclipse.ptp.rm.slurm.core/ui,
except some  minor changes to org.eclipse.ptp.ui.views.ParallelJobsView and org.eclipse.ptp.ui.views.ParallelProcessView.
Since current implementation of ptp_slurm_proxy can't provide process Id to ptp ui when launching jobs,
we have to display "N/A" message to avoid giving user wrong PID information.
This problem will be solved in our next version of ptp_slurm_proxy.

But for proxy_attr.h, things seem to be complex. 
We know that node states are defined in proxy_attr.h, such as NODE_STATE_UP/DOWN/ERROR/UNKNOWN. 
However, the SLURM header file "slurm.h" also defines its own node states as NODE_STATE_UNKNOWN/DOWN/IDLE/ALLOCATED.
In my ptp_slurm_proxy, I have to include both proxy_attr.h and slurm.h. 
Obviously, NODE_STATE_DOWN/UNKNOWN are defined in both header files, which causes a compile error.
I cann't change the implementation code of slurm.h, since other parts of SLURM rms and other SLURM users may rely on this file.
So I choose to modify proxy_attr.h by adding  #ifndef HAVE_SLURM_SLURN_H/#endif to comment the conflict definitions when building ptp_slurm_proxy. This may not be elegant, but it seems necessary.

Regards,
Jie


Subject: Re: Question about bug 292049
From: g.watson@xxxxxxxxxxxx
Date: Mon, 2 Nov 2009 11:01:07 -0500
CC: ptp-dev@xxxxxxxxxxx
To: yangtzj@xxxxxxxxxxx

Jie,

You shouldn't change anything in org.eclipse.ptp.rm.core/ui. In fact, you shouldn't need to use AbstractToolRuntimeSystem at all. This is only used for resource managers like Open MPI and MPICH2. All the SLURM-specific code must reside in the slurm.core and slurm.ui plugins.

Add the code that I put in the bug to the existing SLURMResourceManager class in doCreateRuntimeSystem(). The SLURM attributes should be created in your SLURMRMLaunchConfigurationDynamicTab and returned via the getAttributes() method. These will be automatically passed to the submitJob method, and you will receive them in your SLURM proxy.

Greg



使用Messenger保护盾2.0,支持多账号登录! 现在就下载!


Back to the top