You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Scherbakov (Jira)" <ji...@apache.org> on 2024/10/11 08:18:00 UTC

[jira] [Updated] (IGNITE-23301) Improve locks scalability

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

Alexey Scherbakov updated IGNITE-23301:
---------------------------------------
    Description: 
Currently coarse-grained (table,index) locks use the same path as fine-grained key locks.

This leads to broken TPS scaling in high amount of cores environments due to high contention.

This can be fixed by implementing specialized type of locks to handle high contention scenarios.

We need only IX and S locks to enforce serializability in the current approach.

Short locks not supported for coarse locks.

Locks can be implemented as deadlock-free by using tryLock(IX), eliminating the wait.

 

  was:
Currently coarse-grained (table,index) locks use the same path as fine-grained key locks.

This leads to broken TPS scaling in high amount of cores environments due to high contention.

This can be fixed by implementing specialized type of locks to handle high contention scenarios.

We need only IX and S locks to enforce serializability in the current approach.

IX locks can be implemented as counter-based and we need only tryLock(IX)

 


> Improve locks scalability
> -------------------------
>
>                 Key: IGNITE-23301
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23301
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 3.0.0-beta1
>            Reporter: Alexey Scherbakov
>            Assignee: Alexey Scherbakov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently coarse-grained (table,index) locks use the same path as fine-grained key locks.
> This leads to broken TPS scaling in high amount of cores environments due to high contention.
> This can be fixed by implementing specialized type of locks to handle high contention scenarios.
> We need only IX and S locks to enforce serializability in the current approach.
> Short locks not supported for coarse locks.
> Locks can be implemented as deadlock-free by using tryLock(IX), eliminating the wait.
>  



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