You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2015/09/11 15:12:45 UTC

[jira] [Created] (IGNITE-1415) .Net: Optimize handle registry.

Vladimir Ozerov created IGNITE-1415:
---------------------------------------

             Summary: .Net: Optimize handle registry.
                 Key: IGNITE-1415
                 URL: https://issues.apache.org/jira/browse/IGNITE-1415
             Project: Ignite
          Issue Type: Task
          Components: interop
    Affects Versions: 1.1.4
            Reporter: Vladimir Ozerov
            Priority: Critical
             Fix For: ignite-1.5


The main problem with handle registry is CAS on a single shared variable. This could result in a very bad performance under contention. 
Several techniques can be applied here:
1) Stripes. Assign some ID to a thread and then use it to pick correct stripe for the thread. Be careful with false-sharing effects as stripes can be located very close to each other.
2) Cleanup with relaxed membars. When we are to remove the handle, no need for full HB semantics. We are ok if subsequent calls to the same handle will see not-killed object for a while.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)