代码之家  ›  专栏  ›  技术社区  ›  Frankie

HTCondor基于空闲改变NUM\u cpu?

  •  0
  • Frankie  · 技术社区  · 5 年前

    我想根据是否有人在机器上工作来更改CPU计数。不想抢占手册中定义的作业。做一些类似的事情:

    // condor_config file
    if (KeyboardIdle < 10)
        NUM_CPUS = 2
    else
        NUM_CPUS = 8
    endif
    

    (KeyboardIdle < 10) is not a valid if condition because complex conditionals are not supported .

    不管我用什么方法来实现这一点 NUM_CPUS


    根据格雷格的回答,我的秃鹰配置的最底部如下

    NUM_CPUS = 16
    START = (SlotID < 8) || (KeyboardIdle > 10)
    

    理论上只允许启动8个作业,但不允许运行 condor_status myMachine 我得到:

    C:\>condor_status myMachine
    Name                       OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime
    
    slot1@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      1.210 8186  0+00:00:02
    slot2@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      0.500 8186  0+00:00:03
    slot3@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      2.220 8186  0+00:00:01
    slot4@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      1.500 8186  0+00:00:02
    slot5@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      0.600 8186  0+00:00:02
    slot6@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      0.380 8186  0+00:00:02
    slot7@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      1.940 8186  0+00:00:03
    slot8@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      0.880 8186  0+00:00:02
    slot9@myMachine.cluster  WINDOWS    X86_64 Claimed   Busy      1.560 8186  0+00:00:02
    slot10@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      0.310 8186  0+00:00:02
    slot11@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      2.180 8186  0+00:00:02
    slot12@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      1.580 8186  0+00:00:02
    slot13@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      0.950 8186  0+00:00:02
    slot14@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      1.890 8186  0+00:00:02
    slot15@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      0.490 8186  0+00:00:02
    slot16@myMachine.cluster WINDOWS    X86_64 Claimed   Busy      1.600 8186  0+00:00:01
    
                   Total Owner Claimed Unclaimed Matched Preempting Backfill  Drain
    
    X86_64/WINDOWS    16     0      16         0       0          0        0      0
    
             Total    16     0      16         0       0          0        0      0
    

    有什么想法吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Frankie    5 年前

    HTCondor中的NUM\u cpu是固定的。通常,实现这种策略的方法是更改START表达式,这样就有不同数量的槽,其START表达式的计算结果为false,因此无法启动作业。

    假设这台机器有静态插槽(默认),开始表达式可以是

    START = (SlotID < 3) || (KeyboardIdle > 10)
    

    PREEMPT = (SlotID > 3) && (KeyboardIdle < 10)