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

Benedict Elliott Smith updated CASSANDRA-21375:
-----------------------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Triage Needed)

> Accord: SignalLock and Signal Loop executor
> -------------------------------------------
>
>                 Key: CASSANDRA-21375
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21375
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Accord
>            Reporter: Benedict Elliott Smith
>            Priority: Normal
>
> Introduce AccordExecutorSignalLoop, using SignalLock, that aims to reduce 
> lock contention:
>      - consumer and producer threads wait signal without acquiring the lock 
> first
>      - lock owners may prepare more work than they need, moving some 
> dynamically-adjusted portion of the work from the prioritised lock-managed 
> structures onto a non-blocking queue, so that other threads may consume work 
> from there; the portion is continually micro-adjusted to target some 
> available work whenever the lock is acquired.
>      - adopts/supports some features of the SEPExecutor:
>       - threads may auto-adjust the number of running threads based on how 
> much time is collectively spent waiting, to minimise time spent signalling
>       - consumers may (timed-sleep) poll rather than await a signal, reducing 
> the number of kernel interactions needed; relying on the auto-adjustment to 
> bound the time the scheduler spends waking threads with no work to do



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to