论文标题

带有KLOC的分层内存系统的高效内核对象管理

Efficient Kernel Object Management for Tiered Memory Systems with KLOC

论文作者

Kannan, Sudarsun, Ren, Yujie, Bhatacharjee, Abhishek

论文摘要

软件控制的异质记忆系统有可能提高新兴系统中的性能,效率和成本权衡。实现这一诺言需要有效的操作系统(OS)机制和数据管理的政策。不幸的是,现代OS不支持异质记忆之间数据的有效分层。尽管已知此问题(正在研究)在应用程序级数据页面上,但如何最好地忽略了如何最好地到达OS内核对象的问题。我们表明,仔细的内核对象管理对于软件控制的分层内存系统的性能至关重要。我们发现,最先进的OS页面管理研究通过忽视如何最好地与文件系统和网络堆栈相关的indodes,Dentry Caches,Journal Blocks,Network套接字缓冲区等(例如Inodes,Dentry Caches,Journal Blocks,Network套接字缓冲区等),在桌子上留下了相当大的性能。作为响应,我们表征了内核对象的热度,重复使用和透明性特性,以开发适当的分层/迁移机制和策略。我们使用现实系统仿真框架在大规模工作负载(例如Rocksdb,Redis,Cassandra)和Spark上评估我们的建议,与先前的艺术相比,吞吐量高1.4倍至4倍。

Software-controlled heterogeneous memory systems have the potential to improve performance, efficiency, and cost tradeoffs in emerging systems. Delivering on this promise requires an efficient operating system (OS) mechanisms and policies for data management. Unfortunately, modern OSes do not support efficient tiering of data between heterogeneous memories. While this problem is known (and is being studied) for application-level data pages, the question of how best to tier OS kernel objects has largely been ignored. We show that careful kernel object management is vital to the performance of software-controlled tiered memory systems. We find that the state-of-the-art OS page management research leaves considerable performance on the table by overlooking how best to tier, migrate, and manage kernel objects like inodes, dentry caches, journal blocks, network socket buffers, etc., associated with the filesystem and networking stack. In response, we characterize hotness, reuse, and liveness properties of kernel objects to develop appropriate tiering/migration mechanisms and policies. We evaluate our proposal using a real-system emulation framework on large-scale workloads like RocksDB, Redis, Cassandra, and Spark and achieve 1.4X to 4X higher throughput compared to the prior art.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源