内存计算在DSP中的应用分析
1 内存计算:对海量数据进行实时处理
今天,许多企业已经面临越来越多的数据要处理,而且对这些数据需要进行实时的分析。为此,SAP一直在重新构想数据仓库的运行模式,并提出了内存计算的理念。那么什么是内存计算呢,我们不妨从两个角度来理解。
首先,从计算存储技术的角度看,由于服务器在处理数据时,CPU首先会从其缓存中找数据,缓存中找不到,再从内存中找,内存里没有,再从硬盘上读取。在传统数据库查询中,磁盘访问时间是一个主要的瓶颈。研究发现,如果让查询在读写速度快很多倍的内存中进行,而不用访问物理磁盘,将会大大提升处理性能。试想一下,对于商业智能应用而言,由于数据库一般都较大,少则几个GB,多则成百上千个GB,如果把整个数据库都搬到内存中去运行,又会怎样呢?
因此,所谓“内存计算”,实质上就是CPU直接从内存而不是硬盘上读取数据,进行计算、分析,是对传统数据处理方式的一种加速。内存计算非常适合处理海量的数据,以及需要实时获得结果的数据,比如可以将一个企业近十年几乎所有的财务、营销、市场等各方面的数据一次性地保存在内存里,并在此基础上进行数据的分析。当企业需要做快速的账务分析,或要对市场进行分析时,内存计算就能够快速的按照需求完成。
其次,从应用的角度来看,在商业智能方案中,在线交易处理(OLTP)和在线分析处理(OLAP)是两种不同的应用,其中OLTP系统需要对发生的业务进行实时记录,因此要处理的是大量简单、小规模、同时发生的交易;而OLAP系统是对OLTP提供的数据进行分析,以支持业务决策,因此处理的交易数量相对较少,但更为复杂。使用内存计算的SAP HANA的交易型和分析型引擎能够同时应对这两种应用,内存计算技术实际上是把现在交易型的数据库和分析型的数据库合并为一个内存数据库,其结构如下图所示:
谈到SAP HANA的具体应用场景,SAP中国区首席技术官张侠曾对媒体举过这样一个例子:航空公司。航空公司的主要特点就是信息量大,且有很多实时信息,一般会有这样两个系统:一是客户相关的系统,里面有各种客户的信息,如谁是金卡会员,谁希望坐在靠窗或者靠走道的座位,商务旅客与私人休闲旅客的不同偏好等等;另一个是定票系统,定票系统会把每个航班对应的飞机型号、座位数量、飞机维修、天气等等信息综合在一起。高速的内存计算技术能够综合所有以上这些情况,根据不同场景进行更好的匹配。比如,利用高速分析的能力对航班晚点的情况进行调配,通过分析发现某些型号的飞机可以在某个飞机转场。这样就能把天气等各种影响降至最低,使客户尽可能坐在他喜欢坐的位置上,并设计好定价策略做到既能满足客户的需求,又能为航空公司带来更好效益。
据了解,SAP BusinessObjects战略性人力规划是HANA中的第一款新产品,使企业管理者可以实时模拟相关业务场景,快速分析复杂数据关系并审视被建议的组织结构调整对企业业务产生的影响。企业管理者和人力资源高管可以使用预测性建模功能模拟企业人员总数需怎样增长、人员配置应如何变化等,这使他们能就人员配置或调整做出基于数据的明智决策,尤其是在企业一项收购行为完成以后或者是当企业要进入一个新市场领域的时期。
2 X86服务器如何满足内存计算需求
通过上面的分析,我们知道,为优化海量数据实时处理的内存计算模式对于底层服务器提出了更高的要求:CPU够不够快?内存够不够大?系统够不够稳定可靠?实际上,英特尔与SAP早在10多年前就已经开始合作,不断共同推动IA架构服务器上SAP应用的性能。下面我们就来看看最新的英特尔至强E7又是如何针对SAP HANA进行优化的。
2.1 处理器的性能
早期处理器性能的提升主要依赖于主频的提高,即CPU在每个时钟周期内可以执行更多的指令。但由于能耗与散热条件的限制,这种方法在2005年左右碰到了障碍。于是业界开始转向多核处理器的设计,即每个处理器内包含多个相互独立的计算内核。在多核处理器之前,英特尔开发了超线程技术,允许一个处理内核可以在同一时间执行两条指令线程,从而更好地利用CPU的片上资源。今天,多核、多线程、高可扩展的SMP架构,为x86服务器奠定了运行SAP应用的基础。
与上一代至强7500相比,至强E7的内核数量由8核(16线程)增加到了10核(20线程);同时得益于QPI总线架构,基于至强E7的服务器可以从
内存计算 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)