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)