[GE issues] RE: Creating a Soft consumable resource
molumurj <[email protected]> Wed, 21 Jul 2010 21:15:06 +0530
| Newsgroups | gmane.comp.clustering.gridengine.users,gmane.comp.java.sun.ipl.bugs |
|---|---|
| Message-ID | <6404320ADBB23E4BAB6DBFEB925CFFCD278BF6EFB5@HYDMBX2.winmail.deshaw.com> |
I went through the source code and the code to deny soft resources consumab=
les was added in SGE v5.3 to fix the bug id http://gridengine.sunsource.net=
/issues/show_bug.cgi?id=3D223
http://gridengine.sunsource.net/ds/viewMessage.do?dsMessageId=3D78898&dsFor=
umId=3D35
Quoting: (=20
<>=20
I think there is a little bug inside SGE 5.3 . =20
If I have a host complex=20
mpi_down mpi_down BOOL false =3D=3D NO NO false=20
and a queue with=20
load_thresholds np_load_short=3D1.1,mpi_down=3Dtrue=20
this queues is alarmed when no loadreport set mpi_down=20
to false. =20
</>
From: ./daemons/qmaster/sge_job_qmaster.c
<>
/****** sge_job/deny_soft_consumables() ***********************************=
*****
* NAME
* deny_soft_consumables() -- Deny soft consumables
*
* SYNOPSIS
* static int deny_soft_consumables(lList **alpp, lList *srl)
*
* FUNCTION
* Find out if consumables are requested and deny them.
*
* INPUTS
* lList** alpp - answer list pointer pointer
* lList *srl - jobs JB_soft_resource_list
* const lList *master_centry_list - the master centry list
*
* RESULT
* static int - 0 request can pass
* !=3D0 consumables requested soft
*
***************************************************************************=
****/
int deny_soft_consumables(lList **alpp, lList *srl, const lList *master_cen=
try_list)
{
lListElem *entry, *dcep;
const char *name;
DENTER(TOP_LAYER, "deny_soft_consumables");
/* ensure no consumables are requested in JB_soft_resource_list */
for_each(entry, srl) {
name =3D lGetString(entry, CE_name);
if (!(dcep =3D centry_list_locate(master_centry_list, name))) {
ERROR((SGE_EVENT, MSG_ATTRIB_MISSINGATTRIBUTEXINCOMPLEXES_S , name=
));
answer_list_add(alpp, SGE_EVENT, STATUS_EUNKNOWN, ANSWER_QUALITY_E=
RROR);
DRETURN(-1);
}
/* ignore non-consumables */
if (lGetUlong(dcep, CE_consumable)) {
ERROR((SGE_EVENT, MSG_JOB_MOD_SOFTREQCONSUMABLE_S, name));
answer_list_add(alpp, SGE_EVENT, STATUS_EUNKNOWN, ANSWER_QUALITY_E=
RROR);
DRETURN(-1);
}
}
DRETURN(0);
}
</>
<>
if (deny_soft_consumables(alpp, lGetList(jep, JB_soft_resource_=
list), master_centry_list)) {
DRETURN(STATUS_EUNKNOWN);
}
</>
Can someone more knowledgeable please comment on the changes or point us to=
some documentation on the soft resources.
Thanks.
-----Original Message-----
From: Molumuri, Janardhan=20
Sent: Monday, July 19, 2010 8:02 PM
To: [email protected]
Cc: svibhore
Subject: RE: [GE users] Creating a Soft consumable resource
A soft request on consumable attributes is not working.
From the source code:
From msg_qmaster.h:
<<>>
#define MSG_JOB_MOD_SOFTREQCONSUMABLE_S _MESSAGE(33307, _("denied: soft re=
quests on consumables like "SFQ" are not supported"))
<</>>
Is there any reason behind enforcing this? If so how can we use soft reques=
ts.
>qsub -soft -l test=3D0.1 uptime
Unable to run job: denied: soft requests on consumables like "test" are not=
supported.
Exiting.
>
-----Original Message-----
From: templedf [mailto:[email protected]]=20
Sent: Wednesday, July 14, 2010 7:55 PM
To: [email protected]
Cc: svibhore
Subject: Re: [GE users] Creating a Soft consumable resource
The qsub -soft switch with a consumable is what you want. If you assign=20
1 of your consumable to every machine and then request it with -soft,=20
the scheduler will try to put only one per machine, but if it runs out=20
of machines, it will ignore the consumable.
Daniel
On 07/14/10 04:33 AM, svibhore wrote:
> I have a scenario where I want to create a resource which should be used
> ( ideally) one per host but if all the resources are used( i.e all the
> hosts have job using this consumable) the jobs should not fail and get
> scheduled on any host.
>
> In a typical hard resource the jobs would fail if all the hosts have one
> job running on them, and in soft resource I cannot limit the number of
> jobs getting scheduled on the host( which will be limited by number of
> slots).
>
> This will achieve two things for me, first the jobs gets distributed on
> all host as one job per host and secondly this will guarantee that jobs
> would not fail even if all the hosts have a job running on them.
>
> Ideas ?
>
> Regards,
> Shantanu
------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=3D38&dsMessageI=
d=3D267984
To unsubscribe from this discussion, e-mail: [users-unsubscribe@gridengine.=
sunsource.net].
------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=3D38&dsMessageI=
d=3D269004
To unsubscribe from this discussion, e-mail: [users-unsubscribe@gridengine.=
sunsource.net].
------------------------------------------------------
http://gridengine.sunsource.net/ds/viewMessage.do?dsForumId=3D38&dsMessageI=
d=3D269505
To unsubscribe from this discussion, e-mail: [users-unsubscribe@gridengine.=
sunsource.net].