采用Xilinx Zynq SoC 为云计算提速.docx
《采用Xilinx Zynq SoC 为云计算提速.docx》由会员分享,可在线阅读,更多相关《采用Xilinx Zynq SoC 为云计算提速.docx(7页珍藏版)》请在第一文库网上搜索。
1、采用Xi1inxZynqSoC为云计算提速新颖的可重配置鲤件加速器可加速基于MapReduce编程框架的应用处理。流视频、社交网络和云计算等新兴Web应用亟需能容纳数千台服务器的仓库规模的数据中心。在数据中心和其它计算机集群中,用于处理大数据集的主要编程框架之一即为MapReduce框架1。MapReduce是一种运用大量节点来处理大数据集的编程模型。用户负责设定“Map”和“Reduce”功能,然后由MapReduce调度器将任务分配给处理矍。MapReduce框架的主要优势之一在于,其能托管在由不同类型处理器构成的多个异构集群中。大部分数据中心都纷纷采用高性能的通用型器件,如英特尔至强(I
2、nte1Xeon)AMD皓龙(AMDOPteron)和IBMPOWer处理器等。但是,即使在丽禾属于高计超集型而属于高I/O密集型的时候,这些处理器也会消耗大量的电力。为了降低数据中心的功耗,微服务器作为一种替代性平台近期倍受关注。这类低成本服务器通常采用燧式系统中使用的低功耗处理器,如迪1回处理器等。微服务器主要针对轻量级或并行应用,处理此类应用最行之有效的方法是使用在节点间拥有充足I/O(而非拥有高性能处理器)的单个服务器。微服务器方案具有众多优势,如可减少购置成本、缩小占用面积,并能降低特定应用类型的功耗。在过去的几年里,SeaMicro和Ca1Xeda等几家厂商已开发出基于嵌入式处理器
3、的微服务器。但是,MaPRedUCe框架会占用嵌入式处理器的多种资源,从而会降低运行在这些平台上的云计算应用的总体性能。为了克服这个问题,我们的团队已为MapReduce框架开发出一种能在全面可编程平台上与ARMIP核实现高效整合的硬件加速单元。为了开发并评估所提议的方案,我们选用了开发板上集成有双核Corte-A9处理器的赛灵思ZYn承-7000A11Programmab1eSoC0MapReduce硬件加速器单元MapReduce加速单元负责处理Reduce任务的高效实现。其主要工作是合并来自各个处理器的中间键/值对,并为插入新键和更新(累计)键/值对提供快速途径。我们将MaPRedUCe
4、加速器作为协处理器来实现,可通过共享总线作为多核处理器的扩充。图1为多核SoC中加速器方框图。如图所示,我们已在配备有一对ARMCortex-9IP核的ZynqSOC中整合了硬件加速器单元。每个内核都有其自己的指令和数据高速缓存,而每种高速缓存都可使用共享互连网络与外设进行逋值。该加速器通过连接到互连网络的高性能总线实现与处理器的通信。处理器通过访问加速器的特定越巡,给出需要更新到MaPRedUCe加速器的键和值。MaP任务结束后,加速器即累加了所有键的值。处理器仅需将该键发送给加速器并读取寄存器中的最终值,即可检索该键的最终值。通过这种方法,所提议的架构就能向包含需要更新的键/值对发送无阻塞
5、交易,从而加速MaPRedUCe处理。编程框架图2为使用硬件加速器的MaPRedUCe应用编程框架。在原始代码中,MaP级发射键/值对,而Reduce级则搜索该键并消耗若干CPU时钟周期的时间来更新(累加)新值。使用MaPRedUCe加速器的情况则与此相反,MaP级仅发射键/值对,而MaPRCdUCe加速器则合并所有的键/值对并更新相关条目,因而无需采用Reduce功能。OriginaICode:Map(Emit_Intermediate(key,va1ue);)一Reduce(key,va1ue)search(key);update(key,va1ue);)Jkcce1arasrCod6:M
6、apNEmit_Intermediate_Acce1(key,va1ue);-Emit_Intermediate_Acce1(keyzva1ue)(-mmapped_addr=mmap(MapReduce_Acce1);send(mmapped_addr+0x4,key);send(mmapped_addr+0x8,va1ue);)一BE吨次旦图2编程框架-SHaSh函数可加速键的索引进程,但若两个键具有相同的HaSh值,则可能造成冲突。我们选择了CUCkooHaShing作为解决HaSh冲突的最佳途径。运行在1之下的应用层与硬件加速器之间的通信通过使用存储器映射(mmap)系统调用来进行。m
7、map系统调用能将指定的内核存储器区域映射到用户层,因而用户能根据存储器映射过程中提供的属性对其进行读取或写入操作。我们使用控制单元来访问这些寄存器和串行化键/值组件的更新。键/值对存储在能根据应用要求进行配置的存储器单元中。该存储器模块包含键、值和可用作标签的部分数位。这些标签用于标示存储器线路是否为空以及是否有效。为了加速键的索引进程,可用HaSh模块将初始键转换为存储器模块的地址。在当前配置中,我们设计的存储器结构可容纳2千个键/值对。每个键的长度可达到64位(8个字符),值的长度达32位。存储器结构的总体大小为2KX104位。第一个64位存储的键用于比较使用Hash函数时我们究竟是命中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采用Xilinx Zynq SoC 为云计算提速 采用 Xilinx 计算 提速