>> Edit article
이름
제목
패스워드
제가요.. 뭐좀 공부하고 있는데요... 영어가 워낙 짧아서 무슨 내용인지 전혀 이해가 안되네요... 고수분들의 도움을 부탁드립니다. Idle load balancing applies when a process would otherwise go idle, running the waitproc thread (for example PID 516). When the dispatcher reaches this point in its logic, it does not just scan other run queues in an attempt to find work at any cost. It is actually beneficial to allow what appears to be unnecessary idle cycles rather than moving a thread and losing cache affinity. The steps taken by the idle load balancing method are: • Before dispatching the waitproc, search other queues for availablework. This is a stronger statement than work beingon another queue. The search routine will look for a queue that: - Contains the largest number of runnable threads. - Contains more runnable threads than the current steal threshold. - Contains at least one stealable (unbound) thread. - Has not had steal_maxthreads already stolen from it over the current clock tick interval. The search is done without holding those run queues’ locks • To actually steal a thread, the chosen run queue’s lock must be obtained. This is done by a special call written to avoid interfering with another instance of the dispatcher. If no lock can be obtained, run the waitproc. • After getting the lock, check that a stealable thread is still available. If there is no stealable thread, the waitproc is run. • Change the threads run queue assignment and pointer.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved