HTCondor-CE Accounting

HTCondor-CE Accounting

HTCondor-CE can be configured to automatically publish accounting data to EGI Accounting service, if compute resources are provided by an HTCondor pool. Optionally, the HTCondor pool can also be configured to provide per-machine performance data for increased accounting accuracy.

Enabling accounting records on each HTCondor-CE

Each HTCondor-CE must be configured separately to create accounting data for its jobs and feed them to APEL.

See MAN09 for general configuration instructions of APEL.

  1. Install htcondor-ce-apel, available from the EGI UMD or HTCondor RPM repositories.

  2. Configure the APEL parser via parser.cfg to read the HTCondor-CE accounting records:

    [blah]
    enabled = true
    dir = /var/lib/condor-ce/apel/
    filename_prefix = blah
    
    [batch]
    enabled = true
    dir = /var/lib/condor-ce/apel/
    filename_prefix = batch
    type = HTCondor
    
  3. Configure the APEL client via client.cfg section [spec_updater] to know the cluster specs:

    • site_name must equal your EGI Configuration Database (GOCDB) site name.

    • manual_spec1 must equal the CE identifier, spec type and average spec value of the cluster. The format is:

      manual_spec1 = <fqdn>:9619/<fqdn>-condor,<spec_type>,<spec_value>
      

      Commonly, the spec type is one of HEPscore23 or HEPSPEC. The spec value is per core.

      For example, if the CE has the Fully Qualified Domain Name (FQDN) my-htcondor-ce.example.com and resources average 12.5 HEPSPEC per core:

      manual_spec1 = my-htcondor-ce.example.com:9619/my-htcondor-ce.example.com-condor,HEPSPEC,12.5
      
  4. Start and enable the condor-ce-apel.timer unit.

Enabling per-machine performance information

By default, HTCondor-CE APEL accounting assumes that all machines in the cluster have comparable performance. If this is not the case, accounting accuracy can be improved by adding performance information per machine.

Performance information may be added to each HTCondor StartD. There are two separate ways to do so:

  • An absolute spec value, similar to the average spec value on to the CE. HTCondor-CE APEL accounting then weights resource usage by comparing the StartD spec value to the average spec value.

    In the StartD configuration, define ApelSpecs as a new-style classad mapping of spec types and their values; multiple spec types are supported. Also add ApelSpecs to the classad attributes of the StartD:

    # The absolute performance per core on this StartD
    ApelSpecs = [HEPSPEC=14.37; HEPscore23=14.409; SI2K=2793]
    STARTD_ATTRS = $(STARTD_ATTRS) ApelSpecs
    
  • A relative spec value, as a factor to the average spec value on to the CE. HTCondor-CE APEL accounting then weights resource usage by the relative spec factor.

    In the StartD configuration, define ApelScaling as a number; values above 1 mean the performance is above average. Also add ApelScaling to the classad attributes of the StartD.

    # The relative performance per core on this StartD
    ApelScaling = 1.15
    STARTD_ATTRS = $(STARTD_ATTRS) ApelScaling
    

If both ApelSpecs and ApelScaling are defined, ApelSpecs takes precedence.

Last modified July 18, 2023 by Max Fischer : Add HEPScore23 to example (#606)