[jira] [Updated] (IGNITE-1415) .NET: Optimize handle registry

2016-11-30 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn updated IGNITE-1415:
---
Summary: .NET: Optimize handle registry  (was: .Net: Optimize handle 
registry.)

> .NET: Optimize handle registry
> --
>
> Key: IGNITE-1415
> URL: https://issues.apache.org/jira/browse/IGNITE-1415
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Vladimir Ozerov
>Priority: Minor
>  Labels: .net
>
> 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)


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

2016-11-30 Thread Vladimir Ozerov (JIRA)

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

Vladimir Ozerov updated IGNITE-1415:

Priority: Minor  (was: Critical)

> .Net: Optimize handle registry.
> ---
>
> Key: IGNITE-1415
> URL: https://issues.apache.org/jira/browse/IGNITE-1415
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Vladimir Ozerov
>Priority: Minor
>  Labels: .net
>
> 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)


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

2016-06-20 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn updated IGNITE-1415:
---
Labels: .net  (was: )

> .Net: Optimize handle registry.
> ---
>
> Key: IGNITE-1415
> URL: https://issues.apache.org/jira/browse/IGNITE-1415
> Project: Ignite
>  Issue Type: Task
>  Components: platforms
>Affects Versions: 1.1.4
>Reporter: Vladimir Ozerov
>Priority: Critical
>  Labels: .net
>
> 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)