New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

META: libpmemobj 1.5 release #869

Closed
pbalcer opened this Issue May 11, 2018 · 5 comments

Comments

Projects
None yet
2 participants
@pbalcer

pbalcer commented May 11, 2018

This is a meta issue for all significant features that we plan on shipping for the next release of libpmemobj.

  • Performance Improvements
    • Hybrid Transactions pmem/pmdk#2716
    • Checksums for undo log snapshots #905
    • Allocator transient state improvements
    • asynchronous RDMA replica writes (flush/drain model) #870
  • Under the hood changes
    • Unified small/large undo logs #879
    • Generalization of the current redo log to support undo type actions #889
    • Simplified lane and recovery mechanism #890
    • New multiple consumer single producer hashmap #871
  • Functionality
    • flexible pmemobj_mem[cpy|set|move] pmem/pmdk#2769
    • Expanded Actions API #880
    • Lazily initialized volatile variables pmem/pmdk#2624
    • Aligned allocations pmem/pmdk#2654
    • More allocator/transaction statistics #888
    • thread-safe pmemobj_create(), pmemobj_open(), pmemobj_close() #872
    • Lifting the limit of units per run #877
  • RAS (Reliability, Availability and Serviceability)
    • Unsafe Shutdown Count enabling
    • Redo-style pmempool sync pmem/pmdk#2957
  • Tools / Benchmarks
    • new universal pool convert tool #907
    • Fragmentation and long-term stability focused benchmarks #886
    • valgrind pmemcheck store logging and reordering pmem/pmdk#2964
  • Documentation / Examples
    • Technical paper describing the library in detail #887
  • C++
    • pmem::obj::v pmem/pmdk#2624
    • Change atomic make persistent to allow nesting #909
    • Function names cleanup #908
    • Persistent Containers #910
      • pmem::obj::array
      • pmem::obj::vector

This is a living document, feel free to suggest new things.

@pbalcer pbalcer added this to the 1.5 milestone May 11, 2018

@wmpeng

This comment has been minimized.

wmpeng commented May 17, 2018

According to your estimate, when will the 1.5 version be released?

@pbalcer

This comment has been minimized.

pbalcer commented May 17, 2018

Current plan is to release the new version around October.

@wmpeng

This comment has been minimized.

wmpeng commented May 17, 2018

Got it, thanks.

@pbalcer

This comment has been minimized.

pbalcer commented Oct 2, 2018

As we approach 1.5, reality forced us to slightly reduce the scope of the release. All of the important performance improvements made it through, but we weren't able to deliver on one runtime scalability improvement - it will ship with the next release.
There were two other things we missed: threadsafe pool management, which is a relatively small ease of use improvement, but a difficult thing to implement, and we were only able to implement one C++ container, the array - the C++ work was always a stretch goal anyway, and we unfortunately encountered many difficulties with settling on intuitive and easy to use semantics for the new containers - it's not as easy as just copying the behavior of the standard classes ;)

I have moved everything we dropped to 1.6 release: #932

@pbalcer

This comment has been minimized.

pbalcer commented Oct 31, 2018

Closing this issue because 1.5 has been released.

@pbalcer pbalcer closed this Oct 31, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment