laoxulaile
作者laoxulaile·2016-11-16 15:45
网站架构师·不告诉你

POWER8+CAPI+FlashSystem实现经济高效的NoSQL数据库

字数 3985阅读 4796评论 0赞 0

一、 项目背景

某企业欲实施大数据项目,按照某厂商的推荐,他们的最初设想为:使用NoSQL型数据库,部署20台左右2路X86服务器,每台服务器配置512G内存、1个1.2TPCIe SSD 卡、2个万兆网卡、10块4T硬盘。但通过前期调研论证,项目人员认为这个方案有如下缺点:

Ø I/O问题。由于企业数据量大、类型庞杂,频繁地数据读写将会使速度较慢的硬盘(4T SATA 7200rpm)异常忙碌;而20余台主机之间频繁的数据交换,即使配置了万兆网卡,也会使网络带宽成为瓶颈。

Ø 性能问题。虽然主机配有E5-2600系列 12核CPU和512G内存,但随着数据的增加,尤其是I/O等待的居高不下,会使整个系统反应缓慢,整体性能降低。

Ø 能耗问题。20余台高配置X86主机,加上与之匹配的空调能耗,使本来就高负荷运行的机房电力系统不堪重负。

Ø 费用问题。高配置的X86服务器,价格不菲。再加上数量巨大的电力消耗,整体价格更是显著增加。

Ø 运维问题。20多台主机,需要增加KVM、机柜,增加网络布线,增加交换机端口占用(还是万兆的),管理节点增多,故障点增多,运维人员工作量加大。

很明显,这些都是企业的痛点。如何消除这些痛点、提高系统整体性价比呢?除了无休止地提高主机配置、增加成本和复杂度,还有其他办法吗?

当然有!技术的进步使得一切皆有可能。

二、 解决方案

我们推荐采用的方案是IBMData Engine forNoSQL,采用内存式数据库,利用IBM的POWER8服务器、FlashSystem全闪存阵列和CAPI(Coherent Accelerator Processor Interface )技术,可以很完美地解决上述问题,达到很好的效果。光看看下面这个对比图,就会明显地感觉到架构上的巨大变化,而在性能上的进步,就更加显著了。

这个方案里面,包含至少三种关键产品和技术:

1、POWERSystem S822L

作为替代和补充先x86服务器的产品,PowerLinux服务器可以说是专为大数据而生。S822L作为POWER家族的最新一代成员,以它强大的性能、优越的RAS、无可匹敌的虚拟化技术,使x86服务器俯首称臣。它提供基于Linux&开源的智慧解决方案,相对于vmware和x86而言,实现1TB数据检索的时间降低一半、在运营商ISV实现4倍的性能提升、对虚拟化解决方案降低成本19%。PowerLinux是工业标准的Linux,专门为负载优化的解决方案,比x86Linux性能更好,比VMware更强大,比X86平台更可靠。

一图让你看明白PowerLinux的优势:

2、IBMFlashSystem 840

IBMFlashSystem采用先进的硬件架构设计,提供比SSD更低的延迟、更高的带宽,比PCI-E闪存存储更好的接入性与扩展性,具有快、省、稳的特点。

Ø 为什么说它快:

FlashSystem 系统提供硬件数据路径
基于FPGA基础的数据移动相比软件实现的存储控制器算法实现大大减少了延迟时间

相比于竞争厂商,更低的延迟度
不管是直连PCIe卡还是SAN网络闪存阵列

分布式 CPU独立处理路径
看看它的性能指标:

使用普通存储时:

  • 每个RAC节点~4,000 IOPS 共16,000 IOPS
  • 200万条查询需要4个节点,运行12.25 分钟

使用FlashSystem存储时:

§ 每个RAC节点~40,000 IOPS 共160,000 IOPS

§ 200万条查询需要4个节点,运行1.3 分钟

速度的提升显而易见。

Ø 为什么说它省:

§ 超强存储密度,1U设备提供24TB存储空间,节省机架资源

§ 300W功耗提供500,000 IOPS的超强I/O性能

§ 精密的集成,将复杂性交给硬件而不是客户

§ 几小时完成安装和配置

§ 运维管理以及后续开销服务及其节省

Ø 为什么说它稳:

IBM FlashSystem采用行业内最优质的eMLC和SLC闪存芯片,使用寿命极大延长。

  • MLC: Multilevel cell flash is consumer-grade
  • eMLC: Enterprise-grade MLC
    – 10ximprovement over MLC
  • SLC: Single-level cell
    – 33ximprovement over MLC
  • eMLC 可以承载绝大多数的企业及业务负载需求,10TB的FlashSystem可以在100MB/s的写压力下工作一百年
  • IBM FlashSystem 采用独有技术例如Variable Stripe RAID™ and 2D Flash RAIDTM, wear leveling and over-provisioning lengthen system life 进一步提升eMLC 和 SLC设备使用寿命

