You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Seliverstov (JIRA)" <ji...@apache.org> on 2019/06/17 09:29:00 UTC

[jira] [Resolved] (IGNITE-6809) Use MPSC queue in striped pool

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

Igor Seliverstov resolved IGNITE-6809.
--------------------------------------
    Resolution: Won't Do

The ticket is closed since several MPSC queue implementations in striped pools don't bring expected performance improvements.

Unlike JMH microbenchmarks show 2 times better throughput the overall picture is even worse because MPSC queues bring improvements only on massive tasks stream when the stripe acts almost without parking, that's really rare case. On sparse workload (usual case) the MPSC queue works almost the same way as jdk's concurrent linked queue but with additional parkings (there is no spin as it did in current stripes implementations).

Seems the change is premature and it makes sense to put efforts into improvement of other system parts.



> Use MPSC queue in striped pool
> ------------------------------
>
>                 Key: IGNITE-6809
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6809
>             Project: Ignite
>          Issue Type: Improvement
>          Components: general
>    Affects Versions: 2.3
>            Reporter: Igor Seliverstov
>            Assignee: Igor Seliverstov
>            Priority: Major
>              Labels: performance
>         Attachments: [IGNITE-6809]_Use_MPSC_queue_in_striped_pool_.patch
>
>
> Use MPSC queue in striped pool
> Let's start from [MP-SC concurrent linked queue implementation based on Dmitry Vyukov's|http://www.1024cores.net/home/lock-free-algorithms/queues/non-intrusive-mpsc-node-based-queue]



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