On Thu, Dec 29, 2016 at 1:37 AM, Alexey Goncharuk < alexey.goncha...@gmail.com> wrote:
> Folks, > > I pushed an initial implementation of IGNITE-3477 to ignite-3477 branch for > community review and further discussion. > > Note that the implementation lacks the following features: > - On-heap deserialized values cache > - Full LOCAL cache support > - Eviction policies > - Multiple memory pools > - Distributed joins support > - Off-heap circular remove buffer > - Maybe something else I missed > Do we have *blocker* tickets for all the remaining issues? Ignite 2.0 will have to support everything in Ignite 1.0. Otherwise we will not be able to release. > The subject of this discussion is to determine whether the PageMemory > approach is a way to go, because the this implementation is almost 2x > slower than current 2.0 branch. There is some room for improvement, but I > am not completely sure we can gain the same performance numbers as in 2.0. > I would rephrase this. We should all assume that the PageMemory approach is the right approach. Here are the main benefits: - completely off-heap (minimal GC overhead) - predictable memory size - ability to extend to external store, like disk, without serialization - etc... Let's collectively work on ensuring that it can perform as fast as Ignite 1.8.x. If after a thorough investigation we decide that PageMemory cannot perform, then we can start thinking about other approaches. > I encourage the community to review the code and architecture and share > their thoughts here. > Completely agree. If anyone has extra cycles, please review the code and suggest any improvements.