mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jie Yu" <yujie....@gmail.com>
Subject Re: Review Request 28838: Fixed a long-standing performance issue in libprocess' SocketManager.
Date Tue, 09 Dec 2014 21:56:02 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28838/#review64446
-----------------------------------------------------------

Ship it!


Ship It!

- Jie Yu


On Dec. 9, 2014, 9:07 p.m., Ben Mahler wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28838/
> -----------------------------------------------------------
> 
> (Updated Dec. 9, 2014, 9:07 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Jie Yu, and Joris Van Remoortere.
> 
> 
> Bugs: MESOS-2182
>     https://issues.apache.org/jira/browse/MESOS-2182
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> See MESOS-2182.
> 
> The iteration over the links is expensive _and_ occurs within the SocketManager's critical
section, which we think is having some bad effects blocking other calls (see the comments
in the ticket).
> 
> This change updates the socket manager to keep a bi-directional mapping between the "linkers"
and the "linkees", which means that we now only look at the relevant information when a node/process
exits.
> 
> Note that I did double lookups on the maps, this was because we do this heavily in libprocess
already. I had originally written out the code using .find() to avoid the double lookups,
but it became next to impossible to read. Let's micro-optimize later, this is a major improvement
as it is. :)
> 
> I tried to keep the additional complexity in check, let me know if there are any suggestions
to make it easier!
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/process.cpp b87ac2206548815bc992c955252567c131fe6a47 
> 
> Diff: https://reviews.apache.org/r/28838/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> Manually started a master and slave across machines, to ensure exit notifications were
sent correctly.
> 
> 
> Thanks,
> 
> Ben Mahler
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message