10.2.8. Matching WNs capabilities to Jobs requirementsΒΆ

Pilots determine the WNs capabilities and the JobAgent started by the pilot will contact the Matcher service to match a job, selected from the TaskQueueDB.

Capabilities and requirements include but are not limited to:

  • destination: a (list of) site name(s)

  • CPUTime: the (estimated) time, expressed in HS06s

  • platform: the platform of the WN (which is determined by its OS, and not only), also refer to Resources / Computing

  • generic tags: read about it in further sections

The JobAgent running on the Worker Node and started by the pilot presents capabilities in the form of a dictionary, like the following example:

{
  CPUTime:               1200000
  GridCE:                ce-01.somewhere.org
  GridMiddleware:        ARC
  MaxRAM:                2048
  NumberOfProcessors:    1
  OwnerGroup:            diracAdmin,test,user
  PilotBenchmark:        19.5
  PilotInfoReportedFlag: False
  PilotReference:        https://ce-01.somewhere.org:8443/CREAM155256908
  Platform:              x86_64_glibc-2.21
  ReleaseProject:        VO
  ReleaseVersion:        7.2.13
  Setup:                 VO-Certification
  Site:                  DIRAC.somewhere.org
  Tag:                   GPU
}

The WorkloadManagement/Matcher log will print out at the INFO log level dictionaries of capabilities presented to the service, like the example above. The matcher will try to match these capabilities to the requirements of jobs, which are stored in the MySQL DB TaskQueueDB.

An example of requirements include the following:

JobRequirements =
[
  OwnerDN = "/some/DN/";
  VirtualOrganization = "VO";
  Setup = "VO-Certification";
  CPUTime = 17800;
  OwnerGroup = "user";
  UserPriority = 1;
  Sites = "DIRAC.somewhere.org";
  JobTypes = "User";
  Tags = "MultiProcessor";
];

which is what can be visualized in Job JDLs.