对数据的保护更加完善:

CAPI

CAPI的字面意思是一致性加速处理接口,即Coherent Accelerator Processor Interface。CAPI在PCIe 3.0的物理总线上承载CAPI协议,它可以让外设具备直接访问CPU的内存空间(一致性) 的能力,从而大大提高了外设的运行效率,比如通过CAPI协议可以让外置的闪存PCIe卡的系统开销大幅度降低,减少了不必要的总线占用。

图中,处理器上的CAPP(Coherent AcceleratorProcessor Proxy)负责处理器与外设通迅的一致性。外设上的PSL(Power Service Layer)负责为外设提供内存cache和地址的转换。定制化的外设具有独立的处理能力,一般由FPGA或ASIC,它通过PSL访问内存以及cache,看起来就象是系统的处理器一样,它不再是一个简单的外设。这大大提高了数据处理的性能。

操作要点可以简要的概括为以下6点:

  • 针对专用场景、PCIE专用加速卡进行优化;
  • FPGA直接访问当前进程的全部虚拟地址空间,无需转成PCIE地址;
  • 加速卡上可以使用Cache并通过CAPP的Probe操作自动与主存cc;
  • 加速卡与CPU看到同样的地址空间并且cc;
  • 提供API,包括打开设备、传递任务描述信息等,相当于驱动程序;
  • PSL由IBM提供,硬核IP。AFU通过opcode及地址控制PSL收发数据。

在这过程中,CAPI致力于把FPGA当成CPU的对等端,但这是一个特殊的CPU,对计算加速非常快的,非常高效的一个CPU。优势在于:两边看到了一样的地址空间,FPGA看到的不再是PCIe空间了,所以就省去了映射地址这一环节。再就是FPGA一侧可以有Cache,可以缓存主存里的数据,而且 Cache是与主存一致的。现在FPGA可直接访问主存空间,但它不会访问所有的物理空间,因为CAPI 1.0每个时刻只能给一个进程来用,CAPI会为进程会提供一个接口,打开FPGA之后发数据和指令。CAPI 2.0会让FPGA有一个分时复用机制,比如,每10毫秒跳一个线程,但是当前的FPGA不具备这个功能,只能是谁用谁打开。谁打开了FPGA就看到谁的 虚拟空间。有了这种机制以后就不需要映射了,再就是可以直接访问内存地址了。还有Cache,基本就融入了所有的CPU了,就是一个对等、对称的关系。简单地说,CAPI把FlashSystem变成了内存,性能的提高不言而喻。

三、 方案优势

目前只有IBM能够提供采用POWER8和闪存技术的创新型NoSQL/KVS集成式内存解决方案。方案通过融合OpenPOWER成员中Redis Labs、Canonical、Altera和IBM的成果,显著降低了部署NoSQL存储库的成本。解决方案结合了Redis Labs软件、Canonical的Ubuntu Linux操作系统、 Altera的FPGAs以及IBM独特的具有CAPI技术的Power System S822L服务器和IBM FlashSystem 840,由于产品成熟、技术先进,使得方案整体具有超高的性价比。如果预算允许,可以配置2台S822L作为冗余,避免单点故障。

它可以带来如下好处:

Ø CAPI协议可以让外置的闪存PCIe卡的系统开销大幅度降低,减少了不必要的总线占用,根据IBM的内 部测试,非数据传输的总线开销(指令传送与响应)可降低50倍,对降低延迟有明显好处。

Ø 借助CAPI,大容量高性能的Flash系统代替服务器内存,相当于增加了2T到40T的高速存储介质,极大地提升了整体的IOPS,明显减少Cache服务器数量,并且具备更好的可用性和扩展性。

Ø 服务器整合实现了简化,这使对于同等规模的NoSQL存储,一台基于POWER8的服务器就可以替代24台基于英特尔的服务器。总计可以降低2.4倍成本,12倍能耗,12倍机架空间。更小的占地面积和相应的能源成本降低使基础架构的成本降低很多倍,而结构的简化和设备数量的减少则极大地减轻了运维管理的开销,获得更快的部署速度。

Ø 已有的实验表明,一个读写操作的命令,使用CAPI接口的Flash Memory访问方式,与传统的经过文件系统、LVM、适配器、硬盘的方式相比,前者只需要不到500个指令,而后者的传统方式,需要20,000个指令,大幅度降低了开发的复杂性,提高了开发速度。

FlashSystem本身就具备卓越的性能,CAPI的出现更是把它变成了一个容量巨大但体积不大、价值超高但成本不高的内存库,从而为满足NoSQL这种内存饥渴型数据库的需求提供了无限可能。但CAPI和FlashSystem毕竟是刚刚出现不久的新鲜事物,随着产品技术的进一步发展和成熟,这个方案必将会更加完美。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

相关文章

相关问题

相关资料

X社区推广