commit ca894d953c70e352eb18dcc6e3cc3ea9c778cc56
tree 07439c64585b3bbdd65dd32aeb35327adc51571d
parent b8efcd6f2dbbbe6c59a61a2ad8556ad8864dac25
author Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 2023-05-17 11:26:52 +0000
committer Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> 2023-05-17 11:26:52 +0000

    tcwg-llvmbot: Experiment with running 2 bots on tcwg-g3-*
    
    We run 2 bots per node to (1) maximize CPU usage and (2) reduce
    impact of running out of RAM when build reaches memory-hungry parts
    of flang.
    (1) With the custom ninja in our tcwg-llvmbot images build parallelism
    is automatically scaled to available-to-container CPU resources.
    Assuming N-core machine, each of these bots will run under effective
    N/2 parallelism, but will be able to speed up to N parallelism if
    the other container has a dip in its CPU usage.
    (2) Because most of the time the bot will run with N/2 (rather then N)
    parallelism, it will attempt to start N/2 memory-hungry processes,
    rather than N memory-hungry processes.
    
    Also, note that for this setup it seems ideal to allocate half
    of RAM to each container.  If container #1 hits its memory limit then
    container #2 will be able to use additional CPU cores while #1 is
    swapping.  If we were to allow both #1 and #2 to use all of RAM,
    then if #1 exhausted all RAM, then both #1 and #2 would start to swap
    until enough RAM is freed for #1 to finish the memory-hungry section.
    
    Change-Id: Iabc066148ca6ab1425047129a2f9ef659ecb31bb


:100755 100755 a942b5fa848eba7df22a7da94ab98f0392be0cea 9add4a2ca0e20b8d23d85580466199d775238345 M	tcwg-base/tcwg-llvmbot/start.sh
