Hope that we will be better prepared for new iteration.

чт, 17 окт. 2019 г. в 02:29, Denis Magda <dma...@apache.org>:
>
> Ivan,
>
> There is no argument here, I see what you mean. All we know is that Optane
> is a new class of a storage device that is slower than RAM but faster than
> disk. Plus, it's denser than RAM, and non-volatile that let us store
> many-more terabytes of data on a single machine that can be accessed via
> the memory bus and don't worry about data preloading upon restarts. So,
> there definitely will be a benefit for certain use cases once Optane is
> supported natively - much more data can be stored and accessed locally at
> (almost) speed of RAM.
>
> The current integration is not finished yet (based on the review) but once
> we get hardware, agree, that the benchmarks can be executed even over what
> was developed so far.
>
>
> -
> Denis
>
>
> On Tue, Oct 15, 2019 at 10:44 PM Ivan Pavlukhin <vololo...@gmail.com> wrote:
>
> > Denis,
> >
> > I suppose we are using not optimal strategy here. And motivation is simple:
> > 1. Code review is "expensive", benchmarking (usually) are "cheap".
> > 2. Code review is "subjective", benchmarking are "objective".
> >
> > And my personal opinion here is that there could be a performance win
> > with Optane in proposed implementation in particular cases. It depends
> > on how much slower is Optane performance comparing to RAM. But we do
> > not know it.
> >
> > ср, 16 окт. 2019 г. в 01:10, Denis Magda <dma...@apache.org>:
> > >
> > > Alex, thanks for an extensive summary and proposing different
> > > implementation trails. Presently, the JEP-352 approach seems the most
> > > reasonable - JDK folks will take care of the integration and will be
> > > testing/maintaining the feature going forward, while the Ignite community
> > > will reuse what JDK provides. However, let's see what Eric and Mulugeta
> > of
> > > Intel (both copied) think about this and other approaches.
> > >
> > > Ivan, I'm not sure if any performance testing was done for the given
> > > pull-request. Anyway, it might be premature considering Alex's summary.
> > >
> > > -
> > > Denis
> > >
> > >
> > > On Mon, Oct 14, 2019 at 11:50 PM Ivan Pavlukhin <vololo...@gmail.com>
> > wrote:
> > >
> > > > By the way, did we have a change to run some existing benchmarks
> > > > against proposed implementation?
> > > >
> > > > пт, 11 окт. 2019 г. в 17:49, Alexey Goncharuk <
> > alexey.goncha...@gmail.com
> > > > >:
> > > > >
> > > > > Hello Mulugeta, Igniters.
> > > > >
> > > > > Thanks for your interest and efforts in integrating the persistent
> > memory
> > > > > to Ignite. Here are my thoughts on the PR:
> > > > >
> > > > > First of all I was questioning whether we want to use the integration
> > > > with
> > > > > the pmem library via JNI. Java 14 will have native support for NVME
> > via
> > > > > native mapped byte buffers [1] since the corresponding tickets are
> > > > already
> > > > > resolved [2],[3]. The suggested integration uses JNI calls quite
> > often
> > > > (if
> > > > > I read the PR right, there will be tens of JNI calls per a single
> > > > > operation), which may and most likely will undermine the benefits of
> > > > using
> > > > > PM. On the other hand, there is a PoC/project [4] which successfully
> > > > > demonstrates how the new integration can be used to natively access
> > > > > persistent memory from Java. Additionally, new Unsafe have several
> > > > > performance issues - each put* methods has a map lookup, and CAS
> > method
> > > > > uses a global lock. Removing these issues will change the PR and
> > > > > architecture dramatically.
> > > > >
> > > > > Other than performance and an extra library dependency, there are
> > > > > additional reasons to use custom implementation of PM persistence
> > > > > primitives:
> > > > >
> > > > >    - Ignite significantly benefits from having WAL as a single point
> > of
> > > > >    data for both failure recovery and historical rebalance. As far
> > as I
> > > > can
> > > > >    guess, the suggested library also uses some sort of journaling in
> > > > order to
> > > > >    support crash recovery. Since we do not want give up on the
> > historical
> > > > >    rebalance, we would need to write an additional journal, which
> > then
> > > > raises
> > > > >    a question of how to transact between this journal.
> > > > >    - Ignite is supposed to work with large indexes, a I not aware how
> > > > LLPL
> > > > >    handles them. Several researches [5],[6] show that since PM
> > memory has
> > > > >    larger access latency than regular RAM, it is beneficial to buffer
> > > > index
> > > > >    pages in regular memory and store leaf pages in PM. There is a
> > generic
> > > > >    approach to convert in-memory indexes to PM ones [7], I think it
> > makes
> > > > >    sense to investigate whether our existing indexes can be
> > converted to
> > > > PM.
> > > > >    - There is an active IEP which is targeted for a file-based
> > > > rebalancing.
> > > > >    In the suggested implementation this optimization would not work.
> > A
> > > > better
> > > > >    integration should allow to take a snapshot of a partition and
> > > > transfer it
> > > > >    to another node for fast rebalancing.
> > > > >
> > > > > Overall, I think we may take the following path:
> > > > >
> > > > >    - Target JEP352 APIs; for now keep using the whole region msync
> > for
> > > > flush
> > > > >    - Introduce PM-based isolated components to support WAL iterator
> > and
> > > > >    transaction management. We can start with WAL, then implement a
> > > > PM-based
> > > > >    index based on current research, then a tuple heap with free space
> > > > >    management. Each of the components may be developed and tested
> > > > independently
> > > > >    - Do Ignite internals refactoring to properly abstract storage
> > layer
> > > > >    from transactions/communication. Currently, there is an
> > abstraction
> > > > leak in
> > > > >    the storage layer, which makes it aware of particular Ignite
> > > > implementation
> > > > >    details (Binary Objects, partition eviction, etc)
> > > > >    - Once the storage is separated, we should be able to plug the new
> > > > >    components instead of the "classical" ones
> > > > >
> > > > > WDYT? I believe we should create a detailed IEP with concrete
> > proposals
> > > > on
> > > > > both PM structures design and Ignite internals changes before making
> > any
> > > > > further code changes.
> > > > >
> > > > > [1] https://openjdk.java.net/jeps/352
> > > > > [2] https://bugs.openjdk.java.net/browse/JDK-8221397
> > > > > [3] https://bugs.openjdk.java.net/browse/JDK-8221696
> > > > > [4] https://github.com/jhalliday/mashona
> > > > > [5]
> > https://www.usenix.org/system/files/conference/fast17/fast17-lee.pdf
> > > > > [6] http://www.vldb.org/pvldb/vol8/p786-chen.pdf
> > > > > [7] https://www.cs.utexas.edu/~vijay/papers/sosp19-recipe.pdf
> > > > > [8]
> > > > >
> > > >
> > https://cwiki.apache.org/confluence/display/IGNITE/IEP-16%3A+Optimization+of+rebalancing
> > > > >
> > > > > вт, 8 окт. 2019 г. в 08:15, Alexey Goncharuk <
> > alexey.goncha...@gmail.com
> > > > >:
> > > > >
> > > > > > Igniters,
> > > > > >
> > > > > > I would like to resurrect this discussion and will review the
> > change
> > > > again
> > > > > > shortly. If anyone want to join the review - you are welcome!
> > > > > >
> > > > > > ср, 22 авг. 2018 г. в 18:49, Denis Magda <dma...@apache.org>:
> > > > > >
> > > > > >> Hi Dmitry,
> > > > > >>
> > > > > >> That's a BSD-3-Clause license if to believe this statement
> > > > > >> "SPDX-License-Identifier: BSD-3-Clause":
> > > > > >> https://github.com/pmem/llpl/blob/master/LICENSE
> > > > > >>
> > > > > >> This license can be used with ASF software:
> > > > > >> https://www.apache.org/legal/resolved.html#category-a
> > > > > >>
> > > > > >> --
> > > > > >> Denis
> > > > > >>
> > > > > >> On Wed, Aug 22, 2018 at 9:28 AM Dmitriy Pavlov <
> > dpavlov....@gmail.com
> > > > >
> > > > > >> wrote:
> > > > > >>
> > > > > >> > Hi Denis,
> > > > > >> >
> > > > > >> > Could you please double check if we can refer to any library
> > > > licensed to
> > > > > >> > Intel. Can we develop code only version of this support (without
> > > > > >> shipping
> > > > > >> > it in release)?
> > > > > >> >
> > > > > >> > https://github.com/apache/ignite/pull/4381 is quite huge
> > change,
> > > > > >> > including 128 files changed, patch review will require resources
> > > > from
> > > > > >> > community members to review. I would like to be sure we can
> > include
> > > > this
> > > > > >> > patch from the legal point of view.
> > > > > >> >
> > > > > >> > Sincerely,
> > > > > >> > Dmitriy Pavlov
> > > > > >> >
> > > > > >> > пт, 3 авг. 2018 г. в 19:23, Dmitriy Pavlov <
> > dpavlov....@gmail.com>:
> > > > > >> >
> > > > > >> >> Hi Mulugeta,
> > > > > >> >>
> > > > > >> >> I appologise, I've missed that license is already there. So I
> > > > guess it
> > > > > >> is
> > > > > >> >> not standard open-source license, it is seems it is not listed
> > in
> > > > > >> >> https://www.apache.org/legal/resolved.html#category-a
> > > > > >> >>
> > > > > >> >> So there can be legal concern related to including this lib as
> > > > > >> dependency
> > > > > >> >> into Apache product. It should not block review, we can later
> > > > > >> >> consult Secretary/Legal to find out how we can correctly
> > include
> > > > > >> reference
> > > > > >> >> to lib.
> > > > > >> >>
> > > > > >> >> Sincerely,
> > > > > >> >> Dmitriy Pavlov
> > > > > >> >>
> > > > > >> >> чт, 2 авг. 2018 г. в 0:24, Mammo, Mulugeta <
> > > > mulugeta.ma...@intel.com>:
> > > > > >> >>
> > > > > >> >>> Hi Dmitriy,
> > > > > >> >>>
> > > > > >> >>> Do you mean our LLPL library? It has a license, please look
> > here:
> > > > > >> >>> https://github.com/pmem/llpl
> > > > > >> >>>
> > > > > >> >>> Regarding the changes made to Ignite, you may refer to the
> > pull
> > > > > >> request
> > > > > >> >>> here: https://github.com/apache/ignite/pull/4381
> > > > > >> >>>
> > > > > >> >>> Thanks,
> > > > > >> >>> Mulugeta
> > > > > >> >>>
> > > > > >> >>> -----Original Message-----
> > > > > >> >>> From: Dmitriy Pavlov [mailto:dpavlov....@gmail.com]
> > > > > >> >>> Sent: Wednesday, August 1, 2018 10:49 AM
> > > > > >> >>> To: dev@ignite.apache.org
> > > > > >> >>> Subject: Re: Adding experimental support for Intel Optane DC
> > > > > >> Persistent
> > > > > >> >>> Memory
> > > > > >> >>>
> > > > > >> >>> Hi Mulugeta Mammo,
> > > > > >> >>>
> > > > > >> >>> I've just noticed that repository, what you refer is full
> > fork of
> > > > > >> Ignite.
> > > > > >> >>> How can I see differences with original Ignite?
> > > > > >> >>>
> > > > > >> >>> One more thing, library which you're referencing seems to not
> > > > contain
> > > > > >> >>> license, at least github can not parse it. Apache product has
> > > > > >> limitations
> > > > > >> >>> which libraries may be used (see
> > > > > >> >>> https://www.apache.org/legal/resolved.html#category-a and
> > > > > >> >>> https://www.apache.org/legal/resolved.html#category-b)
> > > > > >> >>>
> > > > > >> >>> Could you please comment if there is some legal risk?
> > > > > >> >>>
> > > > > >> >>> Sincerely,
> > > > > >> >>> Dmitriy Pavlov
> > > > > >> >>>
> > > > > >> >>> ср, 1 авг. 2018 г. в 20:43, Dmitriy Pavlov <
> > dpavlov....@gmail.com
> > > > >:
> > > > > >> >>>
> > > > > >> >>> > Hi,
> > > > > >> >>> >
> > > > > >> >>> > This link works for me
> > > > > >> >>> >
> > > > > >> >>> >
> > > > > >>
> > > > https://cwiki.apache.org/confluence/display/IGNITE/IEP-26%3A+Adding+Ex
> > > > > >> >>> > perimental+Support+for+Intel+Optane+DC+Persistent+Memory
> > > > > >> >>> >
> > > > > >> >>> > Sincerely,
> > > > > >> >>> > Dmitriy Pavlov
> > > > > >> >>> >
> > > > > >> >>> > чт, 26 июл. 2018 г. в 15:31, Stanislav Lukyanov <
> > > > > >> >>> stanlukya...@gmail.com>:
> > > > > >> >>> >
> > > > > >> >>> >> Ah, ok, it’s just the ‘.’ at the end of the link. Removed
> > it
> > > > and
> > > > > >> it’s
> > > > > >> >>> >> fine.
> > > > > >> >>> >>
> > > > > >> >>> >> From: Stanislav Lukyanov
> > > > > >> >>> >> Sent: 26 июля 2018 г. 15:12
> > > > > >> >>> >> To: dev@ignite.apache.org
> > > > > >> >>> >> Subject: RE: Adding experimental support for Intel Optane
> > DC
> > > > > >> >>> >> Persistent Memory
> > > > > >> >>> >>
> > > > > >> >>> >> Hi,
> > > > > >> >>> >>
> > > > > >> >>> >> The link you’ve shared gives me 404.
> > > > > >> >>> >> Perhaps you need to add a permission for everyone to
> > access the
> > > > > >> page?
> > > > > >> >>> >>
> > > > > >> >>> >> Thanks,
> > > > > >> >>> >> Stan
> > > > > >> >>> >>
> > > > > >> >>> >> From: Mammo, Mulugeta
> > > > > >> >>> >> Sent: 26 июля 2018 г. 2:44
> > > > > >> >>> >> To: dev@ignite.apache.org
> > > > > >> >>> >> Subject: Adding experimental support for Intel Optane DC
> > > > Persistent
> > > > > >> >>> >> Memory
> > > > > >> >>> >>
> > > > > >> >>> >> Hi,
> > > > > >> >>> >>
> > > > > >> >>> >> I have added a new proposal to support Intel Optane DC
> > > > Persistent
> > > > > >> >>> >> Memory for Ignite here:
> > > > > >> >>> >>
> > > > > >>
> > https://cwiki.apache.org/confluence/display/IGNITE/Adding+Experimenta
> > > > > >> >>> >> l+Support+for+Intel+Optane+DC+Persistent+Memory
> > > > > >> >>> >> .
> > > > > >> >>> >>
> > > > > >> >>> >> I'm looking forward to your feedback and collaboration on
> > this.
> > > > > >> >>> >>
> > > > > >> >>> >> Thanks,
> > > > > >> >>> >> Mulugeta
> > > > > >> >>> >>
> > > > > >> >>> >>
> > > > > >> >>> >>
> > > > > >> >>> >>
> > > > > >> >>>
> > > > > >> >>
> > > > > >>
> > > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Ivan Pavlukhin
> > > >
> >
> >
> >
> > --
> > Best regards,
> > Ivan Pavlukhin
> >



-- 
Best regards,
Ivan Pavlukhin

Reply via email to