Page Fault Support for Network Controllers
Autor: | Shachar Raindel, Nadav Amit, Guy Shapiro, Liran Liss, Muli Ben-Yehuda, Sagi Grimberg, Haggai Eran, Dan Tsafrir, Ilya Lesokhin |
---|---|
Rok vydání: | 2017 |
Předmět: |
Flat memory model
Page fault Computer science InfiniBand Registered memory 02 engineering and technology Overlay computer.software_genre Memory management unit 020204 information systems 0202 electrical engineering electronic engineering information engineering Interleaved memory Conventional memory General Environmental Science business.industry 020206 networking & telecommunications Page replacement algorithm Memory map Memory-mapped file Extended memory Physical address Memory management Embedded system Demand paging Virtual memory Operating system Paging General Earth and Planetary Sciences Memory overcommitment business computer Zero page |
Zdroj: | ASPLOS |
ISSN: | 0163-5980 |
DOI: | 10.1145/3093315.3037710 |
Popis: | Direct network I/O allows network controllers (NICs) to expose multiple instances of themselves, to be used by untrusted software without a trusted intermediary. Direct I/O thus frees researchers from legacy software, fueling studies that innovate in multitenant setups. Such studies, however, overwhelmingly ignore one serious problem: direct memory accesses (DMAs) of NICs disallow page faults, forcing systems to either pin entire address spaces to physical memory and thereby hinder memory utilization, or resort to APIs that pin/unpin memory buffers before/after they are DMAed, which complicates the programming model and hampers performance.We solve this problem by designing and implementing page fault support for InfiniBand and Ethernet NICs. A main challenge we tackle---unique to NICs---is handling receive DMAs that trigger page faults, leaving the NIC without memory to store the incoming data. We demonstrate that our solution provides all the benefits associated with "regular" virtual memory, notably (1) a simpler programming model that rids users from the need to pin, and (2) the ability to employ all the canonical memory optimizations, such as memory overcommitment and demand-paging based on actual use. We show that, as a result, benchmark performance improves by up to 1.9x. |
Databáze: | OpenAIRE |
Externí odkaz: |