基于排队论的单核处理器和多核处理器性能的简单量化评测

文章描述:-2022年4月14日发(作者:浦通修)摘要:从cpu诞生之日起,主频就在不断的提高。然而伴随着主频的提高,电压和发热量成为了单核cpu的主要障碍,这使得cpu无法通过简单的提升主频来提升处理器的性能。因此增加cpu内核数量成为了最有实际意义的方式。如何评测cpu核增加的数量和性能提升的水平是在设计cpu时应该考虑的主要问题之一。本文采用排队论的方法提供了简单的定量的分析,按照排队论的相关模型可以

-

基于排队论的单核处理器和多核处理器性能的简单量化评测
2022年4月14日发
(作者:浦通修)

摘要:从cpu诞生之日起,主频就在不断的提高。然而伴随着主频的提高,电压和发热量成为

了单核cpu的主要障碍,这使得cpu无法通过简单的提升主频来提升处理器的性能。因此增

加cpu内核数量成为了最有实际意义的方式。如何评测cpu核增加的数量和性能提升的水平

是在设计cpu时应该考虑的主要问题之一。本文采用排队论的方法提供了简单的定量的分

析,按照排队论的相关模型可以对核心数量和性能提升进行一下简单的评测。为多核cpu

的设计提供了量化依据。

关键词:多核cpu;单核cpu;cpu性能;排队论;量化评测

1.概述:

CPU从诞生之日起,主频就在不断的提高,如今主频之路已经走到了拐点。桌面处理器

的主频在2000年达到了1GHz,2001年达到2GHz,2002年达到了3GHz。但在将近5年之

后我们仍然没有看到4GHz处理器的出现。电压和发热量成为最主要的障碍,导致在桌面处

理器特别是笔记本电脑方面,Intel和AMD无法再通过简单提升时钟频率就可设计出下一代

的新CPU。

面对主频之路走到尽头,Intel和AMD开始寻其它方式用以在提升能力的同时保持住

或者提升处理器的能效,而最具实际意义的方式是增加CPU内处理核心的数量。

多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源

于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,

先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很

快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价

格要高很多。

英特尔工程师们开发了多核芯片,使之满足“横向扩展”(而非“纵向扩充”)方法,从

而提高性能。该架构实现了“分治法”战略。通过划分任务,线程应用能够充分利用多个执

行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为“硅核”),能

够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核

作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周

期内执行更多任务。多核架构能够使目前的软件更出地运行,并创建一个促进未来的软件

编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着

向多核处理器的移植,现有软件无需被修改就可支持多核平台。操作系统专为充分利用多个

处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设

计中融入更多思路,但设计流程与目前对称多处理(SMP)【1】系统的设计流程相同,并

且现有的单线程应用也将继续运行。多核技术是处理器发展的必然。近20年来,推动微处

理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。

半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领

域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两

个因素是相互影响,相互促进的。一般说来,工艺和电路技术的发展使得处理器性能提高

约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提

高约1.4倍。但是今天,这种规律性的东西却很难维持。多核的出现是技术发展和应用需求

的必然产物。

基于上述认识,那么在设计多核处理器时如何才能更好的评测增加核的数量和其相对应

的理论上性能的提升也不可避免要考虑的问题。本文采用排队论模型对单核处理器和多核处

理器在处理相同任务时所耗费时间进行定量的分析。

2.单核处理器和多核处理器的体系结构

a)单核处理器的结构和处理机制

图1单核cpu的结构如图1所示。正如第一部分的概述所说。Cpu从诞生之日起就不断的提

升主频。对于单核处理器来说提升主频是最简单的提升性能的方式。主频就是CPU的时钟

频率,简单说是CPU运算时的工作频率(1秒内发生的同步脉冲数)的简称。单位是Hz。

它决定计算机的运行速度。相对于多核来说单核的体系结构相对简单。在处理机制上处理核

只需完成L2缓存的请求即可。如此循环至到任务处理完毕。从操作系统的角度来看,单核处理器以串行的方式完成并行的工作——实质上是仿并

行。

b)多核处理器的结构和处理机制

对于多核处理器来说,在体系结构上又分为CMP(片上多核处理器,Chip,Multi-Processor)

和SMP(同时多线程处理器,SimultaneousMulti-Processor)。从体系结构的角度来看,SMP

比CMP对处理器的资源利用率要高。但从使用效果来看,CMP在多线程的通信延迟较低,

