范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

深入理解零拷贝技术

  传统文件传输过程:
  第一步拷贝:把磁盘上的数据拷贝到操作系统的内核缓冲区上来,通过DMA实现 第二步拷贝:把内核缓冲区的数据拷贝到用户的缓冲区里,此时我们的应用程序就可以使用这部分数据了,这个拷贝过程由CPU完成 第三次拷贝:把刚才拷贝到用户缓冲区里的数据再拷贝到内核的socket缓冲区里,这个过程依然由CPU完成 第四次拷贝:把内核的socket缓冲区里的数据拷贝到网卡的缓冲区里,这个过程由DMA实现 零拷贝技术
  是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域,这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。通俗来讲,零拷贝就是一种避免CPU将数据从一块存储拷贝到另一块存储的技术,零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而提高数据的传输效率 DMA :把磁盘的数据栲贝到内核的缓冲区里 read() :系统调用的过程中会把内核缓冲区的数据栲贝到用户的缓冲区里 write() :操作系统直接将内核缓冲区的数据栲贝到socket缓冲区中 CPU拷贝:把内核缓冲区里的数据栲贝到socket缓冲区的过程 可以看出在一次文件传输的过程中需要 4次拷贝 ,并且这个期间一共发生了 4次 用户态与内核态的 上下文切换 ,因为发生了两次 系统调用 (应用程序去访问操作系统内核的功能的时候去调用系统内核功能的过程叫做系统调用),一次是read,一次是write,每次系统调用都要先从用户态切换到内核态,等内核完成任务后,再从内核态切换回用户态,上下文切换成本并不小,一次切换需要几十纳秒到几微秒,在高并发的场景下,这种时间会被放大,影响系统性能。 问题
  我们再看这个文件传输过程,我们只是搬运了一份数据,结果却搬运了四次,这种传统文件传输方式存在冗余的上下文切换和数据拷贝,在高并发的场景下,严重影响系统性能
  所以,我们要减少用户态和内核态的上下文切换和数据拷贝的次数
  解决方案: MMAP+wirte
  mmap()系统调用函数会直接把内核缓冲区里的数据「映射」到用户空间,这样,操作系统内核与用户空间就不需要再进行任何的数据栲贝操作。  buf = mmap(diskfd, len);   write(sockfd, buf, len);
  应用程序调用mmap(),磁盘上的数据会通过DMA被拷贝的内核缓冲区,接着操作系统会把这段内核缓冲区与应用程序共享,这样就不需要把内核缓冲区的内容往用户空间拷贝。应用程序再调用write(),操作系统直接将内核缓冲区的内容拷贝到socket缓冲区中,这一切都发生在内核态,最后,socket缓冲区再把数据发到网卡去。该过程减少了一次拷贝 问题
  使用mmap替代read很明显减少了一次拷贝,当拷贝数据量很大时,无疑提升了效率。但是使用mmap是有代价的。当你使用mmap时,你可能会遇到一些隐藏的陷阱。例如,当你的程序map了一个文件,但是当这个文件被另一个进程截断(truncate)时, write系统调用会因为访问非法地址而被SIGBUS信号终止。SIGBUS信号默认会杀死你的进程并产生一个coredump,如果你的服务器这样被中止了,那会产生一笔损失。 解决方案
  1.为SIGBUS信号建立信号处理程序 当遇到SIGBUS信号时,信号处理程序简单地返回,write系统调用在被中断之前会返回已经写入的字节数,并且errno会被设置成success,但是这是一种糟糕的处理办法,因为你并没有解决问题的实质核心。
  2.使用文件租借锁 通常我们使用这种方法,在文件描述符上使用租借锁,我们为文件向内核申请一个租借锁,当其它进程想要截断这个文件时,内核会向我们发送一个实时的RT_SIGNAL_LEASE信号,告诉我们内核正在破坏你加持在文件上的读写锁。这样在程序访问非法内存并且被SIGBUS杀死之前,你的write系统调用会被中断。write会返回已经写入的字节数,并且置errno为success。 我们应该在mmap文件之前加锁,并且在操作完文件后解锁: sendfile
  从Linux内核2.4版本开始起,对于支持网卡支持SG-DMA技术的情况下, 第一步,通过DMA将磁盘上的数据拷贝到内核缓冲区里; 第二步,缓冲区拷贝文件描述符和数据长度传到socket缓冲区, 这样网卡的SG-DMA控制器就可以直接将内核缓存中的数据栲贝到网卡的缓冲区里, 此过程不需要将数据从操作系统内核缓冲区栲贝到socket缓冲区中,这样就减少了一次数据栲贝
  零栲贝技术的文件传输方式相比传统文件传输的方式,减少了2次上下文切换和数据栲贝次数,只需要2次上下文切换和数据栲贝次数,就可以完成文件的传输,而且2次的数据栲贝过程,都不需要通过CPU,2次都是由DMA来搬运。所以,总体来看,零栲贝技术可以把文件传输的性能提高至少一倍以上 零拷贝的好处减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务 减少内存带宽的占用 通常零拷贝技术还能够减少用户空间和操作系统内核空间之间的上下文切换

