X-IO: A High-performance Unified I/O Interface using Lock-free Shared Memory Processing

Shixiong Qi, Han-Sing Tsai, Yu-Sheng Liu, K. Ramakrishnan, Jyh-cheng Chen
{"title":"X-IO: A High-performance Unified I/O Interface using Lock-free Shared Memory Processing","authors":"Shixiong Qi, Han-Sing Tsai, Yu-Sheng Liu, K. Ramakrishnan, Jyh-cheng Chen","doi":"10.1109/NetSoft57336.2023.10175428","DOIUrl":null,"url":null,"abstract":"Cloud-native microservice applications use different communication paradigms to network microservices, including both synchronous and asynchronous I/O for exchanging data. Existing solutions depend on kernel-based networking, incurring significant overheads. The interdependence between microservices for these applications involves considerable communication, including contention between multiple concurrent flows or user sessions. In this paper, we design X-IO, a high-performance unified I/O interface that is built on top of shared memory processing with lock-free producer/consumer rings, eliminating kernel networking overheads and contention. X-IO offers a feature-rich interface. X-IO’s zero-copy interface supports building provides truly zero-copy data transfers between microservices, achieving high performance. X-IO also provides a POSIX-like socket interface using HTTP/REST API to achieve seamless porting of microservices to X-IO, without any change to the application code. X-IO supports concurrent connections for microservices that require distinct user sessions operating in parallel. Our preliminary experimental results show that X-IO’s zero-copy interfaces achieve 2.8x-4.1x performance improvement compared to kernel-based interfaces. Its socket interfaces outperform kernel TCP sockets and achieve performance close to UNIX-domain sockets. The HTTP/REST APIs in X-IO perform 1.4 x-2.3 x better than kernel-based alternatives with concurrent connections.","PeriodicalId":223208,"journal":{"name":"2023 IEEE 9th International Conference on Network Softwarization (NetSoft)","volume":"199 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE 9th International Conference on Network Softwarization (NetSoft)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NetSoft57336.2023.10175428","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Cloud-native microservice applications use different communication paradigms to network microservices, including both synchronous and asynchronous I/O for exchanging data. Existing solutions depend on kernel-based networking, incurring significant overheads. The interdependence between microservices for these applications involves considerable communication, including contention between multiple concurrent flows or user sessions. In this paper, we design X-IO, a high-performance unified I/O interface that is built on top of shared memory processing with lock-free producer/consumer rings, eliminating kernel networking overheads and contention. X-IO offers a feature-rich interface. X-IO’s zero-copy interface supports building provides truly zero-copy data transfers between microservices, achieving high performance. X-IO also provides a POSIX-like socket interface using HTTP/REST API to achieve seamless porting of microservices to X-IO, without any change to the application code. X-IO supports concurrent connections for microservices that require distinct user sessions operating in parallel. Our preliminary experimental results show that X-IO’s zero-copy interfaces achieve 2.8x-4.1x performance improvement compared to kernel-based interfaces. Its socket interfaces outperform kernel TCP sockets and achieve performance close to UNIX-domain sockets. The HTTP/REST APIs in X-IO perform 1.4 x-2.3 x better than kernel-based alternatives with concurrent connections.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
X-IO:使用无锁共享内存处理的高性能统一I/O接口
云原生微服务应用程序使用不同的通信范式来连接微服务,包括用于交换数据的同步和异步I/O。现有的解决方案依赖于基于内核的网络,产生了大量的开销。这些应用程序的微服务之间的相互依赖涉及大量通信,包括多个并发流或用户会话之间的争用。在本文中,我们设计了X-IO,一个高性能的统一I/O接口,它建立在无锁的生产者/消费者环的共享内存处理之上,消除了内核网络开销和争用。X-IO提供了一个功能丰富的界面。X-IO的零复制接口支持构建,在微服务之间提供真正的零复制数据传输,实现高性能。X-IO还提供了一个使用HTTP/REST API的类似posix的套接字接口,以实现微服务到X-IO的无缝移植,而无需更改应用程序代码。X-IO支持微服务的并发连接,这些微服务需要不同的用户会话并行运行。我们的初步实验结果表明,与基于内核的接口相比,X-IO的零复制接口的性能提高了2.8 -4.1倍。它的套接字接口性能优于内核TCP套接字,性能接近unix域套接字。x- io中的HTTP/REST api在并发连接方面的性能比基于内核的替代方案好1.4 -2.3倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Autonomous Network Management in Multi-Domain 6G Networks based on Graph Neural Networks Showcasing In-Switch Machine Learning Inference Latency-Aware Kubernetes Scheduling for Microservices Orchestration at the Edge DRL-based Service Migration for MEC Cloud-Native 5G and beyond Networks Hierarchical Control Plane Framework for Multi-Domain TSN Orchestration
×
引用
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