Click [slideshow] to begin presentation.

 

Class Ads: Overview

Class Adds: Overview

  • What class ads are
    • workstation resource ads
    • job ads
  • Class ad matching
  • Debugging via -better-analyze




Class Ads

What are Class Ads?

What they are:
  • Used to describe job requirements
  • and to describe workstation resources.
What they're for:
  • Used to match jobs and workstations
  • Matching performed by pool manager
    • Each pool has only one manager.




Class Ads

Example: Workstation Class Ads

  prompt> condor_status -l

  MyType = "Machine"
  TargetType = "Job"
  Name = "slot4@comp024"
  .
  Machine = "comp024"
  .
  Arch = "X86_64"
  OpSys = "LINUX"
  UidDomain = "comp024"
  FileSystemDomain = "comp024"
  .
  CheckpointPlatform = "LINUX X86_64 2.6.x normal 0xffffffffff600000"
  .
  TotalCpus = 4
  TotalMemory = 7870
  .
  .




Class Ads

Example: Job Class Adds 1/2

  prompt> condor_q -l

  -- Submitter: gbcondor.mace.manchester.ac.uk : \
         <10.99.203.30:32779> : gbcondor.mace.manchester.ac.uk
  .
  Owner = "simonh"
  Cmd = "/home/simonh/condor-7.4.2-examples/loop.remote"
  User = "[email protected]"
  .
  WantRemoteIO = TRUE
  UserLog = "/home/simonh/condor-7.4.2-examples/loop.log"
  Out = "loop.0.out"
  Err = "loop.0.err"
  .
  ShouldTransferFiles = "NO"
  .

. . .continued. . .




Class Ads

Example: Job Class Adds 2/2

  .
  .
  Requirements = ((Memory > 900)) && (Arch == "X86_64") \
      && (OpSys == "LINUX") \
      && ((CkptArch == Arch) \
      && ((CkptOpSys == OpSys) \
      && (Disk >= DiskUsage)
  .
  .




Class Ads

Matching

  • Class ad matching is used by the Condor central manager to determine the compatibility of jobs and workstations where they may be run

Use condor_q -better-analyze to see how they work. . .




Class Ads

Why doesn't my job run?

This example shows how to "debug" a Condor job — and illustrates how class ads work:

condor_q -better-analyze <JOBID>
.
.
The Requirements expression for your job is:

( target.Arch == "X86_64" ) && ( target.OpSys == "LINUX" ) &&
( target.Disk >= DiskUsage ) && 
( ( target.Memory * 1024 ) >= ImageSize ) &&
( TARGET.FileSystemDomain == MY.FileSystemDomain )

    Condition                     Machines Matched    Suggestion
    ---------                     ----------------    ----------
1   ( ( 1024 * target.Memory ) >= 2570000 )0              REMOVE
2   ( target.Arch == "X86_64" )       154                   
3   ( target.OpSys == "LINUX" )       154                   
4   ( target.Disk >= 10000 )          154                   
5   ( TARGET.FileSystemDomain == "..." )
                                      154                   

Thanks to UWCL. . .