Benjamin Mahler created MESOS-8588:
--------------------------------------

             Summary: Introduce a work stealing Process scheduler.
                 Key: MESOS-8588
                 URL: https://issues.apache.org/jira/browse/MESOS-8588
             Project: Mesos
          Issue Type: Epic
          Components: libprocess
            Reporter: Benjamin Mahler


Currently, libprocess uses a work sharing Process scheduler, by which all 
workers take work from a global shared runnable Process queue. This has some 
performance implications, for example the shared global queue can have a high 
degree of contention, and Processes can migrate across cores frequently (this 
can be even more expensive on NUMA systems).

We can introduce an alternative work stealing scheduler, in which each worker 
has its own queue. When this worker runs out of items, it steals from another 
worker's queue (stealing attempts could be done with cache locality / NUMA in 
mind).

The process scheduler could ideally be a run-time option if it does not 
introduce performance overhead over a compile time option.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to