Modern Operating Systems are typically POSIX-compliant. The system calls are the fundamental layer of interaction between user-space applications and the OS kernel and its implementation of fundamental abstractions and primitives used in modern computing. The next generation of NVM/SCM memory raises critical questions about the efficiency of modern OS architecture. This paper investigates how the POSIX API drives performance for a system with NVM/SCM memory. We show that OS and metadata related system calls represent the most important area of optimization. However, the synchronization related system calls (poll(), futex(), wait4()) are the most time-consuming overhead that even a RAMdisk platform fails to eliminate. Attempting to preserve the POSIX-based approach will likely result in fundamental inefficiencies for any future applications of NVM/SCM memory.
翻译:现代操作系统一般符合 POSIX 。 系统呼叫是用户- 空间应用与OS内核之间互动的基本层面,是其实施现代计算中使用的基本抽象和原始功能。 下一代 NVM/ SCM 记忆提出了现代OS 结构效率的关键问题。 本文调查 POSIX API 如何驱动使用 NVM/ SCM 记忆系统的系统性能。 我们显示, OS 和元数据相关系统呼叫是最重要的优化领域。 然而, 同步相关系统呼叫(poll ()、 futex () 、 wait4( ) ) 是甚至RAmdisk 平台都无法消除的最耗时的间接费用。 试图维护 POSIX 方法可能会对 NVM/ SCM 记忆的未来应用造成根本的低效率。