Wow, what was patched? Can you provide the code sample being benchmarked? On Fri, Jun 2, 2017 at 8:00 AM, Mikhail Cherkasov <[email protected]> wrote:
> 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 <[email protected] > > 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 <[email protected]> >> 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 <[email protected]> >>> 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 < >>> > [email protected]> >>> > 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. >
