**的Google软体工程师Nandita Dukkipati在近日于美国矽谷举行的年度Hot Interconnects大会专题演说中,呼吁开发更多解决日益成长之数据中心网路“塞车”问题的新技术。
Dukkipati介绍了一种流量整形(traffic shaping)软体,能为Google减少延迟同时降低CPU的额外负担;有一位芯片供应商表示,该公司也应Google竞争对手Microsoft的要求,为乙太网路转接器芯片开发出了类似的技术。
今日有众多数据中心透过建立伫列(queues)的方式来改善效率,但这种方式正遭遇瓶颈;Google介绍了利用以时间为基础的隔离方式,来避免同时进行的任务造成网路流量堵塞。
Dukkipati对台下的网路芯片与系统工程师听众表示:“我们应该要整个系统的网卡(NIC)、交换机与虚拟机器监视器(hypervisor)投资更多的隔离方案;我们注意到了效率,但对于隔离的关注还不够──我们想到了伫列,但也需要考量时间。”
伫列会因为执行复杂演算法而占用CPU时间,这种方式使用繁重的数据结构并需要大量的垃圾回收(garbage collection);此外,伫列的记忆体使用量很高,还需要同步处理程,可能会带来至少2秒的延迟。
Dukkipati表示:“今日的伺服器可能会管理上百个虚拟机器,产生2万5,000个要隔离的数据流,虚拟机器与伫列的数量持续成长,这并非长久之计。”
Google表示,目前的网路流量整形软体程式无法扩大因应大型数据中心的需求
Google打算结合两种方法来替代目前的流量整形软体。根据Dukkipati介绍,其中Carousel是Google新开发的软体程式,用以管理单一伺服器的流量;Timely则是一种较老的技术,用来降低整个数据中心的延迟。
她指出,根据在数千台YouTube伺服器上执行的测试结果,Carousels对网路性能的提升能比采用现有伫列式流量管理方法高出8%,而这为网路调控(pacing)与频宽分配的新策略,指出了更多令人兴奋的方向。至于Timely方法则是比起今日数据中心*常采用的壅塞控制演算法DCTCP,能将延迟减少超过一个量级。
Google利用Carousel软体大幅减少CPU的额外负担
Dukkipati呼吁工程师能应用这些技术,并指出它们能应用于分散式或集中式的硬体或软体中:“我们觉得我们此刻只是以软体开辟了一条道路,这是一个有趣的时刻,我们正在尝试将更多东西放进硬体。”
一位来自以色列网路芯片设计业者Mellanox的工程师则表示,Dukkipati所介绍的方法,差不多就是该公司ConnectX 3 Pro乙太网路转接器芯片可提供的功能,而其构想是来自于负责运作Microsoft云端服务Azure的工程师之建议。
编译:Judith Cheng
(参考原文:Google Calls for Network Drain-O,by Rick Merritt)