mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Hindman (JIRA)" <>
Subject [jira] [Commented] (MESOS-7798) Improve libprocess message passing performance
Date Wed, 19 Jul 2017 20:28:00 GMT


Benjamin Hindman commented on MESOS-7798:

First collection of optimizations here:

commit 8f42d0c112748e138cc607b945455045fdac4b20
Author: Benjamin Hindman <>
Date:   Fri Jul 14 09:16:03 2017 -0700

    Added double-checked locking for filter.
    When running in"production" a filter will not be (likely) be set yet
    with the current code the threads will experience head-of-line
    blocking becaues they'll all queue up on the mutex. Test code will
    still queue up but we don't care about the performance in these
    Note that this patch also moves the filter into ProcessManager in the
    effort towards eliminating globals.

commit 102e86946d1f467cf30da7bd3f0fb89440866456
Author: Benjamin Hindman <>
Date:   Fri Jul 14 16:40:29 2017 -0700

    Changes for libprocess Message optimization.

commit 7413a3c43a82287519712f24151126453f0d82f6
Author: Benjamin Hindman <>
Date:   Tue Jul 11 17:38:01 2017 -0700

    Removed extra/unnecessary allocations of Message.

commit c1b6d978d0193ff34c28b83228f85c3e4a348153
Author: Benjamin Hindman <>
Date:   Fri Jun 23 00:15:52 2017 -0700

    Replaced std::map with hashmap for ProcessBase::handlers.

commit 4936a32bcf4bbd0b74778d327d047cb8fe17e4f2
Author: Benjamin Hindman <>
Date:   Tue Jul 18 22:26:46 2017 -0700

    Added --enable-lock-free-run-queue configuration to Mesos.

commit 6076dbc226de80d597a8e21ea392ecf4ef3027c1
Author: Benjamin Hindman <>
Date:   Sun Jun 18 13:34:45 2017 -0700

    Performance optimizations for message passing.
    Optimizations include:
    * Factored out run queue and introduced lock free implementation. This
      also required adding the concept of an `epoch` to support proper
      settling and refactoring the increments/decrements of `running` to
      make it easier to reason about.
    * Replaced the use of a condition variable (the `Gate`) with a

> Improve libprocess message passing performance
> ----------------------------------------------
>                 Key: MESOS-7798
>                 URL:
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Benjamin Hindman
>            Assignee: Benjamin Hindman

This message was sent by Atlassian JIRA

View raw message