• [^] # However, they must be able to steal from the more loaded cores on other nodes.

    Posté par . En réponse au journal Linux: une décennie de coeurs gaspillés. Évalué à -9.

    Why is this not the case?
    Remember that to limit algorithmic complexity, the load
    balancing algorithm uses a hierarchical design. When a core
    attempts to steal work from another node, or, in other words,
    from another scheduling group, it does not examine the load
    of every core in that group, it only looks at the group’s
    average load (line 11 of Algorithm 1). If the average load
    of the victim scheduling group is greater than that of its
    own, it will attempt to steal from that group; otherwise it
    will not. This is the exact reason why in our situation the
    underloaded cores fail to steal from the overloaded cores
    on other nodes. They observe that the average load of the
    victim node’s scheduling group is not any greater than their
    own. The core trying to steal work runs on the same node
    as the high-load R thread; that thread skews up the average
    load for that node and conceals the fact that some cores are
    actually idle. At the same time, cores on the victim node,
    with roughly the same average load, have lots of waiting
    threads.