Linux内核正在努力实现快速高效的I/O

栏目: 服务器 · Linux · 发布时间: 4年前

内容简介:Linux内核在情人节得到了一枚新的戒指……io_uring。io_uring的目的是在Linux上提供更快、更高效的I/O操作,并且应该在下一个内核周期中提供。io_uring的Linux块维护人员和开发人员,Facebook的Jens Axboe在Git上将新接口排队过夜进入Io_uring比Linux的AIO异步I/O代码要高效得多,它支持高效的缓冲异步I/O,甚至可以在不执行轮询I/O系统调用的情况下执行I/O,以及其他效率增强。

Linux内核在情人节得到了一枚新的戒指……io_uring。io_uring的目的是在 Linux 上提供更快、更高效的I/O操作,并且应该在下一个内核周期中提供。

io_uring的Linux块维护人员和开发人员,Facebook的Jens Axboe在Git上将新接口排队过夜进入 linux-block/for-next 。io_uring接口提供在应用程序和内核之间共享的提交和完成队列环,以避免多余的副本。新接口只有两个新的系统调用(io_uring_setup和io_uring_enter)来处理I/O, Axboe之前曾在“aioring”这个名称下使用此代码。

Io_uring比Linux的AIO异步I/O代码要高效得多,它支持高效的缓冲异步I/O,甚至可以在不执行轮询I/O系统调用的情况下执行I/O,以及其他效率增强。 接口补丁 继续解释:

  • 通过此设置,可以通过单个系统调用执行异步IO。未来的发展将使用这个界面启用轮询IO,并进行轮询提交。后者将使应用程序能够在不进行任何系统调用的情况下执行IO。
  • 对于IRQ驱动的IO,如果应用程序想要等待它们发生,则只需要进入内核以进行完成。
  • 每个io_uring都有一个工作队列支持,以支持缓冲的异步IO。如果命令需要在设备端等待IO,我们将只向异步上下文发送。可以在页面缓存中直接访问的任何数据都是内联完成的。这避免了常见线程池的缓慢问题,因为缓存数据的访问速度与同步接口一样快。
  • io_uring的设计理念似乎是为Linux提供快速高效的I/O。

围绕新接口构建的用户空间库存在 liburing 。Axboe的FIO基准也已经进行了调整,以支持io_uring。这应该是Linux 5.1中另一个值得兴奋的特性。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-02/156912.htm


以上所述就是小编给大家介绍的《Linux内核正在努力实现快速高效的I/O》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我知道他想看什么

我知道他想看什么

沙建军 / 中信出版社 / 2018-1 / 48.00

社交媒体迅速发展、信息快速迭代、时间碎片化;大数据、智能终端、物联网横空出世;移动支付、网红经济和传统营销失效,这些都让这个时代的媒体、内容、渠道、产品之间的边界越来越模糊,也从根本上改变了营销的逻辑,内容营销从热词变成趋势,变成营销的底层思维。未来一切都是媒体,形式也是内容。 本书作者通过对国内外36个内容营销的新近案例的故事化描述和透彻分析,提出“组织媒介化”“营销内容化”“内容情趣化”......一起来看看 《我知道他想看什么》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具