新一波潮流来袭:网络与计算之融合

从计算机诞生伊始,“计算”这个词汇便随着时代的变迁不断丰富着自己的内涵,IT从业者为了提高计算效率也给“计算”赋予了更多载体,高性能计算、云计算、量子计算都在通过各个领域为计算赋能。时代发展离不开网络,本文要讨论的话题就是——网络如何与计算融合。

为什么要关心计算和网络的融合?

计算与网络一直密不可分,网络与计算的高效融合也成为了未来计算发展的趋势。我们也可以看到与计算机相关的硬件和软件(如运行虚拟机的通用CPU、传统操作系统和编程语言)越来越多地被用于各类网络功能。诸如交换机,路由器和NIC之类的网络设备也正在变得可编程,以允许在网络中完成各类通用计算。

在以数据中心为代表的高密度计算集群中,应用呈多元化和分布化,更大的网络带宽也带来了海量数据,对I/O处理的计算需求也不断飙升,新型的网络功能虚拟化也在进一步蚕食CPU的算力,同时GPU的负载转移工作也是杯水车薪。

网络带宽远远超过计算能力

目前,服务器网络带宽正面临快速增长。200Gbps以太网网卡已经成为主流,厂商还在不断研发新的400Gbps NIC,而1Tbps很快将成为下一个目标。另一方面,处理网络I/O的计算容量空间正在不断缩小。例如,对于典型的使用32字节键值的键值存储,为了在100 X86 CPU内核的情况下保持400Gb/s的线速,一个内核大约需要500个周期来处理每个键值对。即使在这种理想的假设下,这种微不足道的计算能力也仅仅能够在网络堆栈中执行一些LLC或内存访问,留给应用程序逻辑的东西少得可怜。换句话说,未来具有线速I/O处理需求的应用程序注定要受到CPU和内存的限制。

多年来,各种底层网络层功能已经被应用到了网卡硬件中。这些硬件卸载构成了网络I/O处理的主干,范围从简单的分散聚集I/O、校验、计算和数据包分段到完整的传输层加速器,如TCP卸载和RDMA。

商用服务器对于线速I/O的低延迟处理需求达到了前所未有的高度,硬件无法跟上数据中心网络工作负载的快速变化。例如,用于访问网络附加存储、新标准和隧道格式的压缩技术都在快速发展,超过了ASIC开发和部署的生命周期。此外,数据中心网络范式从专有的中间盒,例如防火墙和***检测系统,转变为虚拟网络功能(VNF) ,这也进一步推动了计算需求。VNF给CPU的网络处理带来了负担,并且也对计算提出了更高的要求。

CPU和GPU的挑战

网络I/O的性能问题长期以来一直备受关注,其重点在于消除操作系统网络堆栈中的低效率以及优化NIC-CPU交互。目前实现VNF的常用方法是完全绕过网络堆栈,直接从用户级库(例如DPDK)访问原始数据包。此外,CPU和NIC硬件提供了几种机制来提高I/O处理的效率,例如,将数据直接引入CPU LLC(DDIO),并通过减少CPU内核之间的缓存争用(例如,接收端扩展)和降低中断频率(例如,中断调制)来提高可扩展性。但即使采用了这些增强功能,在10Gbps的速度下依旧需要多个CPU内核来执行公共网络功能。此外,现有系统也会因为CPU资源争用而导致延迟增加,包处理性能也出现波动。
查看更多内容

原文地址:https://blog.51cto.com/14355923/2427805

时间: 2024-11-05 18:30:58

新一波潮流来袭:网络与计算之融合的相关文章

WWDC2015 结束.新一波更新以及bug即将来袭.

WWDC结束.新一波更新以及bug即将来袭. HTTPS 将成为标准链接. http被报错. GamePlayKit 这是搞那样. 还有ReplayKit  那些什么录像分享什么的还有活路么? Model I/O 又是神马? Apportable 不再赞助 SpriteBuilder了. 没钱就没有开源的情怀了. itunesconnect 5天了 还不能提交. 总是报错. 老郁闷了.

一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对比

