IBM Support

IBM i 7.2 与 IBM POWER8

Technical Blog Post


Abstract

IBM i 7.2 与 IBM POWER8

Body

原文地址:https://www.ibm.com/developerworks/ibmi/library/i-ibmi-7_2-and-ibm-power8/

IBM i 7.2 IBM POWER8

有史以来最强大,最灵活,最具扩展性的新一代IBM Power System服务器。

IBM i 7.2IBM®POWER8™终于问世了。 IBM POWER8是最新最先进的处理器,它是IBM Power Systems™服务器的心脏,而IBM i 7.2版本是IBM最新发布的针对POWER8进行了优化的IBM i操作系统。本文将从一个资深的IBM i Licensed Internal CodeLIC)开发人员的角度介绍一些在IBM i 7.2中专门为了POWER8设计或优化的功能和特性。

简介

在花费4年的时间后,IBM终于发布了IBM i 7.2POWER8ibm.com网站上的官方声明中包含了对最新一代使用POWER8处理器的Power Systems的高级功能和技术优势的描述。那么,这篇文章与官方声明有哪些不同,你为什么要读它?好吧,为了这个问题,让我解释一下我为什么要写这篇文章。

我已经在IBM工作了近20年,其中大部分时间是作为IBM iLIC的开发人员编写IBM i操作系统的基础代码,为操作系统和应用程序实现技术独立的机器接口(TIMI)。然而,这是我第一次为IBM developerWorks进行写作。 “那么,为什么是现在呢?”我很高兴你这么问。IBM i 7.2POWER8是世界各地几千名才华横溢、勇于奉献IBM员工的灵感和创新的结。伴随着IBM i7.2全面上市,在IBM开发实验室里处处充满了兴奋和热情。像我的许多同事一样,我感到非常的满足,因为我知道这些新的使用POWER8处理器的Power Systems服务器与IBM i 7.2将会默默地服务于数以百万计的世界各地的人们,再次提高机器的性能,可靠性和价值。有时候,沉默是金,但现在我想告诉你一些功能和特性,这些功能和特性在过去的4年里一直是我世界的一部分。我邀请你和我一起欢迎IBM i  7.2POWER8的到来!

 

操作系统要求

使用POWER8处理器Power Systems服务器同时支持IBM i 7.2IBM  i 7.1 技术更新 8(IBM i 7.1 Technology Refresh 8)IBM i操作系统和大多数运行在IBM i上的应用是建立在TIMI之上的,TIMI将会帮助应用程序隔离处理器架构的差异,这将允许系统自动利用许多新的IBMPower Architecture®功能,而无需更改现有的应用程序。新的IBM i 7.2版本延续了该传统,它可以支持多个代系的IBM Power Systems服务器和处理器,其中就包括新的POWER8处理器, 并在此基础上提供了高度的集成性、安全性、及易用性。

 

多核和多线程支持

与之前几代的Power Systems服务器类似,使用POWER8处理器的系统被设计成向上扩展,以支持工作负荷增长的需求,同时也可以作为工作负载的整合平台。逻辑分区和虚拟化的硬件、虚拟机管理程序、以及针对这些双重角色优化的操作系统使之成为可能。正如本章所描述的,在本文中会使用诸如虚拟处理器和处理器兼容模式这样的术语。所以,如果你不熟悉IBMPowerVM®处理器的虚拟化概念,你可能要花一些时间来了解一下处理器虚拟化101

系统可扩展性的一个维度是交易处理能力。近年来,事务处理能力的增长已经在很大程度上来自多线程和多处理的增长,而不是单个线程的性能的增长。 POWER8处理器显著的提高了单线程、单核的处理能力,从而为系统性能的提高开辟了新的天地。使用POWER8处理器的服务器相对于使用相似配置的IBM POWER7®处理器的服务器,每个核可以提供多达50%的商业处理负载(CPW)评分(CPW的比较对象是使用主频为4.2 GHz16POWER7IBM Power 740和使用主频4.15GHz16POWER8IBM Power® System S824,详细信息请参考Performance Capabilities Reference》,IBM i Operating System 7.2April 2014)。该CPW评分为运行IBM i的系统提供了一个衡量在线交易处理(OLTP)能力的指标。

