大数据下处理器体系结构探讨

上传人:L** 文档编号:55023320 上传时间:2018-09-23 格式:PDF 页数:5 大小:7.28MB
返回 下载 相关 举报
大数据下处理器体系结构探讨_第1页
第1页 / 共5页
大数据下处理器体系结构探讨_第2页
第2页 / 共5页
大数据下处理器体系结构探讨_第3页
第3页 / 共5页
大数据下处理器体系结构探讨_第4页
第4页 / 共5页
大数据下处理器体系结构探讨_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《大数据下处理器体系结构探讨》由会员分享,可在线阅读,更多相关《大数据下处理器体系结构探讨(5页珍藏版)》请在金锄头文库上搜索。

1、13第 10 卷 第 4 期 2014 年 4 月的硬件系统包括核心处理器单元都已显得力不从心。既有的解决方案往往只是拆东墙补西墙,无法完全匹配大数据计算的需求,迫切需要新型的计算机系统革故鼎新,微处理器行业在大数据时代面临新的机遇。如果我们审视目前主流的服务器市场处理器,就会发现有 3种代表性架构 : 以 Intel Xeon 为代表的多核、重核处理器,以NVIDIA Tesla图形处理器(graphic processing unit, GPU) 为代表的具有强大浮点数运算能力的单指令多数据流 (single instruction multiple data, SIMD) 处理器,以Ti

2、lera 为代表的众核、轻核处理器。这三种架构代表了当前处理器设计的不同思路,并且各个厂商都希望能够在无须大规模改变自己原有设计的前提下,把产品迅速推向大数据市场。由于各个处理器的原始设计出发点不同,笔者认为现有的商用处理器恐怕很难充分满足大数据对计算能力的需求,最多只能做到解决燃眉之急。例如,图形处理器的海量并行处理能力在大数据计算上具当前,除了互联网发布的信息,随着移动设备、物联网、传感器和云计算存储等技术的发展,通讯设备、交通工具、服务设施上的数码工具随时测量和传递着各种变化,人和物的行为被记录,由此也产生了海量的数据信息。据国际数据公司 (Interna-tional Data Cor

3、poration, IDC) 预测,到了 2020 年,用户的数据量将达到 35ZB1。在数据爆炸的时代,如何挖掘这些数据将面临技术与商业的双重挑战。迄今为止,大数据时代的受益者多为世界知名的互联网公司,如谷歌、脸谱、百度、腾讯、阿里巴巴等。而生产开发承载大数据计算的微处理器硬件的公司,如英特尔、超威 (AMD)、英伟达 (NVIDIA) 等则显得比较落寞, 似乎错过了这个黄金时代。这可从最近 5 年内各家上市公司的股价走势窥见一斑。硬件系统的革新在这个时代是否已经变得无足轻重?笔者认为恰恰相反。面对着海量的数据和运算,现有梁晓峣 上海交通大学大数据下处理器体系结构探讨关键词 : 大数据 处理

4、器体系结构1 1021字节。程序每周期指令数图1 网络应用在商用处理器上的吞吐率和内存执行时间1程序每周期指令数存储周期总指令周期100%75%50%25%0%43210数据服务媒体流SAT求解算法网络前端万维网搜索MapReduce程序每周期指令数14专题第 10 卷 第 4 期 2014 年 4 月有极大潜在优势,但是由于要顾及到图形和游戏市场,图形处理器厂商很难彻底抛开自己的基本盘,来为大数据量身定制合适的处理器。因此在具体的应用场合,这样的处理器性能会显得捉襟见肘。同理,英特尔在没有发现现实紧迫的竞争威胁之前,也很难改变已有的架构来迎合大数据时代。这样的现状造成了目前一边是大数据应用层

5、出不穷,发展势头如火如荼,另一边是处理器厂商不温不火、以不变应万变的局面。我们通过分析可以发现目前的处理器和现在流行的互联网应用匹配得并不是很好。图 1 是瑞士洛桑理工大学 (cole Poly-technique Fdrale de Lausanne, EPFL)教授巴巴克 法萨菲(Babak Falsafi) 的研究小组通过分析一些重要的网络应用在某高端商用处理器下的吞吐率,发现每时钟周期执行的指令数约为 1,大大低于该处理器的额定负载数 4,也就是说处理器的计算资源并没有得到充分利用。现代多发射乱序执行处理器中往往加入很多复杂的逻辑来提高指令的吞吐率,然而这些复杂的部件对于很多应用来说属

