FirstPacket


   



   NVIDIA® FirstPacket™技术是最新推出的NVIDIA nForce® 500系列主板实现的一个全新特性。
利用FirstPacket技术,用户可以为特定应用设置一个专用的高优先级传输队列,从而提高网络游戏和其他时延敏感型业务的性能。也就是说,系统将优先传输时延敏感型数据包,快速响应该应用的请求。

带宽与时延
传统上,用于比较网络性能的指标是带宽。高带宽就表示高性能。因此, DSL线路显然优于调制解调器;二者的比特率分别为1,000,000比特/秒(1 Mbps)和56,000比特/秒(56 kbps)。同样地,电缆调制解调器(3至10 Mbps)也优于DSL线路。
然而,新的应用层出不穷,网络游戏、基于IP的语音业务(VoIP)以及其他业务,不仅需要约100 kbps带宽来上行传输大量业务,而且对时延极为敏感。
时延是数据包在两个通信设备之间进行传输所需要的时间。时延越高就意味着这两台设备交换信息所需要的时间越长。在参与网络游戏时,玩家状态瞬息万变,如果时延太长,玩家可能会不知不觉死于非命。
理想的情况是,时延敏感型应用可以优先享用系统提供的网络接口。

问题

不知道时延敏感型应用的存在

一台标准PC的网络硬件和驱动程序(以及操作系统)并不知道时延的存在,也不能缩短时延。所有应用都通过完全相同的接口发送和接收数据,不论是像FTP和网络浏览器这样可以忍受时延的应用,还是诸如Skype和Gizmo等VoIP应用,或者任何基于即时消息(IM)的VoIP应用(如Google Talk、Yahoo! Instant Messenger和MSN Messenger等即时消息)。
不可能通过更新操作系统(OS)的应用协议接口(API)来实现通过每个插槽的相关参数,影响应用的时延。即使可以通过更新操作系统,提供此类API,应用开发商也必须更改应用代码,以便利用这种新的或修改后的API,并且这些应用只能在新的操作系统下,才能实现最优性能。幸运的是,只要在网络驱动程序中添加一些智能功能,就可以明显改善这种状况,而不必劳神修改操作系统和应用。
在发射端(发射机,上行传输),可以改变PC处理业务的流程。但是,在接收端(接收器,下行传输),却不能控制收到的业务,因为当数据包一次一个地传到接收端时,PC必须接收这些数据包。同样地,网络交换机和路由器可能发生丢包或者重新安排业务顺序,并影响应用的性能,不管这些应用是不是时延敏感型。

传输大量数据加剧时延

关键在于,大多数时延敏感型应用发送的数据包都非常小,而系统活动程度却不尽相同:
在一个基本上处于空闲状态的系统中,也就是说,系统当前只运行了少量应用甚或没有运行其他网络应用,那么,系统将以最短的排队延迟,在这些时延敏感型小型数据包准备就绪后,立即发送。
   
如果系统同时还在运行其他应用,则只能按先来先出的顺序,发送时延敏感型数据包。更糟糕的是,两个单独数据包遭遇的时延可能大相径庭。这是因为有的应用(如文件传输和文件共享)倾向于在传出的数据包中包含尽可能多的数据,而这些数据包需要等待相对比较长的时间才能通过输出端口,这会干扰系统发送小型的时延敏感型数据包的处理能力。

传输时延的可变性被称为“抖动”,对接收系统而言,数据包到达的时间极不稳定,变化剧烈,其原因不是网络传输能力,而是在数据包从PC端口传出之前就形成的延迟!
为了更直观地理解数据包可能导致的延迟,不妨考虑,一个最小的以太网帧为64字节,并且每个帧需要约20字节定时开销。在千兆比特以太网速度下,每毫微秒发送一个位,发送一个帧就需要8×(64+20) = 672 毫微秒,即,三分之二微秒多一点。在另一个极端情况下,即最大的以太网帧需要8×(1518+20)= 12,304毫微秒,是传输最小帧所需时间的18倍以上!
因此,仅发送少量大型帧的应用会导致时延敏感型应用遭受相当长的时延。在一个单传输队列系统中,一旦一个帧进入了传输队列,就无法重新进行排序,以便优先传输小型帧。

