多处理器操作系统的性能分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

B76
多线程应用快速傅立叶变换算法 单线程算法并没有利用系统中第二个处理器
的优势 % 我们知道 CA 变换可以简化复杂的快速 傅立叶变换 " 即通过计算傅立叶变换的输入数据 直接把结果相加即可 % 多线程快速傅立叶变换算 法步骤如下 ’
:#"M"*N"O, :#"M"*N"O, Q*M* G--*/ V V 2M*-M U"-?M MW-,*= Q*M* G--*/ V V 2M*-M ?,D.#= MW-,*= Q*M* V V TCA .U =*M* MW-,*=
#IJ
GH 4 # B7B
L% !(D.? B! #
#HK
E?"# B!L% ) #
单线程应用快速傅立叶变换算法 快速傅立叶变换算法步骤如下 ’
:#"M"*N"O, P,*N Q*M* G--*/ :#"M"*N"O, :R*S"#*-/ Q*M* G--*/ 8*ND$N*M, TCA .U P,*N Q*M* 8*ND$N*M, TCA .U :R*S"#*-/ Q*M* T.- 3+,-/ 0*"- .U Q*M* Q. P,*--*#S, =*M* 3#= Q.
<*"M U.- AW-,*=? M. T"#"?W 8*ND$N*M, TCA .U 8*ND$N*M, TCA .U Q*M* V V TCA .U =*M* MW-,*=
<*"M U.- MW-,*=? M. U"#"?W T.- 3+,-/ 0*"- .U Q*M* Q. Q*M* G--*/ V V 2M*-M ?,D.#= MW-,*= P,*--*#S, =*M* 3#= Q.
!"( )$%*+,-./ 0 (111 2 34 <"#=.>?@A 支持本地线程 " 任何多线程程序
可使用系统中所有可获得的 809 % <"#=.>?@A 和
!"#$% 一样 " 用一个调度程序来安排系统线程和进 程的运行 % 主要的不同之处在于 ’ 在 @A 中 " 基本 时序单元是一个线程 " 相反 " 在 !"#$% 中则是一个 进程 % @A 进程中有实际的地址空间 " 包括可执行
第 !" 卷
第#期
电脑与信息技术 电脑与信息技术
第 !" 卷 &’()*" +’)#
Hale Waihona Puke Baidu
$%%# 年 !% 月
!"#$%&’( )*+ ,*-"(.)&,"* &’/0*"1"23
,-. $%%#
文章编号 !455674889!8556"5:7554575;
多处理器操作系统的性能分析
何 莉 #张越峰
6;4554 "
两个 bWb, 硬盘 & 选用的操作系统分别是 1=>DE 小 红帽 :F8#<=>?@AB*& 工作站 # 服务包为 $QY^ :& 行它 & 在一个处理器上按时序安排最常见的两个 任务是进程和线程 & 计算机服务器通常会同时运 行多个进程 # 比如万维网服务器和数据库程序 & 计 算机工作站通常是单个用户在一定时间里运行一 个程序 & 一个多线程程序能利用所有可能的处理 器 # 这样比同等的单线程速度要快得多 & 试验所选 用的这两个常用的操作系统都以其独特的方式支
万方数据
第!期

