You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Francesco Nigro (JIRA)" <ji...@apache.org> on 2017/08/01 07:22:00 UTC

[jira] [Closed] (ARTEMIS-1273) Bounded OrderedExecutor

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

Francesco Nigro closed ARTEMIS-1273.
------------------------------------
    Resolution: Won't Fix

> Bounded OrderedExecutor
> -----------------------
>
>                 Key: ARTEMIS-1273
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1273
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>
> The default OrderedExecutor is limited by:
> # scattered allocations of linked list nodes
> # no OOM protection
> # always garbage producing
> # uses a not scalable (ie false sharing + CAS based) handmade spin lock 
> # cost of monitoring pending tasks list size O(n)
> # doesn't allow optimized version of task submission (ie single producer)
> The BoundedOrderedExecutor (enabled by default) solves them:
> # uses Array based lock/wait-free queues to have contiguos allocations
> # OOM protected limiting the allowed max size of the queue
> # produce garbage only if the consumer can't keep up with the producer by a configurable amount
> # uses a scalable handmade spin lock (XADD based)
> # cost of monitoring pending tasks list size O(1)
> # allow optimized versions of task submission using different specialized concurrent queues



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