Looks like dev list doesn't allow to include pictures in emails, so there are links to plots:
Throughput plot without any changes: https://www.dropbox.com/s/mc3v5m49u4i2be3/no-changes.png?dl=0 the same plot with patched ignite: https://www.dropbox.com/s/cyojw9nz4smew87/with-chages.png?dl=0 17000 operations/sec vs 70 operations/sec. On Fri, Jun 2, 2017 at 4:57 PM, Mikhail Cherkasov <mcherka...@gridgain.com> wrote: > Hi all, > > I prepared a benchmark for ignite reentrant lock, the benchmark updates > cache values under the reentrant lock. > The benchmark is based on s real case, when user can't use regular cache > locks, because they > prevent partition map exchange and as result don't allow new nodes join > cluster. > > Throughput plot without any changes: > > [image: Inline image 1] > > the same plot with patched ignite: > > [image: Inline image 2] > > > On Thu, Jun 1, 2017 at 1:29 AM, Dmitriy Setrakyan <dsetrak...@apache.org> > wrote: > >> Won't it be confusing from a user stand point to have multiple data >> structures with the same name? Also, what is the performance impact of >> this >> change? >> >> D. >> >> On Wed, May 31, 2017 at 8:23 AM, Semyon Boikov <sboi...@gridgain.com> >> wrote: >> >> > Hi Mikhail, >> > >> > As far as I remember for some reason we wanted to guarantee that all >> data >> > structures have unique names. But now I don't see why this can be needed >> > and it seems we do not need this data structures map at all, if nobody >> have >> > objection I think you can implement suggested change. >> > >> > Thanks! >> > >> > On Wed, May 31, 2017 at 3:04 PM, Mikhail Cherkasov < >> > mcherka...@gridgain.com> >> > wrote: >> > >> > > Hi all, >> > > >> > > All DataStructures are stored in one Map which itself is stored in >> > > utilityCache, this makes high contention on DS creation or removing, >> it >> > > requires to acquire Map's lock and manipulation with the Map under the >> > > lock. So all threads in cluster should wait for this lock to create or >> > > remove DS. >> > > >> > > I don't see any reason to store all DS in one map, we already have >> > > utilityCache and can save DSs directly in utilityCache, to >> distinguish DS >> > > with other objects in utilityCache I use composite key, the first >> part of >> > > which is DATA_STRUCTURES_KEY, second one is DS's name, also DS type >> can >> > be >> > > added, this will allow us to create different DS with the same name. >> > > >> > > There is draft implementations, all DSs are stored with unique key in >> > > utilityCache: >> > > https://github.com/apache/ignite/pull/2046/files >> > > >> > > May be there's some reason to store all DS in one Map that I missed? >> > > Any thoughts? >> > > >> > > >> > > -- >> > > Thanks, >> > > Mikhail. >> > > >> > >> > > > > -- > Thanks, > Mikhail. > -- Thanks, Mikhail.