【摘 要】
:
如今日益增长的网络请求给企业级Web网站的请求处理带来了巨大的压力。很多企业级Web网站使用NGINX来处理网络请求。NGINX可以将网络请求进行处理或者转发至上游服务器进行分流,然后将回复发送回客户端程序。基于原生操作系统的原生NGINX依赖于操作系统内核的网络协议栈。然而,内核态网络协议栈中的上下文切换、共享资源竞争等开销限制了网络包处理的性能。于是很多研究都使用用户态网络协议栈来替换内核态网
论文部分内容阅读
如今日益增长的网络请求给企业级Web网站的请求处理带来了巨大的压力。很多企业级Web网站使用NGINX来处理网络请求。NGINX可以将网络请求进行处理或者转发至上游服务器进行分流,然后将回复发送回客户端程序。基于原生操作系统的原生NGINX依赖于操作系统内核的网络协议栈。然而,内核态网络协议栈中的上下文切换、共享资源竞争等开销限制了网络包处理的性能。于是很多研究都使用用户态网络协议栈来替换内核态网络协议栈以消除内核协议栈中的性能开销。本论文提出了VPPNGX——一种基于FD.io VPP的针对公网请求处理的高性能NGINX实现。FD.io VPP是一种基于DPDK的高性能且拥有丰富功能的用户态包处理框架,可以运行在通用商业CPU上,且支持L2-L7的用户态网络协议栈。为了将FD.io VPP的用户态网络协议栈应用到NGINX,并解决直接应用FD.io VPP时带来的性能问题,我们首先提出了VPP会话索引透传机制(VPP Session Index Passthrough)以安全移除VPP会话锁层(VPP Session Lock Layer)。VPP会话锁层负责管理所有用于替代套接字锁的会话锁,且会对NGINX的可扩展性和请求处理延迟造成负面影响。其次,我们还为VPP事件队列(VPP Event Queue)引入了基于令牌的无锁化保序机制(Token-Based LockFree Order-Preserving)来保证在移除了VPP会话锁层后,从NGINX发向VPP的控制事件消息在入队VPP事件队列时,消息的元数据不会发生乱序。最后,我们设计了用户态联合阻塞式epoll机制(User-Space Unified Blocking epoll)去替换原本NGINX使用的忙等轮询式epoll机制(Busy-Wait Polling epoll),以在原来能同时接收用户态和内核态epoll事件的基础上,实现阻塞功能减少CPU占用率,并且减少因进行内核epoll事件检查而造成的上下文切换开销。基于吞吐量的可扩展性实验表明,VPPNGX在RPS(请求数/秒)方面达到了基于内核的原生NGINX的3.33倍吞吐量。VPPNGX能够在RPS方面达到很好的可扩展性,并且其RPS比直接使用VPP而没有任何优化的NGINX的RPS还要高。延迟实验表明,VPPNGX的请求处理延迟比F-Stack NGINX、直接使用VPP的NGINX还有基于内核的原生NGINX要分别低46.7%、34.1%和25.3%。CPU占用率实验和内核epoll事件检查开销实验表明,VPPNGX也能够在网络负载较低时减少CPU占用率,并减少因进行内核epoll事件检查而造成的上下文切换开销。
其他文献
随着视频拍摄设备的普及以及视频编辑软件的出现,越来越多的视频内容充斥在人们的生活中而视频编辑的门槛也越来越低。有一些不法分子会通过篡改视频的内容,把这些篡改视频加以传播,这会影响社会稳定。数字视频已经可以作为呈堂电子证据,若不能保证其原始性将严重危害司法秩序。由于视频如果经历过篡改,必然也会经历双次压缩,所以视频双压缩检测技术的研究对视频取证研究具有重要意义。本文主要研究GOP非对齐的视频双压缩检
目的:病毒性脑炎(viral encephalitis,VE)和自身免疫性脑炎(autoimmune encephalitis,AE)是儿童期最常见的两种脑炎,由于两者相似的临床表现和实验室指标,在疾病早期存在较大的误诊率,目前尚缺乏简便有效的指标来对两种脑炎进行早期鉴别。脑脊液免疫球蛋白是颅内体液免疫反应的标志物,病毒感染和自身免疫性疾病均会引起颅内免疫反应,但两者的免疫反应水平和类型不全相似,
太阳能、风能等可再生能源和工业余热具有波动性大和不连续的特点,无法作为稳定的能量源直接利用。储热技术是解决上述问题的有效手段,其中相变储热技术具备储热密度大、运行温度恒定以及技术相对成熟等优势,因而具有广阔的应用前景。传热强化是相变储热技术推广应用的重要研究内容,其中堆积床相变储热是一种高效的相变储热形式,但数值研究中已有模型的计算尺度不适用或者未能考虑径向孔隙率变化,而实验研究中缺乏对堆积床相变
情感分析在心理学、语言学、神经学等众多学科中都具有重大应用,而表情是人们日常了解对方情感的主要媒介。近年来,由于计算机软硬件的蓬勃发展,让计算机“读懂”人类的情感成为了可能。计算机理解人类情感的途径主要有计算机视觉以及语音处理两大类。通过计算机去区分人的面部表情即表情识别/情感识别是通过计算机视觉的方式向计算机解析情感。通过图像处理及模式识别技术进行机器自动表情识别已有近40年的研究历史,它也一直
随着大数据时代的来临,以数据为中心的计算密集型应用需求愈来愈多,而可重构阵列由于其出色的能效比而逐渐受到研究者的关注。近年来随着静态可重构阵列的相关研究逐渐深入,阵列中的互连架构多种多样,而鲜有针对各种互连架构的评价模型;阵列应用的布局布线算法各不相同,却缺少统一的与架构无关的布局布线算法。这都给静态可重构阵列进一步的互连探索带来困难。针对此问题,本文研究了两种针对静态可重构阵列特定类型互连架构的
目的探究忧郁型抑郁障碍(Melancholic,MEL)、非典型抑郁障碍(Atypical,ATY)和焦虑型抑郁障碍(Anxious,ANX)患者基线期和随访期之间存在的临床症状学、电生理指标的差异;以期找到可以区分抑郁障碍亚型的症状学和电生理指标。方法本研究患者先通过简明国际神经精神访谈(MINI)的初筛,再按照DSM-5诊断标准配至MEL组、ATY组以及ANX组。采用17项汉密尔顿抑郁量表(H
研究目的:研究不同严重程度非糖尿病阻塞性睡眠呼吸暂停低通气综合征(OSAHS)患者胰岛素抵抗及胰岛功能的变化及动、静态指标的评估价值。内容与方法:选取在上海交通大学附属第六人民医院行睡眠呼吸监测的住院体检人群共101例。所有对象均行口服葡萄糖耐量试验,分别测定空腹及糖负荷120分钟的血糖、胰岛素和C肽。根据睡眠呼吸暂停低通气指数(AHI),将研究对象分为对照组(AHI≤15次/h)、OSAHS组(
植入式神经电极在临床应用过程中面临着失效的问题,为对其失效因素和失效机理做全面准确的研究,本文区分电极的主动失效与被动失效,建立电极失效与故障传递模型,提出以降低植入损伤和微动损伤为目标的减少电极被动失效的优化设计原则,以及优化电极设计和材料选择减少主动失效发生的优化设计原则,包括具体的优化措施。考虑到神经电极表面导电聚合物涂层在改善电极性能中的重要作用,对两类常用的涂层—聚苯胺和PEDOT做进一
Martinec&Salway的多模态图文交际理论以Halliday(1994)的系统功能语言论为基础,又结合Barthes对社会符号学的补充,明确提出把语言结构以及其他文化符号结构统一在同一理论框架之内,以及吸收Kress&Vanleeuwen的视觉语法理论的精华,对图文关系的地位和语义有了更细致系统的描述。《画如人生、生活如画:卡罗?弗里达的画语人生》一书内含数百张图片与画作,以及丰富的文字解
本文考察现有企业行政信息管理平台在面向客户的服务支持中出现的故障,体现在客户个性化配置中与系统内部应有的功能出现差异,即没有体现系统提供的功能,源于不正确的客户配置。而故障排查工作一直是基于大量的手工操作,依赖经验,比较盲目。本文试图设计一个故障分析的自动化方案。根据以往各个故障描述信息和以及与此故障有关的配置文件记录,尝试多种深度学习的算法为此自然语言分类问题进行建模,帮助产品支持人员为新的故障