CSP 大作业选题 - 非易失性内存
在非易失性内存(NVM)上保存数据时,经常需要使用异步更新的方式减少关键路径上的高延迟操作(如在后台线程中进行 clflush)。然而异步更新会带来一些问题,如部分的数据丢失、后台线程阻塞、CPU 资源的浪费等。在本作业中,你需要完成以下三个任务。
- 请调研使用异步更新的NVM系统,列出不同系统使用异步更新的目的和方式。调研这些系统所对应的论文中,是否对异步更新的方式进行了分析,以及进行了哪些方面的分析。并根据分析,总结使用异步更新的优势和不足。(请在 CCF 会议列表中的会议中进行调研,如 SOSP、OSDI、USENIX ATC、FAST、ASPLOS、EuroSys 等)
- 请思考这些 NVM 系统的适用场景,并选择其中一个系统,构造负载,使得此系统无法发挥最好性能。
- 针对2中的问题提出一个改进方案,并详细阐述改进方案的有效性。
- (可选)编码实现改进方案,并通过测试证明该方案的有效性。
参考论文:
- Soft Updates Made Simple and Fast on Non-volatile Memory
- DUDETM: Building Durable Transactions with Decoupling for Persistent Memory
- Closing the Performance Gap Between Volatile and Persistent Key-Value Stores Using Cross-Referencing Logs
- Pisces: A Scalable and Efficient Persistent Transactional Memory
- HiKV: A Hybrid Index Key-Value Store for DRAM-NVM Memory Systems
- Redesigning LSMs for Nonvolatile Memory with NoveLSM
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory
- Pronto: Easy and Fast Persistence for Volatile Data Structures
- Persistent State Machines for Recoverable In-memory Storage Systems with NVRam