- How to manage the memory with in a RAMCloud server?
- Traditional memory allocation techniques are all O(N^2^)unless they use bins.
- There will probably be no pointers, so it's easy to reorganize memory to eliminate fragmentation.
- For example, could use page-based approaches: to write a new object, find a page with lots of empty space, then compact the page if needed to collapsed free spaces, then append the new object.
- How are objects referenced (unique identifier?) and how are those identifiers mapped to a specific offset within a specific page?
- If done right, memory management could help the persistence mechanisms:
- Collect all recently-modified data together in a small number of pages
- During snapshotting, only need to snapshot the pages that have changed since the last snapshot.
- This could greatly reduce the cost of snapshots.
- This starts to smell a bit like a log-structured file system.
Manage space
Manage content
Integrations