# Re: [Condor-users] Condor Slots Understanding Question....

• Date: Wed, 14 Sep 2011 15:26:33 -0400
• From: Ian Chesal <ichesal@xxxxxxxxxxxxxxxxxx>
• Subject: Re: [Condor-users] Condor Slots Understanding Question....

On Wednesday, 14 September, 2011 at 3:15 PM, Sassy Natan wrote:

I'm kind of a new in this filed.....

Anyway I need to know something regarding the formula u point out
NEGOTIATOR_POST_JOB_RANK = (RemoteOwner =?= UNDEFINED) * (KFlops - SlotID)

I understand the NEGOTIATOR_POST_JOB_RANK value from the Condor document.
However I can't understand the output  :

The (RemoteOwner =?= UNDEFINED)  check the string values and if RemoteOwner is defied. So if so the value will be FLASE this will always give me  0.
Can u explain more this do....
I can't understand this.
First a bit about how these ranks work: higher is better. So a machine that evaluates to a higher number than all other machines will get used for the match. So we're writing these expressions to push the machines we want to match the jobs first up to the top of the list.

The _expression_ (RemoteOwner =?= UNDEFINED) * (KFlops - SlotID) breaks down in to two parts:

(RemoteOwner =?= UNDEFINED)
-and-
(KFlops - SlotID)

The first part is binary: it's going to be 1 or 0. It's 0 if RemoteOwner exists on the slot's ClassAd (i.e. if the slot is currently running a job). So this sets the NEGOTIATOR_POST_JOB_RANK to zero, irregardless of anything else, if the slot is occupied. You don't want to consider those slots at all if possible.

The second part of the _expression_ is going to take the lowest slot (SlotID = 1) on the highest powered machine (KFlops is biggest) and put that match on the top of the list.

Make sense?

Hope that helps.

Regards,
- Ian

---
Ian Chesal

Cycle Computing, LLC
Leader in Open Compute Solutions for Clouds, Servers, and Desktops
Enterprise Condor Support and Management Tools

http://www.cyclecomputing.com
http://www.cyclecloud.com