will this patch be rejected or must i change something? Any comments will be welcome.

Regards

Bas van der Vlies wrote:
I have just installed maui 3.2.6p16 and i have still have the same
problem. I could apply the patch without any problems ;-)

My question is will the patch be applied, changed or rejected? See explanation below

Regards and Thanks

-------- Original Message --------
Subject:     [Mauiusers] Patch for nodeaccespolicy SINGLEJOB and MAXPS for
SMPmachines
Date:     Mon, 14 Feb 2005 17:45:06 +0100
From:     Bas van der Vlies <[EMAIL PROTECTED]>
To:     Maui Users <[email protected]>



At our side we run one job per nodes and have an MAXPS setting of 600
hours and max walltime 120 hours. Our nodes have 2 processors. When the
user submits
an job for eg:
    1) qsub -I -lnodes=60:ppn=1 -lwalltime=10:00:00 ( will run )
    2) qsub -I -lnodes=60:ppn=2 -lwalltime=10:00:00 ( wil not run MAXPS
                                                      violation)

Now when job 1 runs is allocates the whole node and maui sees that it
oocupies 4 task ( 2 nodes and each node two cpu's = 4 tasks). So the
used tme will becalculated as 60 * 2 * 10 = 1200 hours. What is far more
then allowed!

The next example will only run one job instead of 2:
    qsub -I -lnodes=30:ppn=1 -lwalltime=10:00:00 ( will run )
    qsub -I -lnodes=30:ppn=1 -lwalltime=10:00:00 ( will not  run MAXPS
                                                   violation )

I have an patch that checks if NODEACCESSPOLICY SINGLEJOB is set. If so
then it forgets the cpu's per node.

--- PATCH attached --

--
--
********************************************************************
*                                                                  *
*  Bas van der Vlies                     e-mail: [EMAIL PROTECTED]      *
*  SARA - Academic Computing Services    phone:  +31 20 592 8012   *
*  Kruislaan 415                         fax:    +31 20 6683167    *
*  1098 SJ Amsterdam                                               *
*                                                                  *
********************************************************************




------------------------------------------------------------------------

Index: src/moab/MStats.c
===================================================================
--- src/moab/MStats.c   (revision 2)
+++ src/moab/MStats.c   (working copy)
@@ -913,8 +913,20 @@
      called from:         MQueueAddAJob()
   */
- TotalProcs = MJobGetProcCount(J); + /* + * HvB Calculation fix for SINGLEJOB nodes + */ + RQ = J->Req[0];
+  if ( RQ->NAccessPolicy == mnacSingleJob )
+    {
+    TotalProcs = J->NodesRequested;
+    }
+  else
+    {
+    TotalProcs = MJobGetProcCount(J);
+    }
+
   if (TotalProcs == 0)
     {
     DBG(3,fSTAT) DPrint("INFO:     no tasks associated with job '%s' (no statistics 
available)\n",
@@ -929,7 +941,14 @@
     (double)MSched.Interval / 100.0,
     (double)MSched.Time - J->StartTime);
- pesdedicated = PE * interval;
+  if ( RQ->NAccessPolicy == mnacSingleJob )
+    {
+    pesdedicated = TotalProcs * interval;
+    }
+  else
+    {
+    pesdedicated = PE * interval;
+    }
for (rqindex = 0;J->Req[rqindex] != NULL;rqindex++) { @@ -947,10 +966,10 @@
       psremaining = TotalProcs * (J->StartTime + J->WCLimit - MSched.Time);
     else
       psremaining = 0;
- +
     if ((J->StartTime != MSched.Time) && (J->CTime != MSched.Time))
{ - psdedicated = interval * MJobGetProcCount(J);
+      psdedicated = interval * TotalProcs;
for (nindex = 0;nindex < MAX_MNODE_PER_JOB;nindex++)
         {
Index: src/moab/MPolicy.c
===================================================================
--- src/moab/MPolicy.c  (revision 2)
+++ src/moab/MPolicy.c  (working copy)
@@ -1518,6 +1518,11 @@
double PE; + /*
+   * HvB
+  */
+  mreq_t *RQ;
+
   const char *FName = "MPolicyAdjustUsage";
DBG(4,fSCHED) DPrint("%s(%s,%s,%s,%s,%s,%s,%d,%s)\n",
@@ -1553,8 +1558,18 @@
PConsumed[mptMaxJob] = 1; PConsumed[mptMaxProc] = MJobGetProcCount(J);
     PConsumed[mptMaxNode] = J->Request.NC;
-    PConsumed[mptMaxPS]   = PConsumed[mptMaxProc] * PConsumed[mptMaxWC];
+ /*
+     *  HvB Calculation fix for NODEACCESSPOLICY SINGLEJOB
+    */
+    RQ = J->Req[0];
+    if ( RQ->NAccessPolicy == mnacSingleJob )
+      {
+      PConsumed[mptMaxPS]   = J->NodesRequested * PConsumed[mptMaxWC];
+      }
+    else
+      PConsumed[mptMaxPS]   = PConsumed[mptMaxProc] * PConsumed[mptMaxWC];
+
     MJobGetPE(J,&MPar[0],&PE);
PConsumed[mptMaxPE] = (int)PE;
@@ -1571,7 +1586,17 @@
     PConsumed[mptMaxNode] = R->NodeCount;
     PConsumed[mptMaxWC]   = R->EndTime - R->StartTime;
     PConsumed[mptMaxPE]   = R->AllocPC;
- PConsumed[mptMaxPS] = PConsumed[mptMaxProc] * PConsumed[mptMaxWC]; +
+    /*
+     *  HvB Calculation fix for NODEACCESSPOLICY SINGLEJOB
+    */
+    RQ = J->Req[0];
+    if ( RQ->NAccessPolicy == mnacSingleJob )
+      {
+      PConsumed[mptMaxPS]   = J->NodesRequested * PConsumed[mptMaxWC];
+      }
+    else
+      PConsumed[mptMaxPS]   = PConsumed[mptMaxProc] * PConsumed[mptMaxWC];
     }
   else
     {
Index: src/moab/MJob.c
===================================================================
--- src/moab/MJob.c     (revision 2)
+++ src/moab/MJob.c     (working copy)
@@ -2639,6 +2639,11 @@
double PE; + /*
+   * HvB
+  */
+  mreq_t *RQ;
+
   /* Modes:  active, system, queue */
const char *FName = "MJobCheckLimits";
@@ -2670,8 +2675,20 @@
   JUsage[mptMaxProc] = MJobGetProcCount(J);
   JUsage[mptMaxNode] = J->Request.NC;
   JUsage[mptMaxWC]   = J->WCLimit;
-  JUsage[mptMaxPS]   = JUsage[mptMaxProc] * JUsage[mptMaxWC];
+ /* + * HvB Calculation fix for NODEACCESSPOLICY SINGLEJOB + */
+  RQ = J->Req[0];
+  if ( RQ->NAccessPolicy == mnacSingleJob )
+    {
+    JUsage[mptMaxPS] = J->NodesRequested * JUsage[mptMaxWC];
+    }
+  else
+    {
+    JUsage[mptMaxPS] = JUsage[mptMaxProc] * JUsage[mptMaxWC];
+    }
+
MJobGetPE(J,&MPar[0],&PE); JUsage[mptMaxPE] = (int)PE;



------------------------------------------------------------------------

_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers


--
--
********************************************************************
*                                                                  *
*  Bas van der Vlies                     e-mail: [EMAIL PROTECTED]      *
*  SARA - Academic Computing Services    phone:  +31 20 592 8012   *
*  Kruislaan 415                         fax:    +31 20 6683167    *
*  1098 SJ Amsterdam                                               *
*                                                                  *
********************************************************************
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers

Reply via email to