[
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]