莉等 ’ 多处理器操作系统的性能分析
!!!!
持多线程程序 !
B
应用
快速傅立叶变换常被应用于测试系统性能的
!"! #$%&’
早 期 的 !"#$% 并 不 向 用 户 提 供 线 程 支 持 " 然 而小红帽 &’( 版本包括了 !"#$% 线程库 " 而且已经 成为最近 !"#$% 分类的标准线程库 ! !"#$% 线程库 是 )*+",- !,-./ 提出的 0123 455674 线程包的补 充 ! !"#$% 线程提供了内核线程 "新的克隆系统产 生线程 " 所有的时序都在内核里完成 ! 这种方法的 主体思想完全利用了多处理器的优点 ! 优劣 % 在这里 " 我们选择快速傅立叶变换以测试双 处理器计算机的性能 " 其目的是要了解增加了第 二个处理器后的系统性能是否会有所增加 % 快速 傅立叶变换很适合这种测试 " 它只需要少数几个
图!
,$%-. 效率
#$%&’()*+ 下运行 ! 然而 "在 ,$%-. 系统中的运算
速度要比 #$%&’()*+ 中的运算速度快 !
13"
双处理器上运行多线程程序
万方数据
第!期

莉等 ’ 多处理器操作系统的性能分析
!!"!
! ! ! ! 在双处理器系统上运行多线程程序比相应的
单处理器系统运行单线程程序要快 ! 当程序处理 大量数据时所获得的性能是最高的 " 最大的加速 度是 !"#!" 在 $%&’( 系统中获得的加速度相应地 比在 )%&*+,-./ 中的加速度要低 "
!国营长海七二二厂技术中心 # 广西 桂林 摘
要 !个人计算机近期最主要的发展之一是使用多处理器以提高计算能力 ! 为了分析个人
计算机额外处理器所获得的性能 " 研究操作系统性能与计算机体系结构的相关性 " 我们用功 能模块设计了一个双处理器计算机系统 " 采用修改过的快速傅立叶算法验证加强计算的能 力 ! <=>?@AB *& ;C5 版本和 1=>DE 8F5 版本采用双处理器系统运行快速傅立叶算法 " 无需线 程技术 "使第二个处理器产生的性能得到了确认 ! 文章探讨了这方面的细节问题 ! 关键词 !计算机性能 # 多处理器 #快速傅立叶变换 #并行处理 中图分类号 !&$G4: 文献标识码 !H
万方数据
!!"!
电脑与信息技术
第 !" 卷
!
实验结果
表 " 是 我 们 在 #$%&’()*+ 和 ,$%-. 中 做 的
一些实验数据 !
表" 测试实验例子
快速傅立叶变换计算
"567 8567
单线程 单线程
多线程 多线程
而图 "/图 0 就是得到的实验结果 !
图1
#$%&’() *+ 运行时间
图9 图"
#$%&’() *+ 加速度
,$%-. 运行时间
图0 图8
#$%&’() *+ 效率
,$%-. 加速度
":";< 单处理器单线程应用 #8:";< 单处理器多线程应用 # ":8;< 双处理器单线程应用 #8:8;< 双处理器多线程应用
1
结果分析
实验结果显示 " 多处理器计算机比相应的单
处理器计算机有更高的运算能力 " 系统中第二个 处 理 器 产 生 的 加 速 度 是 2341/"34" ! 我 们 还 可 看 到 " 只有多线程应用程序才在多处理器系统中获 利 ! 在多处理器计算机上运行单线程程序性能会 下降! 第二个处理器更有利于多线程程序在
!"#$%&’()*++(’+ +,+$*- ./.0,+*
0I 1=#J0H*K 3DL7ML>N
!2D=O=> !PQ>NPQ= +LRLO@STL>U /@F1&V #2D=O=>#2DQ>NE= 6;4554#WP=>Q"
12+$’.)$3">L @M UPL T@BU XLYL>U ?LRLO@STL>UB => UPL SLXB@>QO Y@TSDULX ULYP>@O@NZ =B UPL DBQNL @M TDOU=SX@YLBB@XB => @X?LX U@ =>YXLQBL UPL Y@TSDU=>N S@ALXF ,> @X?LX U@ Q>QOZ[L UPL SLXM@XTQ>YL NQ=> MX@T Q> Q??=U=@>QO SX@YLBB@X => Q SLXB@>QO Y@TSDULX Q>? U@ BUD?Z UPL SLX\ M@XTQ>YL ?LSL>?L>YL @M UPL Y@TSDULX QXYP=ULYUDXL @> UPL @SLXQU=>N BZBULT # Q ?DQO SX@YLB\ B@X Y@TSDULX BZBULT AQB ?LB=N>L? Q>? ]D=OU MX@T UPL M=>YU=@>QO ]O@Y^BF&PL MQBU -@DX=LX UXQ>BM@XT QON@X=UPT AQB Q?@SUL? Q>? T@?=M=L? # U@ ]L DBL? QB UPL Y@TSDUQU=@> =>UL>B=RL SLX\ M@XTQ>YL =>?=YQU@XF &PL --& QON@X=UPT AQB XD> @> UPL ?LB=N>L? UA@7SX@YLBB@X BZBULT D>?LX <=>?@AB*& <@X^BUQU=@> RLXB=@> ;F5# Q>? 1=>DE RLXB=@>8F5 Q>? A=UP@DU UPL DBL @M UPL UPXLQ?=>N ULYP>=_DLB Q>? UPL SLXM@XTQ>YL NQ=> ?DL U@ UPL BLY@>? SX@YLBB@X AQB ?LULXT=>L?F &PL SQSLX SXLBL>UB UPL ?LUQ=OB @M UPL SLXM@XTQ>YL BUD?ZF 4*, 5(’6+3Y@TSDULX SLXM@XTQ>YL$TDOU=SX@YLBB@XB $--&$SQXQOOLO SX@YLBB=>N ! ! ! ! 本 次 试 验 使 用 双 $,,, 处 理 器 #489. 内 存 和
B74
快速傅立叶变换和 CA 变换 应用 CA 变换和快速傅立叶变换能高效地运
算 % CA 变换的定义同快速傅立叶变换相似 % 它用 简单的式子 (D.? (% ) E ?"# (%)) 代替快速傅立叶 变 换 复 杂 的 式 子 (D.? (% ) E "F?"# (% ))" 如 果 我 们 将 GHC +* ,转换成 CA 变换 "则 ’
指令 * 文件句柄等资源 " 还有一些在其它地址空间 内执行的线程 % 调度程序在不同的进程和线程中并没有什么 差别 " 相反 " 它会检查那些将要在同一时刻运行的 线程的优先级 "然后决定执行哪一个 % 也就是说 " 调度程序试图将线程分配给上一次执行过它的处 理器 % 一些线程的数据会驻留在它上一次运行的 处理器缓存中 "<"#=.>?@A 工具软件可以利用这 一优势 % 在大多数情况下 " 下一个线程的数据将占 据缓存 " 这就不容乐观了 % 当有一个线程准备执 行 "它的优先级比正在运行线程的优先级高 " 调度 程序会依据协定做出该执行哪一个程序的决定 " 调度程序会权衡利弊 " 是否该安排处理器执行新 线程 " 把刚才正在执行的线程转向另一个处理器 而丢失缓存数据 %
4
多处理器系统
多处理器计算机能同时执行多重任务 # 操作系
统按时序安排任务 # 并且用可获得的处理器来执
收稿日期 !8556745745 作者简介 ! 何 莉 !4‘aa7 "# 女 # 在读研究生 # 研究方向 % 电子对抗产品终端处理 与 研 究 $ 张 越 峰 !4‘a97 "# 男 # 在 读 研 究 生 # 研 究 方 向 % 雷达对抗产品研发工作 &
译 器 不 同 " $%&’( 用 的 编 译 器 是 677 4"#!! 而
)%&*+,-./ 用的是 8%-’9: ;<<" 双处理器上运行单线程程序 0"4 0"4"! $%&’( 系统
正如前面提过的 ! 单线程程序在第二个处理 器上毫无收益 " 事实上 ! 单线程程序在双处理器计 算机上的运行时间比在单处理器计算机上的运行 时间长 " 在多处理器计算机上 !内核调度程序在最 先获得的处理器上运行 " 当最先获得的处理器不 是该程序上一次运行的处理器时 ! 处理器缓存必 须更新数据和指令 " 频繁地更新处理器缓存会增 加执行时间 " 通常 ! 在 $%&’( 系统里不会把一个程 序限制在某个特定的处理器上运行 "
: ; 1 便可计算大量数据 ( 所有数据在主存中 )% 我
们采用快速傅立叶变换算法将其从单线程转换到 多线程 %
!"#$% 线程遵循所谓的 # 一对一 $ 模式 " 即在
内核中 " 每一个线程实际上是一个单独的进程 % 内 核调度会好好地安排这些线程 " 就像处理常规进 程一样 ! & 一对一 $ 模式的优点包括 ’ 将 809 密集型多 处理 器 的 开 支 最 小 化 (大 约 每 个 处 理 器 一 个 线 程 )" 将 : ; 1 操作的开支最小化 " 简化一些强行执 行的操作 % 主要缺点是操作环境的花费过于昂贵 " 它必须使用内核 " 在这一点上 !"#$% 系统线程不 能绑定 809 "系统运行很稳定 %
相关文档
最新文档