Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1696 Discussions

which events or combination of events could reflect load capacity on current core in multi-core architeture?

kewenpan
Beginner
576 Views

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.


0 Kudos
5 Replies
Dmitry_Vyukov
Valued Contributor I
576 Views
AFAIK Linux scheduler does not use events for estimation of CPU load, it uses scheduler ticks (periodic interrupts). Anyway I think that much better place to ask questions about Linux kernel is linux.kernel USENET newsgroup:
http://groups.google.com/group/linux.kernel/topics
0 Kudos
kewenpan
Beginner
576 Views

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.

0 Kudos
Dmitry_Vyukov
Valued Contributor I
576 Views
I am not sure I get your point...
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...
0 Kudos
TimP
Honored Contributor III
576 Views
A possible point might be that certain high CPI tasks might benefit significantly from hyperthreading. In some circumstances, sorting high and low CPI threads so that low CPI tasks may be spread across cores might show a gain.
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.
0 Kudos
Dmitry_Vyukov
Valued Contributor I
576 Views
> 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).
0 Kudos
Reply