操作系统限制

1显示了默认支持的处理器线程上下文以及通过处理器兼容模式支持的最大逻辑分区数量和IBM i的版本之间的对应关系。这些已公布的信息都是默认值。如果希望通过调整IBM i版本和配置处理器兼容模式来支持的更多的处理器,请与IBM Lab Services联系。

表一:IBM i 最大处理器限制图像

智能的可扩展同步多线程(SMT

像之前的POWER7一样,POWER8采用的智能线程技术可以在不同的处理器线程上下文下最大限度地提高工作负载的性能。在POWER8上,该技术得到了增强,可以更快、更有效率的适应工作负载的变化。如果POWER8的处理器非满负载运行,那么对于每一个独立的线程上下文,其核心性能大致相同。举例来说,如果只有一个线程被调度,它在单线程(ST),SMT2SMT4SMT8的环境中的性能大致相同;如果两个线程被调度,它们在SMT2SMT4SMT8的环境中的性能大致相同;如果三个或四个线程调度,它们在SMT4SMT8的环境中性能大致相同。如图1所示。

1POWER8 SMT 比例图像

从可用性的角度来看,智能线程意味着不必人工的调整系统处理器的线程上下文以最大限度地提高工作负载性能。高度多线程的工作负载可以通过SMT8技术获得额外的吞吐量,与此同时,适度线程以及单线程的工作负荷仍然能够自动的实现它最大的性能。它就是这样工作的!

 

灵活的SMT控制

处理器线程上下文确定每个处理器可使用的线程数,并影响到处理器的利用率以及由IBM i的工作管理和性能管理工具收集的报告。默认的处理器线程上下文适用于大多数的商业环境中,同时IBM i也提供了手动控制,允许系统根据工作负载的具体特点进行微调。处理器的多任务模式和处理器最高的SMT级别可用于建立任何初始程序载入(IPL)所支持的处理器的线程上下文。在一般情况下,由于处理器的线程上下文减少,单线程的性能和确定性会增加,但它是以在更多线程模式下可能达到的更高的总的吞吐量为代价的。灵活的SMT技术允许系统进行调整以适应业务的具体需要。

POWER8上,IBM i支持灵活的SMT及完全动态的系统级处理器线程控制。IBM i 7.27.1 TR8支持在POWER 8处理器上进行即时的单线程和同步多线程之间的上下文切换。如表2中展示的那样,可用于该分区IPL的处理器线程上下文是由处理器兼容模式(PCM)的分区属性来确定的。需要注意,PCM是在分区激活的过程中建立的。

2IBM i 支持的与默认的处理器线程上下文图像

默认的线程上下文是由操作系统决定的,但它也可以由系统管理员很容易地更改。由于智能线程的直观性以及其所提供的高性能,一直以来,为新一代系统优化的IBM i操作系统都使用最大可支持的线程上下文作为其默认设置。也就是说,在IBM i 7.1 TR8中,将继续使用SMT4作为POWER7POWER8处理器兼容模式的默认的线程上下文。而在IBM i 7.2中,将使用SMT8作为默认的线程上下文。

IBM i 7.1 TR8选择在POWER8中继续使用SMT4是为了方便客户进行从上一代Power Systems服务器的迁移工作。因为许多用户从使用SMT4POWER7中将工作负载升级到POWER8以后,将继续使用IBM i 7.1一段时间。在IBM i 7.1 TR8中将SMT4的作为POWER8的默认的线程上下文可以给客户提供POWER8的性能优势,同时又不丢失对SMT4的熟悉性和连续性。

 

处理器多任务模式

对单线程上下文进行切换可以使用IBM i的处理器多任务模式的系统值(QPRCMLTTSK)来完成。在POWER8上对QPRCMLTTSK进行的更改立即生效,并不会因为分区的IPL而失效。

QPRCMLTTSK支持的值如下:

    0 - 处理器的多任务处理被禁用。此值对应于单线程上下文。
    1 - 处理器的多任务处理已启用。如果该分区的处理器兼容模式是基于IBM POWER6®IBM POWER6+™,则此值对应于SMT2。否则,该值对应于线程上下文支持的最高SMT级别。
    2 - 处理器多任务由系统控制。这是默认值,IBM建议的设置。对于POWER8来说,该值与'1'相同,处理器的多任务处理已启用。

示例1图像

 

处理器最高的SMT 级别

当处理器的多任务模式被激活,针对分区IPL时提供的切换线程上下文功能也可以通过改变处理器的多任务信息的API——QWCCHGPR——来完成。对QWCCHGPR API进行的更改立即生效,并不会因为分区的IPL而失效。

QWCCHGPR API只有一个参数,对应于每个处理器辅助线程的最大数目:

    0 - 无上限。该系统使用辅助线程的默认数量由操作系统决定。
    1-255 - 系统可能使用最大辅助线程的数量。

QWCCHGPR API可以在命令行调用。

请注意,设置辅助线程的最大数目并不直接建立处理器线程上下文。该最大值将不考虑由底层硬件支持的处理器线程上下文,而是由操作系统将配置的最大值直接应用到系统。在基于POWER8处理器的系统上,如果通过QWCCHGPR API指定了最大值,操作系统将会尝试建立接近该最大值的如表二所示的线程上下文。换句话说,如果QWCCHGPR API设置的辅助线程的最大数目不为当前硬件所支持,操作系统会将线程上下文设置为满足该最大值要求的硬件所支持的最大值。

示例2图像

 

可以通过检索处理器多任务处理的APIQWCRRTVPR)来获得辅助线程的最大数目。注意,返回的值是配置的辅助线程的最大数目。

 

