Accounting Groups
Starting with HxMap 4.1, Workflow Manager now adds a default accounting group definition into the HTCondor submit description files created for cluster jobs. In order to allocate cluster resources to the accounting groups, the accounting groups must also be defined in the cluster Central Manager’s negotiator configuration.
HxMap default accounting groups
In the tables below, the default accounting group names used by Workflow Manager are presented. The workflow step is used as the root group for accounting and the sensor family is used as a sub-group, optionally enabling further refinement of cluster resource allocation in the negotiator configuration.
Workflow Step | ||||||||
Sensor Family | Ingest (All kinds) | LiDARCalibration | LiDARFilter | HSPCTransform | APM | LiDARMatching | LiDARClassifcation | LiDARQCJob |
DMC | Ingest.DMC | N.A. | N.A. | N.A | APM.DMC | N.A. | N.A. | N.A. |
RCD | Ingest.RCD | N.A. | N.A. | N.A | APM.RCD | N.A. | N.A. | N.A. |
CNM | Ingest.CNM | N.A. | N.A. | N.A | APM.CNM | N.A. | N.A. | N.A. |
CM/CM2 | Ingest.CM | LidarCalibration.CM | LidarFilters.CM | HSPCTransform.CM | APM.CM | LidarMatching.CM | LidarClassification.CM | LidarQCProduct.CM |
TM/TM2 | Ingest.TM | LidarCalibration.TM | LidarFilters.TM | HSPCTransform.TM | APM.TM | LidarMatching.TM | LidarClassification.TM | LidarQCProduct.TM |
SPL | Ingest.SPL | LidarCalibration.SPL | N.A. | HSPCTransform.SPL | APM.RCD | LidarMatching.SPL | LidarClassification.SPL | LidarQCProduct.SPL |
ALS | Ingest.ALS | LidarCalibration.ALS | N.A | HSPCTransform.ALS | N.A. | LidarMatching.ALS | LidarClassification.ALS | LidarQCProduct.ALS |
Accounting group names for Product Generation jobs are listed in the next table. The XX notation is populated with the same sensor family abbreviation shown the in the table above.
Product Generation | |||||
Aerial | Ortho | INFOCLOUD | LIDAR | DEM | 3DModel |
AERIAL.XX | ORTHO.XX | INFOCLOUD.XX | LIDAR.XX | DEM.XX | 3DMODEL.XX |
Recommendation is to maintain the accounting group definitions and allocated group quotas in the condor_config.local file as the user may wish to regularly update accounting group quotas to adapt to changing workloads.
Example configuration entry
An example of a simple condor_config.local entry for a system processing DMC-4 workflows is shown below.
## Accounting group configuration.
GROUP_NAMES = Ingest, APM, AERIAL, ORTHO, INFOCLOUD
GROUP_QUOTA_DYNAMIC_Ingest = 0.3
GROUP_QUOTA_DYNAMIC_APM = 0.2
GROUP_QUOTA_DYNAMIC_AERIAL = 0.2
GROUP_QUOTA_DYNAMIC_ORTHO = 0.15
GROUP_QUOTA_DYNAMIC_INFOCLOUD = 0.15
GROUP_ACCEPT_SURPLUS = true
NEGOTIATOR_USE_SLOT_WEIGHTS = false
Notes on the Example
In the example system, only one sensor family will be processed, so it's not necessary to specify the sensor family subgroup. In case we want to divide cluster resources between Ingest for a DMC-4 and a CityMapper-2, then we would specify this in the GROUP_NAMES listing: Ingest.DMC, Ingest.CM
In the configuration example dynamic quotas are used. Dynamic quotas represent the percentage of all slots available in the cluster allocated to the accounting group. The sum of all dynamic quotas should equal to 1.0
GROUP_ACCEPT_SURPLUS allows accounting groups to use more than their allocated quota when there are unused resources available on the cluster.
NEGOTIATOR_USE_SLOT_WEIGHTS disables more advanced accounting in HTCondor which is not implemented in HxMap’s job construction.
When first implementing accounting groups in the configuration of an existing Central Manager, the adminstrator should be prepared to restart the HTCondor master daemon once the entries are made and saved in condor_config.local. From a command prompt on the Central Manager:
condor_restart
If the administrator wishes to change in place the existing quotas of the accounting groups, they can edit and save the quota entries and in condor_config.local, always remembering that the dynamic quotas entered must add up to 1.0. With the edit complete, reconfigure the Central Manager’s negotiator daemon:
condor_reconfig -daemon negotiator