论文部分内容阅读
IBM互联网服务器部亚太区销售总监 Nick Lambert
建立企业级计算平台的目的是为了解决“事务关键”(Mission-Critical)型应用的商业数据中心的需要,这些中心的计算机系统具有若干共同特征。它们必须是高可用的(每年故障停机时间仅几分钟)、高可靠的、能够适应与日俱增的性能需求的、高可扩充的、而且最终必须集成为一种多机种系统管理环境。当今数据中心计算领域的主要应用程序或使用模型分为三大类:
* 联机事务处理(OLTP):意指使用关系数据库对商务功能实施日常管理。
* 决策支持系统(DSS):指从数据库提取、分析和以简明易懂的方式显示数据,以便能够根据运作作出决策。
* 企业信息通讯(Business Communications):指信息发送、Web服务器、文件检索以及工作流。
企业平台体系结构的选择
当前,OLTP、DSS以及企业信息通讯系统设计人员在计算平台方面有四种体系结构可以选择:
* 小型网络服务器:通过网络相连接的多种小型独立服务器。
* 大型SMP节点:运行于一个操作系统下的许多处理器以及资源。
* 群集的SMP节点:一个应用的多个实例在一种操作系统的不同实例条件下运行于不同的节点,但共享某些存储装置和数据。
* 大规模并行处理(MPP)系统:操作系统和应用程序的许多独特实例运行于各个独立节点,通常没有任何共享资源,并以消息传递(Message Passing)的方式进行通讯。
每一种使用模型在I/O、内存、处理器和连接等方面都有各不相同的需求。因而,每种体系结构各有特点,它们既可能起到帮助作用,又可能成为一种妨碍,体系结构的选择在很大程度上将取决于使用模型。下表简单列出了各个体系结构的优点和存在的主要缺陷。
NUMA体系结构
为了克服创建企业级计算系统的现有方案在体系结构上的限制,前Sequent公司(现已被IBM收购)于1992年开始了一个大规模设计项目,其雄心勃勃的目标如下:
* 为未来十年的企业级系统创建一组新型CPU和内存互联构件。
* 适应未来十年内联机事务处理、决策支持系统和企业信息通讯的需求。
* 利用Intel和其它部件供应商更高水准的集成化部件。
* 利用这些构件创建系统,以满足可用性和可管理性的需求。
* 允许联机事务处理、决策支持系统和企业信息通讯系统设计人员自由地选择网络服务器、SMP和群集SMP体系结构。
1996年7月,Sequent公司基于Intel的Pentium Pro芯片推出第一代NUMA-Q 产品。在这一过程中,发明了两项突破性技术——NUMA-Q体系结构和IQ-Link互联技术——所有这些技术将在未来十年实现系统结构的革命。用最简单的术语来说,基于NUMA-Q体系结构的系统包括多个4X处理器(Quad)SMP系统,多个Quad用新型IQ-Link互联技术联接在一起,以便组成一种单一的大型复合计算系统。
1.NUMA与CC-NUMA
NUMA是“非一致性内存访问(non-uniform memory access)”的英文缩写。NUMA范畴包含若干种不同体系结构,从广义上来讲,以下结构均可视为“非一致性内存访问”:RMC(反射内存群集)、MPP、CC-NUMA以及COMA(高速缓存唯一的内存访问),但它们之间的差异相当大。其中CC-NUMA意指“高速缓存相关的非一致性内存访问”(cache conerent non-uniform memory access),在CC-NUMA体系中,分布式内存相连接形成单一内存。内存之间没有页面复制或数据复制,没有软件消息传送。CC-NUMA只有一个内存映像,存储部件利用铜缆和某些智能硬件(而不是底板)进行物理连接。硬件高速缓存一致意指不需要软件来保持最新数据的多个拷贝,或在操作系统与应用的多个实例之间传输数据,如同在任何SMP节点中一样,拥有操作系统的单一实例和多个处理器,完全在硬件级实现管理。CC-NUMA使用基于目录的一致性方案。而不使用探听总线保持一致性。
2.NUMA-Q
NUMA-Q是Sequent使用Quad处理器基板对CC-NUMA体系结构的实现,每个Quad均拥有自己的内存。NUMA-Q意指配有Quad的CC-NUMA体系结构(CC-NUMA with Quads)。它选择了4个独立的处理器,分别置于每个地址映像的分布式部件附近,还加装了一个PCI总线及7个插槽。四个处理器、部分内存和7个PCI插槽相集合称为一个Quad。多个Quad可以与基于硬件的高速缓存相关连接相结合,组成一个较大型的单个SMP节点,组成的方式与在传统大型总线SMP节点中将处理器板加装于底板上是一样的。
NUMA-Q是SMP系统的逻辑扩展路径。由于基于探听总线的高速缓存相关协议使底板局限于12至32个处理器,基于硬件的高速缓存相关性必然要迁移至一个更具可扩充性的体系结构。随着处理器芯片的处理能力日益增强,探听总线高速缓存相关性的限制从32处理器开始下降,此种迁移的必要性就显得尤为真实。众所周知的可供选择的硬件高速缓存相关性协议是以基于目录的高速缓存协议为基础。NUMA-Q利用的高速缓存相关非一致性内存体系结构是最好的变体。
3.NUMA-Q Quad
NUMA-Q Quad由四个处理器、内存和7个位于两个PCI信道的PCI插槽组成(见图)。Quad可以是系统中唯一的处理构件,如果情况确实如此的话,它就是单节点系统,而Quad就可以准确地描述成为一个节点。如果系统由多个Quad组成,它仍然是个单节点系统,因为只有一个操作系统实例运行于所有的Quad中。在此种情况下,如果将其中的任何一个Quad描述为节点都失之偏颇。
4.IQ-Link
NUMA-Q为连接多个Quad而设计的连接技术称为IQ-Link。这些连接可以设置成为内存一致的(如利用多个Quad创建单一大型SMP系统),或者可以严格用于快速、低延迟消息传送(如在联成网络的服务器或群集体系结构中)。这些特性也是将大型SMP服务器相连接,以便最大限度地发挥性能所必不可少的。为了使一组Quad象单一SMP系统(一个节点)那样来运行,互联技术就要利用每个Quad上的物理内存分布式部件,创建内存的单一大型连续一致的系统映象。由于IQ-Link可以提供此种统一的内存映象,而且将地址空间范围分配给每个Quad,所以操作系统的一个实例和应用程序将同时运行于所有的互联在一起的Quad上。其结果是,它们组成为一种超大规模单节点SMP系统。
当IQ-Link用于创建大型SMP系统时,它有能力监控Quad上的CPU总线,并知道它何时应该为特定存储单元(位于本Quad包含的内存范围之外)的请求作出响应。IQ-Link为该数据检查自己的大型高速缓存,如果找不到,它就向其它Quad的内存提出请求。所有这些活动对数据库和应用软件都是透明的。
如果数据是在提出请求的同一个Quad的内存中,内存访问可以迅速解决。其它情况下,如果必须从不同的Quad通过IQ-Link提取数据,内存访问的速度就比较缓慢。此种体系结构经常被称为CC-NUMA(高速缓存相关的非一致性内存访问)。成功地实现CC-NUMA的关键是,对其它Quad的内存访问速度要奇快无比,这样软件就能够有效地忽略它。如果采用的互联技术较差,就会导致延迟较长,节点可扩充性差,性能不能令人满意。
速率为1GB/秒的IQ-Link并不是一块底板。事实上,它是Quad之间的菊链型连接。正是IQ-Link的这种点对点特性,才得以解决系统中的长度/速度设计平衡问题。确实,为实现高带宽,IQ-Link的每一段都在长度上加以限制,但是总起来说,IQ-Link的多个段就可以连接大量的处理器,同时提供超过1GB/秒的集合带宽。
5.NUMA-Q SMP节点群集系统
NUMA-Q SMP节点的群集系统和单底板SMP群集一样,运行相同的群集软件。如果加入内存至内存传输机制,它就成为使用NUMA-Q节点的反射内存群集。软件一致性和节点间的内存传输媒介可以利用光纤信道(Fibre Channel)予以实现。
人们或许要问,为什幺需要利用NUMA-Q节点创建内存反射群集系统,何时可以创建超大规模NUMA-Q节点。有两个原因,它们与当前使用群集系统的原因相同:即可用性和超越单个节点的可扩充性。应用的可用性在群集系统中要优于单节点,而对许多商务问题来说,应用的可用性具有至关重大的意义。可扩充性问题很重要,因为无论节点有多大,总是有应用程序需要更大的节点。
NUMA-Q新型体系结构的好处
数据存取延迟无疑是当今系统性能的决定性因素。我们在系统中设置了内存,以减少磁盘延迟。SMP平台过去已提供了一个简便的编程模式,因为内存各个部分的延迟都比较短暂。如果选择的是数据返回到磁盘,通过在内存之间传输数据实现节点间共享数据的试图是成功的。但是,它们仍然需要根本性修改编程才能优化性能,因为节点间延迟大大超过节点内延迟。
获得高性能并保持编程模式简单性(没有数据分区)的最有效途径是创建一个尽可能大规模的节点,然后再创建第二个节点。由于底板和系统总线的规模受到限制,利用探听高速缓存不能实现上述目标,只能达到32个或稍多的处理器个数。实现这一目标的最佳方式是使用基于目录的高速缓存协议和CC-NUMA。它提供的更多好处是允许连接多达252个处理器,获得巨大的存储和I/O总线带宽,而且还可以实现低于当今任何可用系统的内存平均延迟水平。最重要的好处是,你不必修改SMP应用软件就能实现大多数性能,而且它超过了所有现行的大型总线SMP平台。
新型NUMA-Q体系结构在今后十年将会为企业提供一系列重大好处,其中包括:
* 提供利用同一组部件创建多种体系结构的灵活性;
* 遥遥领先的高档性能;
* 适用于多种解决方案的公用的可用性和可管理性工具集;
* 更高水平的应用可用性;
* 更高水平的单一流和系统性能,以支持更多的用户和更大的吞吐量;
* 全面改进系统管理性能,从而减少了操作员错误和培训费用,简化系统管理,并改进了应用可用性;
* 改进可服务性和可靠性,减少客户故障停机时间;
* 提高I/O功能,可以实现更大的联机存储与备份;
* 增加内存容量,可支持更多的用户,并加快处理速度;
* 改善安装能力,从而缩短系统安装和投入运行的时间;
* 为今后的扩展留有余地;
* 最大程度保护客户的投资。
NUMA-Q体系结构允许联机事务处理、决策支持系统和企业信息通讯系统设计人员创建超大规模“事务关键”解决方案,不会出现网络服务器实现方面的管理恶梦、现行SMP系统的底板限制以及MPP的编程复杂性。
IBM新一代NUMA-Q产品
从1996年Sequent公司推出第一代NUMA-Q 产品,到1999年7月IBM和Sequent宣布合并,2000年初IBM已推出NUMA-Q的第三代产品,并采用Intel目前最新的Pentium III芯片。第三代NUMA-Q 产品在硬件上的性能已比第一代大大提高,例如:
* 芯片的主频从Pentium Pro的200 MHz提升至700 MHz;
* 每个Quad的最大内存从4GB增至8GB;
* 三级缓存从32MB提高至256MB;
* Quad的总线带宽从500MB/sec提升至800MB/sec;
总括来说,第三代NUMA-Q产品的性能比第一代产品可高出三倍以上。IBM新型NUMA-Q体系结构可以为企业级系统提供新水准的性能、可用性以及可管理性。由于NUMA-Q在对称多处理(SMP)和群集(Cluster)系统体系结构以及实现高可用的、可管理的企业级网络服务器体系结构等方面是一种飞跃,因而可以相信NUMA-Q体系结构将是二十一世纪高档商业计算的最佳解决方案之一。
建立企业级计算平台的目的是为了解决“事务关键”(Mission-Critical)型应用的商业数据中心的需要,这些中心的计算机系统具有若干共同特征。它们必须是高可用的(每年故障停机时间仅几分钟)、高可靠的、能够适应与日俱增的性能需求的、高可扩充的、而且最终必须集成为一种多机种系统管理环境。当今数据中心计算领域的主要应用程序或使用模型分为三大类:
* 联机事务处理(OLTP):意指使用关系数据库对商务功能实施日常管理。
* 决策支持系统(DSS):指从数据库提取、分析和以简明易懂的方式显示数据,以便能够根据运作作出决策。
* 企业信息通讯(Business Communications):指信息发送、Web服务器、文件检索以及工作流。
企业平台体系结构的选择
当前,OLTP、DSS以及企业信息通讯系统设计人员在计算平台方面有四种体系结构可以选择:
* 小型网络服务器:通过网络相连接的多种小型独立服务器。
* 大型SMP节点:运行于一个操作系统下的许多处理器以及资源。
* 群集的SMP节点:一个应用的多个实例在一种操作系统的不同实例条件下运行于不同的节点,但共享某些存储装置和数据。
* 大规模并行处理(MPP)系统:操作系统和应用程序的许多独特实例运行于各个独立节点,通常没有任何共享资源,并以消息传递(Message Passing)的方式进行通讯。
每一种使用模型在I/O、内存、处理器和连接等方面都有各不相同的需求。因而,每种体系结构各有特点,它们既可能起到帮助作用,又可能成为一种妨碍,体系结构的选择在很大程度上将取决于使用模型。下表简单列出了各个体系结构的优点和存在的主要缺陷。
NUMA体系结构
为了克服创建企业级计算系统的现有方案在体系结构上的限制,前Sequent公司(现已被IBM收购)于1992年开始了一个大规模设计项目,其雄心勃勃的目标如下:
* 为未来十年的企业级系统创建一组新型CPU和内存互联构件。
* 适应未来十年内联机事务处理、决策支持系统和企业信息通讯的需求。
* 利用Intel和其它部件供应商更高水准的集成化部件。
* 利用这些构件创建系统,以满足可用性和可管理性的需求。
* 允许联机事务处理、决策支持系统和企业信息通讯系统设计人员自由地选择网络服务器、SMP和群集SMP体系结构。
1996年7月,Sequent公司基于Intel的Pentium Pro芯片推出第一代NUMA-Q 产品。在这一过程中,发明了两项突破性技术——NUMA-Q体系结构和IQ-Link互联技术——所有这些技术将在未来十年实现系统结构的革命。用最简单的术语来说,基于NUMA-Q体系结构的系统包括多个4X处理器(Quad)SMP系统,多个Quad用新型IQ-Link互联技术联接在一起,以便组成一种单一的大型复合计算系统。
1.NUMA与CC-NUMA
NUMA是“非一致性内存访问(non-uniform memory access)”的英文缩写。NUMA范畴包含若干种不同体系结构,从广义上来讲,以下结构均可视为“非一致性内存访问”:RMC(反射内存群集)、MPP、CC-NUMA以及COMA(高速缓存唯一的内存访问),但它们之间的差异相当大。其中CC-NUMA意指“高速缓存相关的非一致性内存访问”(cache conerent non-uniform memory access),在CC-NUMA体系中,分布式内存相连接形成单一内存。内存之间没有页面复制或数据复制,没有软件消息传送。CC-NUMA只有一个内存映像,存储部件利用铜缆和某些智能硬件(而不是底板)进行物理连接。硬件高速缓存一致意指不需要软件来保持最新数据的多个拷贝,或在操作系统与应用的多个实例之间传输数据,如同在任何SMP节点中一样,拥有操作系统的单一实例和多个处理器,完全在硬件级实现管理。CC-NUMA使用基于目录的一致性方案。而不使用探听总线保持一致性。
2.NUMA-Q
NUMA-Q是Sequent使用Quad处理器基板对CC-NUMA体系结构的实现,每个Quad均拥有自己的内存。NUMA-Q意指配有Quad的CC-NUMA体系结构(CC-NUMA with Quads)。它选择了4个独立的处理器,分别置于每个地址映像的分布式部件附近,还加装了一个PCI总线及7个插槽。四个处理器、部分内存和7个PCI插槽相集合称为一个Quad。多个Quad可以与基于硬件的高速缓存相关连接相结合,组成一个较大型的单个SMP节点,组成的方式与在传统大型总线SMP节点中将处理器板加装于底板上是一样的。
NUMA-Q是SMP系统的逻辑扩展路径。由于基于探听总线的高速缓存相关协议使底板局限于12至32个处理器,基于硬件的高速缓存相关性必然要迁移至一个更具可扩充性的体系结构。随着处理器芯片的处理能力日益增强,探听总线高速缓存相关性的限制从32处理器开始下降,此种迁移的必要性就显得尤为真实。众所周知的可供选择的硬件高速缓存相关性协议是以基于目录的高速缓存协议为基础。NUMA-Q利用的高速缓存相关非一致性内存体系结构是最好的变体。
3.NUMA-Q Quad
NUMA-Q Quad由四个处理器、内存和7个位于两个PCI信道的PCI插槽组成(见图)。Quad可以是系统中唯一的处理构件,如果情况确实如此的话,它就是单节点系统,而Quad就可以准确地描述成为一个节点。如果系统由多个Quad组成,它仍然是个单节点系统,因为只有一个操作系统实例运行于所有的Quad中。在此种情况下,如果将其中的任何一个Quad描述为节点都失之偏颇。
4.IQ-Link
NUMA-Q为连接多个Quad而设计的连接技术称为IQ-Link。这些连接可以设置成为内存一致的(如利用多个Quad创建单一大型SMP系统),或者可以严格用于快速、低延迟消息传送(如在联成网络的服务器或群集体系结构中)。这些特性也是将大型SMP服务器相连接,以便最大限度地发挥性能所必不可少的。为了使一组Quad象单一SMP系统(一个节点)那样来运行,互联技术就要利用每个Quad上的物理内存分布式部件,创建内存的单一大型连续一致的系统映象。由于IQ-Link可以提供此种统一的内存映象,而且将地址空间范围分配给每个Quad,所以操作系统的一个实例和应用程序将同时运行于所有的互联在一起的Quad上。其结果是,它们组成为一种超大规模单节点SMP系统。
当IQ-Link用于创建大型SMP系统时,它有能力监控Quad上的CPU总线,并知道它何时应该为特定存储单元(位于本Quad包含的内存范围之外)的请求作出响应。IQ-Link为该数据检查自己的大型高速缓存,如果找不到,它就向其它Quad的内存提出请求。所有这些活动对数据库和应用软件都是透明的。
如果数据是在提出请求的同一个Quad的内存中,内存访问可以迅速解决。其它情况下,如果必须从不同的Quad通过IQ-Link提取数据,内存访问的速度就比较缓慢。此种体系结构经常被称为CC-NUMA(高速缓存相关的非一致性内存访问)。成功地实现CC-NUMA的关键是,对其它Quad的内存访问速度要奇快无比,这样软件就能够有效地忽略它。如果采用的互联技术较差,就会导致延迟较长,节点可扩充性差,性能不能令人满意。
速率为1GB/秒的IQ-Link并不是一块底板。事实上,它是Quad之间的菊链型连接。正是IQ-Link的这种点对点特性,才得以解决系统中的长度/速度设计平衡问题。确实,为实现高带宽,IQ-Link的每一段都在长度上加以限制,但是总起来说,IQ-Link的多个段就可以连接大量的处理器,同时提供超过1GB/秒的集合带宽。
5.NUMA-Q SMP节点群集系统
NUMA-Q SMP节点的群集系统和单底板SMP群集一样,运行相同的群集软件。如果加入内存至内存传输机制,它就成为使用NUMA-Q节点的反射内存群集。软件一致性和节点间的内存传输媒介可以利用光纤信道(Fibre Channel)予以实现。
人们或许要问,为什幺需要利用NUMA-Q节点创建内存反射群集系统,何时可以创建超大规模NUMA-Q节点。有两个原因,它们与当前使用群集系统的原因相同:即可用性和超越单个节点的可扩充性。应用的可用性在群集系统中要优于单节点,而对许多商务问题来说,应用的可用性具有至关重大的意义。可扩充性问题很重要,因为无论节点有多大,总是有应用程序需要更大的节点。
NUMA-Q新型体系结构的好处
数据存取延迟无疑是当今系统性能的决定性因素。我们在系统中设置了内存,以减少磁盘延迟。SMP平台过去已提供了一个简便的编程模式,因为内存各个部分的延迟都比较短暂。如果选择的是数据返回到磁盘,通过在内存之间传输数据实现节点间共享数据的试图是成功的。但是,它们仍然需要根本性修改编程才能优化性能,因为节点间延迟大大超过节点内延迟。
获得高性能并保持编程模式简单性(没有数据分区)的最有效途径是创建一个尽可能大规模的节点,然后再创建第二个节点。由于底板和系统总线的规模受到限制,利用探听高速缓存不能实现上述目标,只能达到32个或稍多的处理器个数。实现这一目标的最佳方式是使用基于目录的高速缓存协议和CC-NUMA。它提供的更多好处是允许连接多达252个处理器,获得巨大的存储和I/O总线带宽,而且还可以实现低于当今任何可用系统的内存平均延迟水平。最重要的好处是,你不必修改SMP应用软件就能实现大多数性能,而且它超过了所有现行的大型总线SMP平台。
新型NUMA-Q体系结构在今后十年将会为企业提供一系列重大好处,其中包括:
* 提供利用同一组部件创建多种体系结构的灵活性;
* 遥遥领先的高档性能;
* 适用于多种解决方案的公用的可用性和可管理性工具集;
* 更高水平的应用可用性;
* 更高水平的单一流和系统性能,以支持更多的用户和更大的吞吐量;
* 全面改进系统管理性能,从而减少了操作员错误和培训费用,简化系统管理,并改进了应用可用性;
* 改进可服务性和可靠性,减少客户故障停机时间;
* 提高I/O功能,可以实现更大的联机存储与备份;
* 增加内存容量,可支持更多的用户,并加快处理速度;
* 改善安装能力,从而缩短系统安装和投入运行的时间;
* 为今后的扩展留有余地;
* 最大程度保护客户的投资。
NUMA-Q体系结构允许联机事务处理、决策支持系统和企业信息通讯系统设计人员创建超大规模“事务关键”解决方案,不会出现网络服务器实现方面的管理恶梦、现行SMP系统的底板限制以及MPP的编程复杂性。
IBM新一代NUMA-Q产品
从1996年Sequent公司推出第一代NUMA-Q 产品,到1999年7月IBM和Sequent宣布合并,2000年初IBM已推出NUMA-Q的第三代产品,并采用Intel目前最新的Pentium III芯片。第三代NUMA-Q 产品在硬件上的性能已比第一代大大提高,例如:
* 芯片的主频从Pentium Pro的200 MHz提升至700 MHz;
* 每个Quad的最大内存从4GB增至8GB;
* 三级缓存从32MB提高至256MB;
* Quad的总线带宽从500MB/sec提升至800MB/sec;
总括来说,第三代NUMA-Q产品的性能比第一代产品可高出三倍以上。IBM新型NUMA-Q体系结构可以为企业级系统提供新水准的性能、可用性以及可管理性。由于NUMA-Q在对称多处理(SMP)和群集(Cluster)系统体系结构以及实现高可用的、可管理的企业级网络服务器体系结构等方面是一种飞跃,因而可以相信NUMA-Q体系结构将是二十一世纪高档商业计算的最佳解决方案之一。