何超琼晒爬长城旧照,郭晶晶献唱七子之歌,霍何两家堪称爱国典范国庆大家都在忙着到处旅游跟塞车的时候,香港则是举行了很多爱国的活动。其中何鸿燊家族跟霍英东就又起了带头的作用。何超琼参加了一个访谈节目,并且在节目里面谈到了何鸿燊家族的家训。她说父去贵州,必去的8个景点,你都去过吗?美旅图赏世界的美好就在眼前贵州可以说是名副其实的旅游大省。无论是自然景观,还是少数民族风情,都有着其本身独有的特色魅力。那么贵州有哪些必须要去的地方呢?01黔灵山公园黔灵山被誉为黔最美贵州,2019贵州游记荔波(一)从黄果树景区出来,准备去荔波,从地图看可以向东直接到荔波,但是,不论公路铁路都必须到贵阳后才能到达荔波,这是贵州旅游与众不同的特点,要走回头路。从贵阳去荔波共有三条路线1。从贵阳火叫板茅台的郎酒,与习酒干起来了这是叫板,也是怒吼!10月4日,重阳下沙季,郎酒汪俊林不玩虚招,直接上硬菜投产6万吨,今年销售回款200亿左右。在酱酒集体进入迷茫的2022年,郎酒却有底气挑战同比2021年暴增3黄山景区回应游客十分钟走一米总体秩序井然,加强管理安徽省黄山风景区官方微博中国黄山4日上午发文回应网传十分钟走一米形容黄山莲花峰少数时段节点通行不顺畅的情况。中国黄山发文称,莲花峰是黄山最高峰,景观壮美,峰顶区域面积狭小,仅10余曝明年要发布iPhone15新机,iPhone14跌至超冰点价网友马上疯抢今天我们聊聊明年要发布的iPhone15新机,iPhone15将不会搭载A17芯片,而是搭载iPhone14Pro系列上的同款A16处理器,其实这颗芯片的口碑还是蛮高的,虽然相比A莒国古城!入选!近日山东省文化和旅游厅公布第二批山东省级夜间文化和旅游消费集聚区名单日照市莒国古城成功入选!值此国庆黄金周假期莒国古城推出国庆系列主题活动与大家欢度国庆尽享欢乐时光现将活动观赏攻略A股底部!多位私募大佬最新发声国庆长假期间,中国基金报邀请多家私募公司董事长总经理或投资总监,对前三季度股市进行分析总结,展望四季度A股投资机会,仅供投资者参考。星石投资副总经理方磊股市悲观预期释放,A股进入价低调的厦门富豪林志雄31岁辞职创业,如今公司上市,身家95亿林志雄01林志雄,1973年7月出生,经过认真刻苦地学习,高考结束后,他考入福建医科大学。大学毕业后,1996年9月,23岁的林志雄被分配到厦门中山医院当起了一名骨科医生。身为骨科1965年,毛主席诚邀台湾回归,蒋介石闻讯,一口气提出6个条件1949年,新中国政府成立的庆典炮声,宣布了蒋家王朝在大陆统治时代的结束。蒋介石只能带着他无限的遗憾和对故土的不舍撤到台湾。临行前,蒋介石曾到奉化的祖坟前面凝视许久,他自己也不知道草原千里长歌行荷包草原千里长歌行茫茫千里草原,就这样浩浩如猎旗飘荡,远古的梦演变成彩陶,神话演变成座座敖包,马背上我的目光伸向草原雄浑的腹地。我拾起洒落在茫茫漠野上的蹄风,将北国风光揽入我远行的
光遇AI作画很有趣,DIY有惊喜,建议官方参考光遇AI作画很有趣,DIY有惊喜,建议官方参考!前言大家好,我是喜欢玩游戏聊游戏的孟婆小编。最近几天,你们猜一猜,玩家在不玩光遇的时候,都在玩什么呢?可能有的人已经猜到了AI作画。传世骑战版骑战攻沙,灵兽合击,趣味畅玩热血攻沙传世骑战版,这是一款微变玩法传世手游,传承三职业经典核心,互相制衡,在此基础上加入了一个新的伙伴灵兽坐骑,玩家可以骑上坐骑参与战斗,不仅拥有高额的移动速度,还可以释放战骑合击技能,中医江志峰保护我们的胃,平时该注意什么?保护我们的胃,平时该注意什么?我觉得这个胃病的反复要从几个方面解释。其实你喝一口水都要经过你的胃,所以呢我想我们要从你的生活方式,这是一方面,就是你的吃饭快慢,吃什么喝什么。就向我无花果皮可以吃吗?无花果皮怎么吃无花果很多人都吃过,知道它是一种味道甘甜营养丰富的美味水果,但有些人吃无花果是习惯把它的果皮去掉以后再吃,那么无花果的果皮能不能吃呢?接下来就得大家去了解这个问题,同时也会让大家知中药全解葛根记忆口诀葛根胃脾凉甘辛,解肌退热发麻疹,生津消渴升阳泻,高糖高压项背强,解酒根花绿小豆,扩冠丰胸并美容。(野生葛根)概述为豆科植物野葛的根。主产于湖南河南等地。秋冬二季采挖。以块大体内有湿有痰,名方三仁汤,上可宣肺,中可健脾,下利膀胱体内痰湿重,一直是现代人很头疼的一个问题,常常感觉喉咙里面有痰,流鼻涕,容易感冒,大便溏稀不成形,小肚子也特别大,舌头胖大,舌苔厚腻,虽然也吃了祛痰的药物,效果也不见好转,这到底是男性如何预防前列腺疾病?这些日常护理要做好前列腺是男性重要的器官,前列腺分泌的前列腺液不仅参与精子合成,也在性生活中有着重要的作用。当前列腺出现问题,容易影响性能力,也容易影响生育能力,因此要做好保护前列腺的措施,以下这些每日一味抗癌中药土茯苓,解毒除湿利关节,组方应用广泛土茯苓品种来源百合科植物光叶菝葜的干燥根茎。秋末冬初采挖,除去芦头及须根,洗净泥沙,晒干,或切片晒干。别名禹余粮白余粮革禹余粮刺猪苓过山龙硬饭仙遗粮土萆薢。性味味甘淡,性平。归经归两味中药泡水,一温一通,祛胃寒,止胃痛,专治老胃病大家好,我是赵医生。今天,给大家分享一个妙方,只有两味药,一温一通,可以祛胃寒止胃痛,可治疗各种胃痛胃胀,专克老胃病。现在很多人都一些老胃病,平时只要吃一些辛辣刺激或者是比较寒凉的游戏早报又跳票了?红色沙漠要等到明年下半年才能开发完各位玩家朋友们早上好呀!一起来看看昨天夜间到今天凌晨都有哪些游戏圈的大事发生吧。为战区2让路使命召唤战区即将停服12天随着COD19的推出,使命召唤战区2也即将在11月16日推出,机迷游戏日报国产新游百面千相公布伊苏明年推出新作叠纸游戏新作中国风开放世界动作游戏百面千相公布视频加载中由叠纸游戏研发的中国风开放世界动作游戏百面千相公布了首爆PV,本作将登陆主机PC安卓和iOS,具体发售日期尚未公布。游戏介绍