i recently have study load balancing on linux os in multi-core architeture.
i am interested in linux scheduler,but i have shorter time to learn linux scheduler.some questions want to ask for your help.
first, now there are events or combination of events which could reflect load capacity on current core?
i search for some imformation about it ,but i am not surewhether CPI couldreflect indirectlyloadper core?
please giveme some adviceor your idea on this .
thank you for reading.
thank your reply.
i know that the linux schueduer use ticks or idle balancing as a way of scheduling.
i would like to know whether considering CPI as a measure of load balancing .
that is ,the more the data of CPI, the lower the throughput ,load will be much more if some processes are migrated to this cpu.sothe CPU of high CPI are not considered as destination cpu when load balancing.If the process or thread is migrated to the cpu of highCPI ,magbe the ulitization oftheCPU will be lower than before that. this is my understanding about CPI.
please give me some adviceand thankyou for your reading.
Anyway, on modern Intel homogeneous platforms CPI is a property of a program, not CPU. So I do not see why CPI must change when you move a process from one CPU to another...
A few applications work in such a way, pairing HyperThread friendly threads with computational threads (not by dynamic profiling of the threads, but by application design).
I would imagine the overhead for examining the tasks automatically for CPI would be prohibitive.
Agree. Also a process/task/whatever may have a phased behavior, so that an OS will never guess correctly (lag one phase).