解决方案

FirstPacket技术

倾向于发送最大帧的应用也更能容忍网络传输时延。FirstPacket技术利用了这种耐受力,以优先传输时延敏感型业务。图1演示了在一个典型的系统中,处于同一个传输队列中的FTP数据包可能影响游戏数据包的传输速率。

简而言之,FirstPacket技术在以太网驱动程序中创建了一个双传输队列系统,其中一个队列为“快速通道”,而另一个队列为“慢速通道”,用户指定的应用发出的小型帧将通过快速通道进行传输。

根据用户设置,可以仅通过快速通道传输某些应用的业务。慢速通道将尽快传出队列中的业务,以免连接超时,不过其速度不会快到影响快速通道中的业务传输。不能简单地将快速通道理解为“小型数据包专用通道”,因为并非所有发送小型数据包的应用都是时延敏感型。即使对于时延敏感型应用,用户也可以选择只让其中一部分应用实现更高性能,而让其余应用在慢速通道中各自打拼出路。
请记住,FirstPacket技术实现的快速通道并非具备更高带宽,而是一个“有限时延通道”。PC不可能提高上行通道的传输速率——用户的互联网宽带接口的上行带宽是一个几乎静态的特性。不论用户使用的是DSL线路还是电缆调制解调器,上行带宽最高不过几百kbps。网络驱动程序唯一能做的就是确保尽快将数据包传出至上行通道。归根结底,要靠用户避免向系统发送混杂的消息;要想优先传输时延敏感型应用业务,用户就不应同时发送大量时延容限型业务。

优越性

业务管理
   
借助FirstPacket技术,用户可以通过一种新的方法来管理PC应用业务,更加有效地同时运行时延敏感型应用和时延容限型应用,并且使两种类型应用的性能都达到可接受的程度。实际上,在需要处理多应用业务的系统中,如果不采用FirstPacket技术,时延敏感型应用的性能可能完全不可接受。

解决性能问题
   
  FirstPacket技术的工作方式是在网络驱动程序中创建另一个传输队列。这个传输队列主要用于传输用户指定的应用,一般而言,应该是时延敏感型应用(虽然用户可以自由选择任何应用)。
通过允许这些应用优先进入上行通道(虽然不一定保证优先传输,但抖动情况会明显低于单传输队列的系统),应用性能也将大幅提升。有了FirstPacket技术,过去无法参加的游戏,现在可以尽情享受;VoIP通话也不会因为本地PC处理其他业务而掉线。(不能保证PC传出业务之后,网络处理业务的性能!)
   
提升应用性能

  FirstPacket技术有助于提升任何倾向于发送小型数据包,并且要求有限端到端时延的应用的性能。任何网络游戏,以及基于IP的语音业务、基于IP的视频业务和任何交互式应用(网络会议,如WebEx)都能获益良多。
FirstPacket技术的工作原理是,迫使时延容限型应用等待更长的发送时间,从而加速传输时延敏感型应用业务。这是一种有益的折衷,因为用户已经表明了他们更愿意优先传输时延敏感型应用,而让其余的应用排队等待。

性能

衡量FirstPacket技术有效性的方法之一就是测量在参与游戏时,PC通过网络与游戏服务器进行“ping”的时间。为此,NVIDIA执行了一项测试。首先,在没有任何其他网络业务的情况下,测量了游戏的ping时间;再在通过FTP下载大型文件的同时,测量了游戏的ping时间;然后,再在启用FirstPacket技术的情况下,测量了游戏的ping时间。图3显示了测量结果。结果表明,取决于同时传输的其他业务的总量,FirstPacket技术最多可将互联网游戏的ping时间缩短50%。此外,同时传输的业务量越高,FirstPacket技术实现的时延缩短越显著。

结束语

NVIDIA FirstPacket技术可以有效地为时延敏感型应用优先提供有限资源——上行带宽,用户指定的优先应用甚至感觉不到其他时延容限型应用的存在。同样地,时延容限型应用也只会注意到自己已经被归入“慢速”通道。
借助FirstPacket技术,用户可以更加灵活地利用计算机资源,顺利地同时执行多项任务。

   

自定义分类:
nvidia网络技术主板
 
贡献者:
出口转内销
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4