其他POWER8亮点

IBM i使用TIMI帮助应用程隔离处理器架构的差异,并允许系统自动利用许多新的Power处理器架构所提供的功能而无需更改现有的应用程序。在某些情况下,IBM i操作系统可以基于分区的处理器兼容模式来激活一些新的功能。我们将在接下来的章节中看看POWER8上的一些例子。

 

动态分区迁移

动态分区迁移(LPM)是PowerVM的一个功能,它提供在Power System服务器之间迁移已启动或未启动的IBM i分区的能力。IBM i操作系统在IBM i 7.1 TR4版本上提供了对基于POWER7处理器的服务器的LPM功能的支持。

IBM i 7.27.1 TR8版本中,LPM支持在基于POWER8处理器的服务器之间,以及基于POWER8POWER7处理器的服务器之间进行迁移。必须要注意的是,对于在基于POWER8POWER7处理器的服务器之间的迁移,所迁移的分区必须被配置为同时支持两种服务器的处理器兼容模式,也就是POWER7POWER6POWER6+模式。请注意,虽然PowerVM支持使用POWER6POWER6+处理器兼容模式的基于POWER7POWER8处理器的服务器的LPM,但是IBM i操作系统并不支持基于POWER6处理器的服务器的LPM

 

虚拟时基和指令计数

POWER8为线程级的指令计数和虚拟处理器计时功能提供了新的硬件设施。由于在POWER7上这些设施并不适用,并且分区可以动态迁移到一个基于POWER7处理器的服务器上,所以操作系统为仅运行在POWER8处理器兼容模式的分区提供了新的指令计数(IC)和虚拟时间基数(VTB)数据。

ICVTB的设施都比较简单。IC是指一个硬件线程的Power指令计数器,而VTB是指分派给一个硬件线程的虚拟处理器的消逝时间。两者都是享有特权的,也就是说,它们是不能直接被应用程序访问,只能由操作系统提供它们的累积数据。 对于一个软件线程的ICVTB的累加是直接通过POWER8线程中的ICVTB寄存器进行的。处理器非空闲ICVTB的累加并不是那么直接,它会且只会发生在任何处理器的线程都没有空闲,也就是运行一个程序的时候。IBM i 7.2对每一个软件的线程和进程都会执行ICVTB的累加,而对每个处理器和分区执行非空闲的IC和非空闲VTB累加。处理器IC还会按照一些其他类别进行累加,比如中断IC

对于程序员而言,ICVTB的累加可以通过多种IBM i 7.2的接口获得,包括:

    MATRMD Hex2628 - 具体化的资源管理数据
    MATPRATR Hex2123 - 具体化的进程的属性
    MATMATR Hex 220 - 处理器属性