6、于过度设计,对于大数据应用也是如此。如果进一步分析原因,这些应用的瓶颈往往不是因为处理器计算核心本身,而是由于在数据存取上浪费了大量的执行时间。如图 1 所示,不少应用都有超过 60% 的时间用于内存访问。可以说,现有处理器的片上存储架构无法很好地为大数据应用提供必要的支持,导致计算和存储的失衡,从而浪费了计算能力。关于处理器的片上 存储体系结构下面进一步分析处理器的片上存储体系结构。首先,大数据互联网应用和目前处理器的指令缓存设计十分不匹配。如图 2所示,图中给出了不同应用对于L1、L2 两级缓存的缺失率。很多应用的缺失率都超过 3%,远远大于一般的桌面应用程序。而指令缓存的缺失直接导致系统

7、性能下降,可以说是输在了起跑线上。通常设计处理器的思路是指令缓存不用很大,因为多数应用的体量都不大并且具有很好的局部性特点。但是这个结论似乎对很多互联网的应用并不成立。究其原因可能是由于大量的网络应用开发者使用了脚本语言,追求的是开发效率和上线速度,对于软件质量的控制比较弱,很多应用甚至采用边跑边测的策略,未图3 大数据程序和传统程序性能随缓存的变化1归一化性能缓存大小(MB)4 5 6 7 8 9 10 111.00.90.80.70.60.50.4Scale-outSPECint(mcf)图2 指令缓存缺失率180706050403020100每千条指令缓存缺失率L1-IL2数据 服务媒体

8、流SAT 求解算法网络 前端万维网 搜索MapReduce15第 10 卷 第 4 期 2014 年 4 月经过严格测试就上线运行。这样的编程特点导致互联网应用程序体量较大并且分支跳转跨度长,多数会超过处理器 L1 甚至 L2 缓存的能力范围,从而产生大量的指令缓存缺失,使得很多应用的程序指令只能放在内存和 L3 缓存中。处理器从这些离核心较远的地方读取指令,由于没有特殊的直通通道,会产生很大的时延并直接影响性能。显然,针对大数据和互联网应用,需要重新优化设计处理器的指令缓存。再看处理器中数据缓存的表现,似乎也不尽如人意。图 3 显示了程序性能和缓存大小的关系。SPECint 代表了传统的应用

9、,程序的性能往往会随着处理器缓存的增大而显著提升。Scale-out代表了当前主流的互联网应用。与传统的应用相比,我们发现互联网程序的性能似乎很少受到缓存大小的影响。这一特性与传统的应用有着显著不同,原因可能有两点 : 一是很多大数据应用中数据的使用和操作往往是“昙花一现” ,只用过一次就弃之不用,这样的特性导致缓存中多为强制性的缺失,即使增加缓存的大小也无法提高性能 ; 二是很多大数据的应用需要操作的数据范围实在太大,现代处理器缓存的容量相比较而言简直是“沧海一粟” ,现有工艺技术所增加的缓存容量对程序性能的提升基本无法产生足够的影响。由此可知,在处理器中一味增加数据缓存的容量未必能达到理想

10、的效果,相反如果适当牺牲缓存的大小,把注意力集中到提高缓存的速度,或许可以获得事半功倍的效果。从上面的分析看出,无论是降低计算核心的复杂度还是减少数据缓存的大小,设计的目的是为了更好地与大数据的应用相匹配,从而达到软硬件的平衡。从硬件的角度看,芯片上节省出来的资源可用于放置更多的处理核心,从而进一步提高处理器的并行处理能力。这里的并行处理能力主要是指用户需求级别的并行。在一个以海量互联网用户为主的大数据系统中从来都不缺乏用户需求级别的并行,增加处理器这个方面的并行处理能力无疑是一种更好地利用片上资源的方式。适当缩小片上数据缓存,增加处理器核数目,对支持用户需求级别的并行特别适合。但是随之而来的

11、一个重要问题是现有的内存带宽是否支持用户级别的并行。从一些公开的测试数据分析发现,对于相当多的互联网应用,目前的内存带宽使用率还不足 30%5,并且这个级别的并行度对于目前处理器也完全够用。但是从发展的角度看,未来大数据处理器可能需要具备海量的并行吞吐能力。此外,内存带宽的制约也不容忽视。这已经在拥有千万线程能力的图形处理器上有所体现。例如,即便是使用GDDR5 (graphics double data rate, version 5) 的 GPU 也经常受制于带宽而无法发挥最佳性能。关于内存带宽的问题, 三维芯片堆叠、宽输入输出技术 (wide IO) 等也许是有效的解决方案。关于处理器的

