Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
Modern operating systems create ephemeral virtual-to-physical mappings for a variety of purposes, ranging from the implementation of interprocess communication to the implementation of process tracing and debugging. With succeeding generations of processors the cost of creating ephemeral mappings is increasing, particularly when an ephemeral mapping is shared by multiple processors. To reduce the cost of ephemeral mapping management within an operating system kernel, we introduce the sf_buf ephemeral mapping interface. We demonstrate how in several kernel subsystems—including pipes, memory disks, sockets, execve(), ptrace(), and the vnode pager—the current implementation can be replaced by calls to the sf_buf interface. We describe the implementation of the sf_buf interface on the 32-bit i386 architecture and the 64-bit amd64 architecture. This implementation reduces the cost of ephemeral mapping management by reusing wherever possible existing virtual-to-physical address mappings. We evaluate the sf_buf interface for the pipe, memory disk and networking subsystems. Our results show that these subsystems perform significantly better when using the sf_buf interface. On a multiprocessor platform interprocessor interrupts are greatly reduced in number or eliminated altogether.
David Atienza Alonso, Marina Zapater Sancho, Darong Huang, Luis Maria Costero Valero, Qunyou Liu