You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2018/02/15 20:12:00 UTC

[jira] [Created] (MESOS-8588) Introduce a work stealing Process scheduler.

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)