ScyllaDB's LSA (Log-Structured Allocator) could be useful for many Seastar applications which need to fill the entire memory they are given with some sort of data cache, and need to deal with evicting from this cache when the memory is depleted, and deal with memory fragmentation which means that simply evicting a bunch of old pieces of data does not necessarily open up a contiguous hole of the requested size (which is why LSA moves objects around memory).
I suggest that we move LSA into Seastar, and document it extensively in the Seastar tutorial. The presentation from @pdziepak is a good start of such documentation.
LSA could probably be used, for example, in projects such as Seastar memcached and pedis (Redis using Seastar).
ScyllaDB's LSA (Log-Structured Allocator) could be useful for many Seastar applications which need to fill the entire memory they are given with some sort of data cache, and need to deal with evicting from this cache when the memory is depleted, and deal with memory fragmentation which means that simply evicting a bunch of old pieces of data does not necessarily open up a contiguous hole of the requested size (which is why LSA moves objects around memory).
I suggest that we move LSA into Seastar, and document it extensively in the Seastar tutorial. The presentation from @pdziepak is a good start of such documentation.
LSA could probably be used, for example, in projects such as Seastar memcached and pedis (Redis using Seastar).