IBM i 7.2性能管理工具已经为ICVTB的累计进行了更新。例如,Collection serviceQAPMJOBMI文件中加入了线程/进程的ICVTB的数据,在QAPMSYSTEM文件中加入了处理器的ICVTB数据汇总,使得在不显著增加数据收集成本的前提下,使长期的历史分析成为可能。如需更详细的分析,性能资源管理器(PEX)在基本事件数据中包含了线程ICVTB数据,这些数据可以被追踪到一个很短的时间尺度。

POWER8中,ICVTB的累加数据可以为单个进程/线程和系统的整体性能的诊断提供有价值数据。它们可以单独使用,也可以组合使用。例如,非空闲处理器VTBIC被设计成一个24x7的处理器周期和指令度量的代理,它经常被用于监测整个系统运行状况。对前几代的IBM Power服务器,只有当PEX被启用以后,这个数据才可以被使用。

 

矢量标量扩展和加密加速

POWER8增强了矢量标量扩展(VSX)的功能,包含新的用来加速一些常用的加密操作的指令。POWER系统中的VSX提供了符合电气和电子工程师标准协会对于浮点计算(IEEE-754)标准的、对矢量和标量进行二进制浮点运算的支持。 VSX通过使用单指令多数据(SIMD)执行浮点双精度运算,可以增加应用程序的并行性,大大提高某些应用程序的性能。在基于POWER8处理器的IBM i 7.2上运行的IBM i便携式应用解决方案环境(PASE)应用程序现在就可以利用VSX的优势。如果需要更多关于IBM i PASE使用VSX的信息,请参阅IBM红皮书®调优技术:IBM处理器,包括IBM POWER8 (Tuning Techniques for IBM Processors, including IBM POWER8)

IBM i 7.2POWER8处理器兼容模式下运行时,利用增强的POWER8矢量处理能力可以加速AES加密操作。加密服务APISSLVPN、备份恢复和媒体服务(BRMS)磁带加密、以及SQL加密功能会自动使用POWER8增强的矢量处理功能,从而显著提高性能。图2举例说明从POWER8加密加速中带来的收益。该图表显示了使用IBM内部版本的IBM CryptoLite for C / C+ +CLICtoolkit来运行密码块链接(CBCCipher Block Chaining )和电子密码本(ECB)加密和解密算法的吞吐量。在每一个图表中,标记为“Vector”的是使用了POWER8矢量加速的,而其他的则没有使用。如图所示,性能增益依赖于模式和块的大小,并且结果也有所不同,但POWER8矢量加速可以为一些应用的加密性能带来巨大的提升。

2POWER8 AES加密加速图像

这些不仅是“个别的基准测试”的结果 ——真正的应用程序可以从IBM i 7.2POWER8加密加速中获益良多。一个例子是IBM BRMS在保存和恢复时使用的软件加密算法。通常情况下,软件加密会占用BRMS保存和恢复的处理和完成时间的相当大的一部分;但是在IBM i 7.2POWER8上,使用加密算法的保存和恢复的时间与未使用加密算法的保存和恢复时间基本处于同一水准 ——也就是说使用加密算法基本不会增加保存与恢复的时间。

 

结论


本文详细叙述了这些在过去四年中在我的世界里扮演了重要角色的功能和特性:

  • 针对商业工作负载,POWER8服务器比同类型的POWER7服务器快了50%。
  • 运行于POWER8之上的IBM i 7.2操作系统的加密功能比以往快了至多15倍。
  • 运行于POWER8之上的IBM i 7.2操作系统提供了增强的7x24系统运行指标,以帮助进行系统健康监测和性能分析。
  • IBM i 7.2具有高度的可扩展性和可配置性,具有灵活的SMT选项,但它也可以在用户不进行定制的前提下,提供卓越的系统和单线程性能。

 

欢迎来到POWER8IBM i 7.2的世界,一个拥有最强大、最灵活和最具扩展性的新一代IBM Power Systems服务器的世界。

 

相关文档

作者Chris Francois, IBM i LIC developer, IBM

翻译金一帆, Connections on IBM i developer, IBM

 

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11144612