并且其的最大优势体现在模块化设计的简洁性,同时也不存在SMP中多个线程对共享资源

的争用而造成的延时问题。

因此本文的分析基于CMP的体系结构。如图:(也可参考论文)

随着半导体工艺的发展,CPU和主存储器之间的速度差距越来越大。在CMP中,多个

处理器核心对单一内存空间的共享使得这一矛盾更加突出,因此在设计中采用多级Cache

来缓解这一矛盾;此外,Cache自身的体系结构设计也直接关系到系统整体性能。很多CMP

设计都采用了分布一级Cache,共享二级Cache和Cache的结构。

CMP通常可分为同构CMP和异构CMP,其判别标准是根据。芯片上集成的多个微处理

器核心是否相同。同构CMP大多数由通用的处理器组成,多个处理器执行相同或者类似的

任务。异构CMP除含有通用处理器作为控制、通用计算之外,多集成DSP、ASIC、媒体处

理器、VLIW处理器等针对特定的应用提高计算的性能。基于X86技术的多核处理器多采

用类似技术,其中AMDOpteron处理器在设计上与传统的RISC处理器设计较为接近。Intel

产品由于是从单路处理器发展而来,在多路产品中与上述结构差别较大,但在设计上也引用

了不少类似技术。在本文中我们采用同构CMP进行分析。

从操作系统的角度来看,系统的所有作业将交于二级共享缓存,在此之后在处理器内部

将对作业进行进一步的分配。分配至不同的处理核进行并行的处理,在处理上是真正的并行。

不过对于并行的线程来说并不是如此。因为同一线程也可能被划分为不同的时间片,在同一

时刻在不同的处理核上进行处理。这样对外来说——处理器外部,只需要将按照原来的(单

核上的)调度方式将系统中的任务交付给处理器即可。这在一定程度上保持了兼容性。不过

对于要高效利用多核处理器这并不是最好的方法。在这里不做讨论。

3.排队论概述

排队论起源于20世纪初的电话通话。1909—1920年丹麦数学家、电气工程师爱尔朗

()用概率论方法研究电话通话问题,从而开创了这门应用数学学科,并为这门

学科建立许多基本原则。20世纪30年代中期,当费勒()引进了生灭过程时,排队论

才被数学界承认为一门重要的学科。

排队系统又称服务系统。服务系统由服务机构和服务对象(顾客)构成。服务对象到来

的时刻和对他服务的时间(即占用服务系统的时间)都是随机的。图1为一最简单的排队系

统模型。排队系统包括三个组成部分:输入过程、排队规则和服务机构。

输入过程:输入过程考察的是顾客到达服务系统的规律。它可以用一定时间内顾客到达

数或前后两个顾客相继到达的间隔时间来描述,一般分为确定型和随机型两种。

排队规则:排队规则分为等待制、损失制和混合制三种。当顾客到达时,所有服务机构

都被占用,则顾客排队等候,即为等待制。在等待制中,为顾客进行服务的次序可以是先到

先服务,或后到先服务,或是随机服务和有优先权服务(如医院接待急救病人)。如果顾客

来到后看到服务机构没有空闲立即离去,则为损失制。有些系统因留给顾客排队等待的空间

有限,因此超过所能容纳人数的顾客必须离开系统,这种排队规则就是混合制。

服务机构:可以是一个或多个服务台。多个服务台可以是平行排列的,也可以是串连排

列的。服务时间一般也分成确定型和随机型两种。

排队模型中主要的性能参数:

1)顾客到达率λ:单位时间顾客的到达数

2)平均服务率μ:单位时间能被服务完的顾客数,而1-μ则表示一个顾客平均服务的

时间

3)服务强度ρ:ρ=λ/μ表示服务机构的数目,是服务效率和服务机构利用率的重要

标志。

4)顾客平均等待时间W:W=ρ/(μ-λ)

4.用排队论模型分析处理器的性能

a)单核处理器的性能分析

在本文中假设我们所评价的系统中多个独立的处理请求时均衡的,即输入的速率等于离

开的速率。由此根据Littles定律【2】可以得到:平均服务中的任务数(-server)=到达速

率(λ)*每个任务的平均服务时间(T-server)。服务器利用率=平均服务中的任务数/服务

率,对于单个服务器来说,服务率为1/T-server。因此可以得到:服务器利用率=到达速率*T-server

于是有每个任务在队列中的平均等待时间(T-queue)=服务器利用率*T-server+(到达速率

*T-queue)*T-server。化简后可得到:

T-queue=T-server*(服务器利用率/(1-服务器利用率))

对于单核处理器我们假定其平均服务时间,T-server=1/主频。这里只是简单的假定,在实际

中要考虑很多情况。现在考虑一个主频为2.3GHZ的单核处理器,假设顾客的平均到达率为50,那么根据

M/M/1模型,可以得到服务器利用率和平均队列等待时间:T-server=1/(2.3*)根据以上的推导可以得到服务器的利用率:服务器的利用率=到达速率*T-server

=50*1/(2.3*1024)

=0.02122最后可以算出每个任务在队列中的平均等待时间:T-queue=T-server*(服务器利用率/(1-服务器利用率))

=50*(0.02122/(1-0.02122))=1.5

b)多核处理器的性能分析

在这里我们以AMD三核处理器来进行测试。

如图所示的三核处理器的体系结构。其处理机制满足排队模型的3个基本组成部分:输

入过程即系统的对cpu资源的请求;排队规则为处理器的处理机制,在此我们简化为一般的

先进先出的排队规则,并且不考虑L2缓存进行任务分配时的时延;服务机构为三个处理核。

这种系统模型在排队论上成为M/M/C模型。如图所示:

见书上270页。下面给出M/M/C队列的公式,用-server表示服务器的数量。那么由前面的两个公式

很容易就可以得到:利用率=到达速率*T-server/-server

T-queue=T-server*(P-moretask/(1-利用率))这个公式与M/M/1中的公式相似,只是用一个任务在队列中等待的概率代替服务器的

利用率,然后再处理服务器的个数。在具有多个服务器的系统中计算任务在队列中等待的概

率很复杂。我们首先要计算出系统中无任务的概率:参考271页。

系统中任务数目与服务器数目一样多或者更多的时候的概率P-moretask=(-server*利用率*利用率/-server!*(1-利用率))*P-notask

根据上面提出的问题,我们再通过双核处理器进行操作,这里我们使用双核处理器的主

频为2.3GHZ,因为其采用的是双核,不考虑处理核分配任务所使用的时间。

T-server=1/2.3GHZ*2对于上面的问题进行解决:服务器利用率=到达速率*T-server/-server=50*0.00008491/2=0.02122

队列中无任务的概率:P-notask=0.9397

用这个结果再计算队列中有任务的概率:P-moretask=0.0004322

最后计算在队列中的等待时间:

T-queue=T-server*(P-moretask/-server*(1-利用率))=1.8746859355524224475e-8

1.843947e-6

5.单核和多核的性能的比较

从比较的结果中可以很明显的看出来,在忽略了一些其他因素的情况下,对于主频相同

的单核和双核处理器来说,在处理相同的任务量时,单核的任务平均等待时间是双核的100

倍。由此可以简单的推断出每增加一个核其对任务的处理速度将会提升100倍。

6.总结

本项研究的意义:有助于利用简单的排队模型对多核处理器的改进进行分析,从而可以

从投入技术和获得高效率速度之间到稳定点。从而能够使的多核的开发更具有科学性

和预知性。

参考:

【1】:对称式多处理器SMP:

/view/

【2】Little定律指出“系统中物体的平均数量等于物体离开系统的平均速率和每个物体在系

统中停留的平均时间的乘积。”

胡阳、焦庆路编写整合,转载注明作者!!!

-

基于排队论的单核处理器和多核处理器性能的简单量化评测

发布时间:2022-04-14 08:46:45
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 10 条评论,869人围观)
梦见掉到水里V铁粉7 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
对于主频相同的单核和双核处理器来说
薛家岛租房V铁粉11 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
共享二级Cache和Cache的结构
4个月宝宝辅食V铁粉15 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
用-server表示服务器的数量
掘金时代V铁粉25 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
分配至不同的处理核进行并行的处理
涂世旻V铁粉15 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
应用开发人员需要在程序设计中融入更多思路
店铺风水知识V铁粉25 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
那么根据M/M/1模型
电影长城大决战V铁粉30 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
在处理上是真正的并行
南宁楼盘V铁粉12 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
化简后可得到:T-queue=T-server*(服务器利用率/(1-服务器利用率))对于单核处理器我们假定其平均服务时间
我还是不懂V铁粉17 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
本文采用排队论的方法提供了简单的定量的分析

最近发表

随便看看

热门文章

标签列表