12、核心 计算单元值得注意的是,很多大数据应用具有程序不复杂,控制逻辑相对简单且变化不大的特点,只是将其用于对不同数据组进行操作计算,如有代表性的MapReduce 程序。从处理器执行程序的角度看,指令执行的前端基本相同,唯有操作的数据不同。因此,这种程序非常符合图形处理器上广为采用的单指令多数据流模型,即同一指令对多组数据同时操作。加之图形处理器不仅本身拥有的海量线程能力,可以把大数据程序的并行性充分发挥出来,而且还具备特有的零时延线程组切换技术,可以在一组线程等待数据存取时切换到另一组线程进行计算,从而很好地实现利用计算减少存取开销的目的。这一点在大数据下显得尤为重要,因为很多应用都需要花费大

13、量的执行时间来对内存进行数据访问。大数据应用的另一个重要特点是数据的独立性强,数据之间的通信需求量低。也就是说不同计算核心之间无需直接的通信通道,缓存的一致性要求也可以放宽。这些都比较符合现代图形处理器的体系结构。另外,如果线程之间需要有限度的数据通信,图形处理器中共享缓存单元也可以提供高速的数据分享,但16专题第 10 卷 第 4 期 2014 年 4 月前提是应用软件本身必须支持这个功能。图形处理器体系结构本身拥有的优点有可能使之成为大数据下有吸引力的解决方案,但要真正实现也不是一蹴而就那么简单,至少目前图形处理器片上存储架构对大数据应用的支持就明显不足。图形处理器计算的一个重要局限是数据

14、执行通道的数目是固定的。比如英伟达图形处理器中规定了一个线程组必须包括 32个线程的数据通道,原因在于对于大多数图形和游戏计算来说,选取 32 可使性能达到最优。但是这对于大数据应用是否能达到最优则很难说了。固定数目的数据通道不但限制了系统的灵活性,而且会在程序出现跳转分支的时候产生巨大的开销。例如对于许多 MapReduce 应用来说,由于数据量大、线程数多,32 个数据通道并不一定能够满足需求,更多的通道数或许能够达到更好的效能。然而对于很多大数据下图的算法来说,这个数字又显得过大,导致计算资源利用率低下并产生浪费。美国弗吉尼亚大学凯文斯卡洛恩 (Kevin Skadron)教授的研究小组

15、给出了图形处理器数据通道在几个图算法应用下的通道资源利用率(见图 4) ,从中可以发现能够真正 100% 使用图形处理器数据通道的应用很少,多数情况下都存在着计算资源的浪费。由于大数据计算需求繁多,动态范围极大,笔者认为很难找到一个最佳的数据通道固定数目。可以说现有的固定数据通道数目的体系结构并不符合未来大数据处理器的需求。更好的方法是能够找到某种动态调配机制,按照应用的实际需求来优化分配图形处理器中的计算资源,达到动态平衡。当然要实现这个目的还需要处理器体系结构、编译器和系统软件的深度配合。关于处理器的低功耗 设计功耗和能耗已经成为影响大数据平台数据中心运营成本的主要因素,其中处理器加上内存

16、的功耗就占到整个数据中心功耗的 30% 以上4。这说明在设计未来大数据处理器的时候,功耗问题必须作为首要的考虑因素。根据前面分析的大数据处理器体系结构,可以发现这种类型的处理器至少要具有两方面的特性 : 第一,在大数据应用中存在着大量的数据存取,处理器需要频繁地访问内存,这使得在程序执行的过程中存在着高频率的计算和存储的相位切换。传统的处理器采用动态电压频率调整来适应不同的相位,比如在计算核心等待的空闲时间调低电压和频率以节省功耗。这样的要求在大数据下显得尤为迫切,并且切换的粒度需要更加细腻, 切换的频率会更高。第二,处理器中集成的大量计算核心和存储部件在现代生产工艺不确定的条件下会产生较大的制造偏差,从而在处理器的不同区域出现不一致的性能和功耗。一种设计方法是把处理器的电压和频率控制划分成不同的区域,每个区域可以根据内部的特性进行相应的设置和调整,从而达到整体节省

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号