本文主要介绍String类.StringBuffer类.StringBuilder类的区别  : 一.概述 (一)String 字符串常量,但是它具有不可变性,就是一旦创建,对它进行的任何修改操作都会创建一个新的字符串对象. (二)StringBuffer 字符串可变量,是线程安全的,和StringBuilder类提供的方法完全相同. 区别在于StringBuffer每个方法中前面添加了"synchronized",保证其是线程安全的. (三)StringBuilder 字符串可变量,

一大波Java来袭(三)Java常用类

本文简单介绍集中Java常用类 不同种类的工具用于处理不同的工作.比如:厨房中的工具用于烹饪:农场中的工具用于养殖--对于Java的学习中处理不同的工作也要采用不同的工具.如:处理数学函数问题用Math类.针对文件的操作采用File类--这也充分体现了Java面向对象的特点 一.字符串类(重点理解内存模型) (一)String Java.lang.String字符串常量,具有不可变性. (二)StringBuffer Java.lang.StringBuffer字符串可变量,是线程安全的. (三

Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。

如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的ResNeXt-101(64×4d),具有26%更小的模型尺寸,25%的计算成本和8%的更低的内存消耗 5 个回答 xiaozhi CV.ML.DL 1.针对视觉识别任务的"网络工程"一直是研究的重点,其重在设计更为高效的网络拓扑结构,一方面考虑更好的特征表示学习,另一方面尽可能减少计算复杂度

新物理AI将可能成为量子计算革命的关键

新物理AI将可能成为量子计算革命的关键 据外媒报道,量子计算无疑是现在最令人兴奋的技术之一,但它的量子物理基础却让它成为了一个令人讨厌的概念理解甚至很难再展开其他事情.然而,最近物理学研究的一项突破可能会改变这一切并引发一场计算革命.不过这并不是第一次发生. 早在1943年,IBM的Thomas J Watson(Watson AI就是以他的名字命名的)曾说过一句名言:"我认为5台计算机足以满足整个世界市场."这可能是因为当时的电脑个头非常大,一台就占据了整个房间. 但到了1971年,

一大波Java来袭(五)——Java集合概述

把"Java集合"比作是容器,可以把多个对象(实际:是对象的引用),扔在容器中. JDK1.5之前,被丢进集合中的对象,会丢失起数据类型.默认为Object类型 JDK1.5之后,不会丢失数据类型,因为引入了"泛型"(作为下文重点) 本文将结合数据结构,重点讲述Java的4种集合体系的功能和用法,并给出不同应用场景改如何选择? 一.同样是用于"存储数据",既可以使用"数组",有可以使用"集合",有什么区别吗

一大波Java来袭(二)异常处理

概要解析: 本章的知识点可以记为:1图+5关键字+先逮小的.后逮大的  一.基础 (一)定义 1.异常 是指在程序运行的时候发生的一些异常事件.良好的程序设计应该在异常发生的时候提供处理异常的方法,使得程序不会因为异常的发生而中断.因此Java提供的用于处理程序中错误的一种机制. 2.抛出异常throw java程序的执行过程中如出现异常事件,可以生成一个异常类对象(封装了异常事件的信息),被提交给java运行时系统. 简单理解为:推卸责任.马路上遇到了交通事故,不需要自己处理,而是拨打110,

【周年庆】china-pub 14周年庆感恩回馈四波狂热来袭

活动主题:china-pub 14周年庆感恩回馈四波狂热来袭活动说明:[第1波]电子书免费抢!10万好书 65折封顶!              活动规则:              1.活动期间内凡购买标有“14周年庆” 标识的图书,全部65折封顶.              2.免费电子书数量有限,领完为止.(爱阅读IOS/Android客户端上线)              3.移动端(客户端或触屏版)首次下单立减5元.              4.活动期间全部图书满48元包邮.    

大波Java来袭(一)JDK安装与环境变量的配置

一.基础知识 (一)什么是Java? Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称. (二)什么是JDK?   学习Java编程时,首先要做的就是搭建开发环境.就像师傅在修车之前,需要搭建一个修车厂,准备好修车所需要的环境和工具一样.这里呢?!Java的开发环境就是JDK,是Java Development Kit的缩写,意思是