This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Arm big.LITTLE, migration decision

Hi everybody, I'm doing a presentation about ARM big.LITTLE Technology. What is the tracked load metric that is used to decide whether and when to allocate a thread to a big or LITTLE core?
  • I thought someone better might answer but seemingly everyone has avoided this question because it is a large and difficult topic. You'd really need to google big little scheduling to get anywhere and look up the various Linux discussions. It wouldn't be so bad if one could foresee the future and knew exactly what work everything would do and how much would be saved by doing things in different ways,  but the best one can do is get statistics and flags and suchlike.

    But anyway I think I can summarize: Firstly the required quality of service of each process must be maintained. And secondly it should use up the least amount of energy. For instance if a number of interrupts can be batched up and dealt with in one go instead of waking and sleeping for each that can save energy - but delaying an interrupt has the potential to cause something to take too long and so degrade a quality of service. Plus of course one has to decide what is an acceptable service. Having the sound not stutter is clear enough - but is there really a point in having a web page render in a tenth of a second or is it okay to go a bit slower at first and then only speed up if the rendering is taking more than half a second?

  • I think you cannot even come close to an answer if you do not have a specific use case. For example the one daith described about rendering a web-page.
    And you have to take into account the "cost" for the migration of the running tasks.
  • ARM Energy Awareness Scheduling (EAS) technology is for that.

    For task load tracking, there are two popular methods:

    • Per-Entity Load Tracking (PELT)
    • Window-Assisted Load Tracking (WALT)

    See https://developer.arm.com/open-source/energy-aware-scheduling for an overview.

    - Zhifei