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 2017/10/24 00:53:00 UTC

[jira] [Assigned] (MESOS-6971) Use arena allocation to improve protobuf message passing performance.

     [ https://issues.apache.org/jira/browse/MESOS-6971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Mahler reassigned MESOS-6971:
--------------------------------------

       Resolution: Fixed
         Assignee: Dmitry Zhuk
    Fix Version/s: 1.5.0

{noformat}
commit 834053d976e2db18c16e1612b3b723fe1c8ca1ac
Author: Dmitry Zhuk <dz...@twopensource.com>
Date:   Thu Oct 12 14:45:26 2017 -0700

    Used protobuf arenas for creating messages in ProtobufProcess.

    When passing const protobuf messages and fields, we can allocate
    the protobuf message within an arena. Arenas dramatically reduce
    the number of malloc's involved. The use of arenas also improves
    the cache locality of the protobuf memory.

    Review: https://reviews.apache.org/r/62901/
{noformat}

> Use arena allocation to improve protobuf message passing performance.
> ---------------------------------------------------------------------
>
>                 Key: MESOS-6971
>                 URL: https://issues.apache.org/jira/browse/MESOS-6971
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Benjamin Mahler
>            Assignee: Dmitry Zhuk
>              Labels: mesosphere, performance, tech-debt
>             Fix For: 1.5.0
>
>
> The protobuf message passing provided by {{ProtobufProcess}} provide const access of the message and/or its fields to the handler function.
> This means that we can leverage the [arena allocator|https://developers.google.com/protocol-buffers/docs/reference/arenas] provided by protobuf to reduce the memory allocation cost during de-serialization and improve cache efficiency.
> This would require using protobuf 3.x with "proto2" syntax (which appears to be the default if unspecified) to maintain our existing "proto2" requirements. The upgrade to protobuf 3.x while keeping "proto2" syntax should be tackled via a separate ticket that blocks this one.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)