本发明涉及服务器领域,具体是一种基于solaflare网卡的低延迟服务器。
背景技术:
当今网络市场不仅面临着市场数据量大幅增长的问题,同时还受到执行时间带来的压力。在这些环境中,如果能够获取最新信息并提高采取行动的速度,就能够比竞争对手快几纳秒,将意味着每秒钟可能多创造数百万人民币甚至更大的交易量。因此如何降低服务器的延迟时间成了当下人们亟需解决的问题。
为了减少数据延迟,越来越多的服务机构要求尽量缩短自己的服务器与计算机系统的物理距离,设计出更加复杂精细的算法来减少数据延迟,这些方式不能最大限度满足低延迟的需求。因为如今高负载的网卡是软中断的大户,很容易形成瓶颈,和高延迟。且在相当长的时期内,网卡中断都是通过cpu0来处理的,造成cpu0的压力过高,其他cpu相对空闲。后来就出现了网卡多队列技术,实现网卡数据请求可以通过多cpu处理。另外物理网卡也会造成中断,形成高延迟,rss(聚合内容,是站点用来和其他站点之间共享内容的一种简易方式)是网卡的硬件特性,如果实现多队列,将不同的流分发到不同的cpu上,同一数据流经终在同一cpu上,就可以避免tcp的顺序性和cpu的并行性发生冲实。
因此,为了追求闪电交易,解决市场上对服务器低延迟的需求,亟需一款科学有效的低延迟服务器来帮助广大网民。
技术实现要素:
本发明的目的是提供一种基于solaflare网卡的低延迟服务器,以解决现有技术服务器网卡中断易形成高延迟的问题。
为了达到上述目的,本发明所采用的技术方案为:
基于solaflare网卡的低延迟服务器,其特征在于:在服务器中采用solaflare网卡,并将现场可编程门阵列fpga放入solaflare网卡中,将每个队列产生的中断分布到服务器中cpu的多个核,实现负载均衡。
所述的基于solaflare网卡的低延迟服务器,其特征在于:每个队列的中断分别使用单独的中断线。
所述的基于solaflare网卡的低延迟服务器,其特征在于:solaflare网卡通过tcp/ip堆栈协议绕过linux内核直接调用网络,并从服务器加载算法和数据,使solaflare网卡可直接访问数据库以部分实现网络服务器的功能。
所述的基于solaflare网卡的低延迟服务器,其特征在于:在solaflare网卡中采用协议精确时间协议提供微秒级别的精度。
所述的基于solaflare网卡的低延迟服务器,其特征在于:服务器中采用的gup卡设计成可并行处理很多任务,程序的串行部分在cpu上运行,而并行部分则在gpu上运行。
本发明服务器搭载全新引擎——applicationonloadengine的solaflare网卡,并将不同的流分发到服务器不同的cpu核上,实现负载均衡,解决了顺序协议和cpu并行的冲突及cache热度问题,可最大限度减少最大延迟和平均延迟,能最大限度满足用户实际需要,获取最新信息,使其能更加快速、高效地为公司和广大网民服务。本发明服务器中的cpu比同等规格最顶级处理器还快6~30%以上;内存带宽最大化,比常规带宽提升30%;网口40gbps数据带宽,延迟最低到1us微秒;硬盘io,读写带宽1.5gb/s以上,延迟最低64us微秒,iops值700000;主板电路具有高性能设计,高频环境和高温的防护。
附图说明
图1为本发明外观结构图。
图2为本发明硬件构成图。
图3为本发明cpu卡工作原理图,其中:
图3a为串行运行示意图,图3b为并行运行示意图。
图4为本发明solaflare网卡工作原理图。
图5为本发明制作成pcb板时示意图。
具体实施方式
基于solaflare网卡的低延迟服务器,在服务器中采用solaflare网卡,并将现场可编程门阵列fpga放入solaflare网卡中,将每个队列产生的中断分布到服务器中cpu的多个核,实现负载均衡。
每个队列的中断分别使用单独的中断线。
solaflare网卡通过tcp/ip堆栈协议绕过linux内核直接调用网络,并从服务器加载算法和数据,使solaflare网卡可直接访问数据库以部分实现网络服务器的功能。
在solaflare网卡中采用协议精确时间协议提供微秒级别的精度。
服务器中采用的gup卡设计成可并行处理很多任务,程序的串行部分在cpu上运行,而并行部分则在gpu上运行。
如图1所示,首先确定功能是实现一个低延迟服务器,外观是一个777*437*43mm(l*w*h)的长方体,重21.8kg。
如图2所示,服务器硬件构成包括中央处理器、内存、芯片组、i/o扩展、电源和相关软件。寻找供应商确定硬件方案,采用的中央处理器是intel®xeon®processore5-2687wv3(10core/25mcache/3.10ghz)*2,采用的内存容量是8*8gb2133mhzddr464g,采用的硬盘是intels3510series480g*2,采用的gup卡是nividiagridgpuk1,采用的板载网络接口是4xgigabitethernetlanports和solarflare7322f(含模块),采用的i/o扩展是2xpci-e3.0x161xpci-e3.0x8,low-profile,1xpci-e3.0x8sas3integrated,采用的远程管理工具是integratedipmi2.0withkvmanddedicatedlan,采用的电源是750wredundantpowersuppliesplatinumlevel(94%+)。
如图3所示,服务器中采用的gup卡被设计成可并行处理很多任务,程序的串行部分在cpu上运行,而并行部分则在gpu上运行。如此一来,能够最大程度地提高程序运行的效率,这就能有效地减少运算的时间。
如图4所示,可编程阵列(fpga)放入网络适配器,通过tcp/ip堆栈协议绕过linux内核直接调用网络并使用特殊软件从服务器中加载算法和数据,让网卡实现(部分实现)网络服务器的功能,增加了直接访问数据库的能力,可以快速的从数据库导入导出数据,缩短整体处理时间。
如图5所示,制作pcb板,通过pcb软件设计出来的图纸,拿到外面的专业pcb生产厂商去生产,这样组装密度高、电子产品体积小、重量轻。将做好的pcb线路板拿回来组装。将组装好的器件反复测试修改,同时送测。
最后说明的是:以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对发明进行详细说明,本领域的技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征等同替换;而这些修改或者替换,并不使技术方案的本质脱离本发明实施例技术方案的精神和范围。