中国IDC圈讯,开放数据中心峰会(ODCC2020)在北京召开,峰会围绕数据中心新基建为主题,有数据中心领域及相关行业的众多专家与会。在9月16日新技术与测试分论坛上,中国计量科学研究院先进测量工程中心副主任武彤带来了主题为“计算性能基准计量测试工具研究”的演讲。
中国计量科学研究院先进测量工程中心副主任武彤
大家好,我是武彤,先介绍一下我们单位的情况,可能在IT行业大家不太了解我们单位,我来自中国计量科学研究院,它隶属于国家市场监督管理总局,是我国最高的计量科学的研究中心,国家级的法定计量技术机构,我所在的部门主要负责智能工程、云计算以及数据中心领域还有一些其他的材料领域的计量测试以及评价验证。
可能大家不太熟悉计量,我首先给大家介绍一下,大家对计量的概念一般都从秦朝开始,就是商鞅变法统一度量衡称为计量。实际上在上古时代,《伏羲女娲图》里面拿了两个工具就是比较早期的计量工具。什么叫计量?给大家举个例子,在秦朝叫秦钱,“秦钱半两,径一寸二分,重十二铢。”这儿都两个单位“两”和“铢”,一两等于二十四铢,计量就是单位统一、量值准确可靠的活动。度量衡的技术进步开启了我国的金融体系。
计量的发展通常我们称为从古典计量到现代计量。古典计量基本上大家都非常了解,是用植物的果实或者是用某一个人的人体器官的长度作为计量的单位,比如说克拉,克拉就是是一种植物的果实,大家都用于做重金属或者钻石重量的计量,克拉原来是植物的果实,后来做标准化,1克拉等于200毫克。到1875年,米制公约的确立,为了工业制造的发展需要标准化,就需要统一的量值体系,到了现代计量,主要为了科学技术的发展,特别是军事科学技术的发展。
我们看一下云计算领域的计量。首先看贸易的角度,我们看怎么来卖云计算服务的,特别是IaaS的方面,这是腾讯云的,里面有三个指标,其中一个比较重要,一个叫CPU,一个叫内存,一个叫带宽,它卖了三种服务,一个是计算的能力,一个是存储的能力,一个是通信的能力,其他的厂商也是这样的。
实际上如果从度量的角度来讲,“核”就是一个单位,因为我们卖的计量单位是一核,一核的计量单位是多少我们大家都不是特别清楚。从计量角度来讲,我们认为云计算的计量可能处于植物果实的状态,就是克拉的状态。
在物理领域,计量有七个基本单位能描述整个物理世界,比如千克等等。在互联网领域怎么来描述整个互联网领域的量呢?在2015年ODCA开放数据中心联盟,这个联盟大部分由数据中心的使用方组成的,他们做了研究成果就是IaaS的度量方法。他们提出来在互联网领域可能用三个指标整个描述互联网领域的活动:第一是秒,秒是时间的永恒的时间指标;第二是比特,大家知道比特是描述信息的一个计量单位;第三是计算能力,计算能力是互联网领域一个新的计算指标,因为我们买的就是算力,类似于电力的千瓦时一样。
实际上在这三个指标里面,计算能力的测量是最复杂的。我们归纳一下,在互联网测试领域怎么做计量或者测试,比较重要的就是计算资源的测试,存储资源的计量单位比如比特。存储资源是计量是按照“块存储”来测量的,“块存储”的不同也会导致的计量测试结果差异很大,但计算资源的计量可能是颠覆性的差异,比如你买一核的算力是两块钱,另外一核可能二十块钱,担算力到底是多少,实际上是没有一个统的度量指标的,所以我们就从需求的角度来讲,最重要的需求是先把计算资源的这种计量的能力或者测量能力统一。
刚才我讲物理计量用七个基本单位,但是在化学计量里面,采用的计量标准叫标准物质。比如测氧气的浓度97%是怎么测量的呢?我们首先出一个标准物质,标准物质是4个9或者5个9的标准物质,跟它比较来的,根据比较的接过去确定是97%、96%。
在计算领域我们找到一些基准的测量程序,比如算π,每秒钟算一百万位是一核,两百万位是两核,但实际的计算场景没那么简单,但它的原理是这样,靠基准程序来确定测试能力。
互联网的处理数据非常复杂,你不可能找一个程序来度量整个能力,所以我们要找到一系列的程序,比如说负载压缩的程序、流体力学的程序,计算负载越来越多,其测量的数据与互联网的体验就吻合得越好。当然它还需要其他的一些处理,比如说控制程序、硬件的操作。测试程序只是最基础的单元测量能力,就像我们有了尺一样,怎样用尺来量面积,还需要有方法学的标准。
基本测试的工具有这么多程序组成的,实际上我们在测量的时候,包括云计算的厂商在测量的时候,它把这些东西装入它的计算单元,通过运行来测量一个结果,这是各种各样的基本测试程序。通过这个基本测试程序你能做出来一系列的测量结果,服务器的算力和功耗之间的比值就是服务器的能效,PUE是比较IT的耗电和总耗电,如果是服务器的能效是提高了,实际上PUE的能耗高点也没问题。从综合能耗来讲,服务器的能效的提高,从实践上来说它的技术进步更快,因为随着半导体技术的进步,它的提高能力比数据中心的制冷的这种效率的提升速度是要快的,只不过大家更关注PUE的准确。
计算性能的测试需要很多策略,它并不是把一些负载堆积到一起就可以了,需要很多策略来支撑它,因为这种测试工具需要有很多指标证明它是科学的测量工具。
这是我们做的一款工具,大家看到的这是指标不是指现在的腾讯云和阿里云、百度云的测量结果,这是我做实验的时候它们的性能,今天只是展示一下这个结果用来说明怎么判断基准测试工具的科学性。
现在我解释一下这种计量工具,基准测试工具怎么才算是一个科学的测试工具?首要基准测量工具重复性要好,比如这个基准测量工具,你测量的结果是被测的计算单元的重复性加上工具的重复性的合成的结果。假定测量工具的重复性本身很差,这个测试工具不能作为基准计算测试工具,当然不同的负载它的重复性也是不一样的,所以我们在选这种测试负载的时候要选重复性好的。这就是为什么要选克拉作为钻石的单位,克拉的种子可能一致性比较好,选苹果就比较麻烦,有的大、有的小,所以选这个程序还是要从很多的负载里面选择重复性比较好的。
这种负载并不一定是我们实际使用的,基准测试实际上是一种理想测试,例如说我们每次看英特尔发布CPU说今年我们的计算性能提高40%,实际上它是在理想情况下也就是这种理想负载下做的,并不是在实际场景,你用WORD等应用程序体验不到提升40%的体验。
基准测试工具它是一个理想的测试工具,我们就选这么多的负载首先来看它的重复性。重复性对基础测试是最重要的指标,只有你把重复性确定了,你才能确认被测的样品的一致性。假定我们的工具的一致性是0.2%,看一下单核心的测试结果,大家看云计算如果是单核心它的重复性就比较好。
这是重复性的技术指标,大家可以看一下这个技术指标,腾讯云整数运算的时候重复性是1.67%,浮点是1.06%。如果是共享计算单元,云计算有很多共享的计算单元,它的重复性非常差,如果是共享的,别人用的多了可能缩减你的计算能力。实际上其他厂商也是类似情况,有的厂商可能会更差,核数多的重复性会更差,比如16核13.6%,它的算力是波动的,如果是独享会好一点。每家厂商的计算能力实际上是波动的,并不是很稳定,我们买其他的东西也是一样,我们买水果他每次给你称500克也是波动的,有一个范围,我们购买定量包装的商品也是这样。
这样就有一个问题,我们怎么样来比较不同的算力,因为所有的算力都是波动的?
有一个概念叫不确定度,测量的“真值“实际上是不存在的。例如我们测量长度,测量长度假设1米,实际上它的最可能的范围是呈正态分布的值,包含有不确定度。假定两个人测量都是1米,这1米它不完全是相同,它有可能是正偏差,有的是负偏差,如果做可比较的话,就要把你测量结果的不确定度评估出来。我们有时候测量不确定度非常大,比如说算力不确定度达到30%,你测量一颗CPU算出来是2000,另外一个是1500,实际上比较不出来哪个算力更大。
今天大体来解释一下做一个测量工具需要什么样的技术指标。
这是我们的不确定度,任何一个测量工具必须有包含不确定度的结果,它才是完整的测量结果,这个具体的不确定度的值我就不再具体解释了。
总结一下,一个科学的基准测试工具需要有几个方面的指标:
第一个是可测量,可测量是必须有值测量出来,不能给你给个感觉这个挺快、那个很慢,必须是有量值的;
另外一个可重复,每次的测量结果都在一定的范围内是可以重复的。
另外是可以比较,就是我们设定两种可以比较,比如单核的是什么,双核的是什么,16核的是什么,当然不是线性的。如果别人拿给你一个工具讲不清楚这些指标,实际上你无法确定是不是可以用这个工具,当然你可以根据这个工具的发布方是不是权威的组织,来确定是不是相信它。
另外要完全释放硬件性能,要准确模拟用户的行为,我们选择负载要有典型性,不能选一些很不常见的负载。
还有一个功能是引导未来软件开发,基准测量工具是一个工具,它自己的稳定性实际上是非常高的,比一般测试程序的稳定性要求要高。你要是用应用软件的时候,比如WORD,它每次装载的时间都不一样的,那个不一样对你的体验影响是很小,但是基准测量工具作为测量工具要求非常稳定。作为基准测量工具,我们认为这些指标是必须的,刚才有很多嘉宾来讲核心的指标、实际上它都是用基准工具测量出来的,如果你的指标差异很大,基准测试工具的影响不明显。如果差异很小,实际上影响很大的。
对于未来的考虑,我们希望能建立硬件的服务器和云计算的服务器一致的测量工具,这种更便于比较。
我们的工作基本上来提供工具一致性,并不是说所有基准工具都是由我们发布,实际上基准的测试工具主要依靠厂商,我们来提供方法学的支持,怎么来做一款基准测试工具,怎么来评价基准测试工具。
我们自己也写工具,我们自己写的工具也不一定是最好的,这需要厂商共同的努力,刚才郭亮讲也计划在ODCC立一个项目是关于基准测试工具的,我们国家基准测试工具实事求是讲,还是非常落后,这还有一段过程。
我们希望在ODCC的平台下,我们国家的基准测试工具能够获得长足的进步,只有工具进步了,进行市场监管的时候才有基础。比如有人投诉云厂商,说我买的算力不够,如果没有基准测试工具很难判定怎么叫不够,你买了一核到底多少算力才够。计量是技术合规的原点,市场监管的基础。
谢谢大家。