Memory Management Support for Multi-Programmed Remote Direct Memory Access (RDMA) Systems

K. Magoutis
{"title":"Memory Management Support for Multi-Programmed Remote Direct Memory Access (RDMA) Systems","authors":"K. Magoutis","doi":"10.1109/CLUSTR.2005.347031","DOIUrl":null,"url":null,"abstract":"Current operating systems offer basic support for network interface controllers (NICs) supporting remote direct memory access (RDMA). Such support typically consists of a device driver responsible for configuring communication channels between the device and user-level processes but not involved in data transfer. Unlike standard NICs, RDMA-capable devices incorporate significant memory resources for address translation purposes. In a multi-programmed operating system (OS) environment, these memory resources must be efficiently shareable by multiple processes. For such sharing to occur in a fair manner, the OS and the device must cooperate to arbitrate access to NIC memory, similar to the way CPUs and OSes cooperate to arbitrate access to translation lookaside buffers (TLBs) or physical memory. A problem with this approach is that today's RDMA NICs are not integrated into the functions provided by OS memory management systems. As a result, RDMA NIC hardware resources are often monopolized by a single application. In this paper, I propose two practical mechanisms to address this problem: (a) Use of RDMA only in kernel-resident I/O subsystems, transparent to user-level software; (b) An extended registration API and a kernel upcall mechanism delivering NIC TLB entry replacement notifications to user-level libraries. Both options are designed to re-instate the multiprogramming principles that are violated in early commercial RDMA systems","PeriodicalId":255312,"journal":{"name":"2005 IEEE International Conference on Cluster Computing","volume":"192 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2005 IEEE International Conference on Cluster Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CLUSTR.2005.347031","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Current operating systems offer basic support for network interface controllers (NICs) supporting remote direct memory access (RDMA). Such support typically consists of a device driver responsible for configuring communication channels between the device and user-level processes but not involved in data transfer. Unlike standard NICs, RDMA-capable devices incorporate significant memory resources for address translation purposes. In a multi-programmed operating system (OS) environment, these memory resources must be efficiently shareable by multiple processes. For such sharing to occur in a fair manner, the OS and the device must cooperate to arbitrate access to NIC memory, similar to the way CPUs and OSes cooperate to arbitrate access to translation lookaside buffers (TLBs) or physical memory. A problem with this approach is that today's RDMA NICs are not integrated into the functions provided by OS memory management systems. As a result, RDMA NIC hardware resources are often monopolized by a single application. In this paper, I propose two practical mechanisms to address this problem: (a) Use of RDMA only in kernel-resident I/O subsystems, transparent to user-level software; (b) An extended registration API and a kernel upcall mechanism delivering NIC TLB entry replacement notifications to user-level libraries. Both options are designed to re-instate the multiprogramming principles that are violated in early commercial RDMA systems
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
多程序远程直接内存访问(RDMA)系统的内存管理支持
当前的操作系统为支持远程直接内存访问(RDMA)的网络接口控制器(nic)提供了基本支持。这种支持通常由一个设备驱动程序组成,该驱动程序负责配置设备和用户级进程之间的通信通道,但不涉及数据传输。与标准网卡不同,支持rdma的设备包含用于地址转换的大量内存资源。在多程序操作系统(OS)环境中,这些内存资源必须由多个进程有效地共享。为了使这种共享以公平的方式发生,操作系统和设备必须合作来仲裁对网卡内存的访问,类似于cpu和操作系统合作来仲裁对转换外置缓冲区(tlb)或物理内存的访问。这种方法的一个问题是,今天的RDMA网卡没有集成到操作系统内存管理系统提供的功能中。因此,RDMA网卡硬件资源往往被单一应用程序垄断。在本文中,我提出了两种实用的机制来解决这个问题:(a)仅在内核驻留I/O子系统中使用RDMA,对用户级软件透明;(b)扩展的注册API和内核向上调用机制,向用户级库发送NIC TLB条目替换通知。这两种选择都旨在恢复早期商用RDMA系统中违反的多路编程原则
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Performance Effects of Interrupt Throttle Rate on Linux Clusters using Intel Gigabit Network Adapters A pipelined data-parallel algorithm for ILP Distributed Out-of-Core Preprocessing of Very Large Microscopy Images for Efficient Querying Grid and Cluster Matrix Computation with Persistent Storage and Out-of-core Programming A Cost/Benefit Estimating Service for Mapping Parallel Applications on Heterogeneous Clusters
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1