分布与并行计算思考题答案整理.docx
并行计算习题答案

并行计算习题答案并行计算习题答案在计算机科学领域,随着技术的不断发展,计算速度的提升成为了一个重要的课题。
并行计算作为一种有效的解决方案,被广泛应用于各个领域。
本文将通过回答一些并行计算习题,来探讨并行计算的原理和应用。
1. 什么是并行计算?并行计算是指同时执行多个计算任务的一种计算模式。
它通过将一个大问题分解为多个小问题,并在多个处理单元上同时执行这些小问题,从而加快计算速度。
并行计算可以应用于各种领域,包括科学计算、图像处理、人工智能等。
2. 并行计算的优势是什么?并行计算具有以下几个优势:- 加速计算速度:通过同时执行多个任务,可以大大提高计算速度,从而节省时间和资源。
- 处理大规模问题:并行计算可以处理大规模问题,将问题分解为多个小问题,分别在不同处理单元上计算,从而提高计算效率。
- 提高系统可靠性:并行计算中的多个处理单元可以相互协作,当一个处理单元发生故障时,其他处理单元可以继续工作,从而提高系统的可靠性。
3. 并行计算的模型有哪些?并行计算的模型有多种,常见的包括:- SIMD(单指令流多数据流)模型:所有处理单元执行相同的指令,但可以处理不同的数据。
- MIMD(多指令流多数据流)模型:每个处理单元可以执行不同的指令,处理不同的数据。
- SPMD(单程序多数据流)模型:所有处理单元执行相同的程序,但可以处理不同的数据。
4. 并行计算中的通信方式有哪些?并行计算中的通信方式包括:- 共享内存:多个处理单元共享同一块物理内存,通过读写内存来实现数据的传递和共享。
- 消息传递:处理单元之间通过发送和接收消息来进行通信,可以通过直接通信或者通过中间件来实现。
5. 如何评估并行计算的性能?评估并行计算的性能可以从以下几个方面考虑:- 加速比:加速比是指并行计算相对于串行计算的速度提升比例,可以通过计算并行计算时间与串行计算时间的比值得到。
- 效率:效率是指并行计算的实际加速比与理论加速比之间的比值,可以反映并行计算的利用率。
并行作业答案

语句依赖图:
S
δf
δa
δf
T
2. 找出以下循环中的存在依赖关系(包括依赖类型、依赖向量),画出迭代依赖图(注意:要“窥 一斑而知全豹”)。 for I = 1 to 100 do for J = 1 to 50 do A(I+2,J) = B(2*I,J) - 5; B(2*I,J-1) = A(I,J+2) + 4; end for end for
{<S(i1,j1),T(i2,j2)>| i1=i2-2; j1=j2+2; 1<=i1<=98;3<=j1<=50} (2) S δa T,依赖向量为(0,1),满足关系的迭代对:
{<S(i1,j1),T(i2,j2)>| i1=i2; j1=j2-1; 1<=i1<=100;1<=j1<=49} 迭代依赖图:
并行编译部分:
1.找出以下循环中的存在依赖关系(包括依赖类型),画出语句依赖图。 for I = 0 to 100 do
A(I) = C(I)+2;
B(I) = A(I-1)-A(2*I-5);
end for 参考解答:
for I = 0 to 100 do S: A(I) = C(I)+2; T: B(I) = A(I-1)-A(2*I-5);
end for 依赖关系:(1) S δf T ;{ <S(i), T(j)> | i = j - 1 ; 1<= j <= 100, 0 <= i <= 99}
(2) S δf T ;{ <S(i), T(j)> | (i,j) = (1, 3) , (3,4), (5,5) } (3) T δa S ;{ <T(i), S(j)> | j = 2* i – 5; 6<= i <= 52}
《大学计算机基础与计算思维》课后习题参考答案.doc

《大学计算机基础与计算思维》课后习题参考答案第1章计算、计算机与计算思维............................. 第2章数据的计算基础计算机硬件系统第4章操作系统基础 (11)第5章算法与数据结构 (13)第6章程序设计及软件工程基础 (17)第7章数据库技术 (19)第8章计算机网络 (22)第9章信息安全与职业道德 (24)第10章计算软件第11章办公软件Office 2010算机科学与技术学院计算机基础教学部28 292015年9月第1章计算、计算机与计算思维1.1举例说明可计算性和计算复杂性的概念。
答:对于给定的一个输入,如果计算机器能在有限的步骤内给出答案,这个问题就是可计算的。
数值计算、能够转化为数值计算的非数值问题(如语咅、图形、图像等)都是可计算的。
汁算复杂性从数学上提出计算问题难度大小的模型,判断哪些问题的讣算是简单的,哪些是困难的,研究计算过程屮时间和空间等资源的耗费情况,从而寻求更为优越的求解复杂问题的有效规则,例如著名的汉诺塔问题。
1.2列举3种电子计算机岀现之前的计算工具,并简述其主要特点。
答:(1)算盘通过算法口诀化,加快了计算速度。
(2)帕斯卡加法器通过齿轮旋转解决了自动进位的问题。
(3)机电式计算机Z・l,全部采用继电器,第一次实现了浮点记数法、二进制运算、带存储地址的指令等设计思想。
1.3简述电子计算机的发展历程及各时代的主要特征。
答:第一代一一电子管计算机(1946—1954年)。
这个时期的计算机主要釆用电子管作为运算和逻辑元件。
主存储器采用汞延迟线、磁鼓、磁芯,外存储器采用磁带。
在软件方面,用机器语言和汇编语言编写程序。
程序的编写与修改都非常繁琐。
计算机主要用于科学和工程计算。
第二代一一晶体管计算机(1954—1964年)。
计算机逻辑元件逐步由电子管改为晶体管, 体积与功耗都有所降低。
主存储器采用铁脸氧磁芯器,外存储器釆用先进的磁盘,汁算机的速度和可靠性有所提高。
并行计算-习题及答案-例题习题讲解

例题习题讲解例1 SIMD-SM上求最大值算法Beginfor k=m-1 to 0 dofor j=2k to 2k+1-1 par-doA[j]=max{A[2j], A[2j+1]}end forend forend时间分析t(n)=m×O(1)=O(logn)p(n)=n/2c(n)=O(nlogn) 非成本最优例2 令n=2k(k>=0),求n个数和的并行算法算法运行时间:t(n)=O(logn)总运算量: W(n)=W(1)(n)+W(2)(n)+W(3)(n)=n+∑n/2h+1=O(n)由Brent定理知: t(n)=O(n/p+logn)例3 设A为矩阵,有如下串行程序段:f o r i=1t o n d of o r j=1t o n d oa[3i,2j]=a[3i-2,2j-1]e n df o re n df o r其相关方向向量为,可知行和列间同时存在数据相关。
在此我们可以试用行划分、列划分和方块划分.在行划分的情况下令m=┌n/p┐,例1的串行程序段可以转化为如下的并行程序段:f o r k=1t o P P a r-d of o r i1=1t o m d of o r j=1t o n d oa[3(k-1)m+3i1,2j]=a[3(k-1)m+3i1-2,2j-1]e n df o re n df o re n df o r例4 设A为一个n阶方阵,有如下串行程序段:f o r i=1t o n d of o r j=1t o n d oa[i,j]=a[i-1,j]e n df o re n df o r分析矩阵A的元素下标i和j,则i和j的相关方向向量为,各列之间数据无任何相关关系。
因此对矩阵A可按列划分。
串行程序段可转化为如下并行程序段:f o r k=1t o P P a r-d of o r j1=1t o m d of o r i=1t o n d oa[i,(k-1)m+j1]=a[i-1,(k-1)m+j1] e n d f o re n df o re n df o r例5注:本例无链路竞争和死锁现象例6 E立方选路0110(S)1101(D)1011(R)例7 DNS乘法示例C00=1×(-5)+2×7=9C01=1×(-6)+2×8=10C10=3×(-5)+4×7=13C11=3×(-6)+4×8=14例8 上三角方程组的回代解法并行化(1)SISD上的回代算法Begin(1)for i=n downto 1 do(1.1)x i=b i/a ii(1.2)for j=1 to i-1 dob j=b j-a ji x ia ji=0endforendforEnd(2)SIMD-CREW上的并行回代算法- 划分: p个处理器行循环带状划分- 算法Beginfor i=n downto 1 dox i=b i/a iifor all P j, where 1≤j≤p do for k=j to i-1 step p do b k=b k-a ki x ia ki=0endforendforendforEnd // p(n)=n, t(n)=n例9 n=8的BF网络表示P r,i与上层P r-1,i, P r-1,j相连, 这里j与i仅在第r位不同例10 一个在MPI中创建新通信域的例子M P I_C o m m M y W o r l d,S p l i t W o r l d;i n t m y_r a n k,g r o u p_s i z e,C o l o r,K e y;M P I_I n i t(&a r g c,&a r g v);M P I_C o m m_d u p(M P I_C O M M_W O R L D,&M y W o r l d);M P I_C o m m_r a n k(M y W o r l d,&m y_r a n k);M P I_C o m m_s i z e(M y W o r l d,&g r o u p_s i z e);C o l o r=m y_r a n k%3;K e y=m y_r a n k/3;M P I_C o m m_s p l i t(M y W o r l d,C o l o r,K e y,&S p l i t W o r l d);例11 考虑如下程序段:L1:f o r I=1t o50d o...S:X(2*I)=......T:...=...X(3*I+1)......e n df o r这里:f1(I)=2*I;g1(J)=3*J+1。
思考题及作业解答

思考题习题解答第1章 绪论( 思考题 )1–2 何为数字信号?何为模拟信号?答:如果电信号的参量仅可能取有限个值,则称之为数字信号。
如果电信号的参量取值连续(不可数、无穷多),则称之为模拟信号。
1–3 何为数字通信?数字通信有哪些优缺点?答:利用数字信号来传递信息的通信称之为数字通信。
数字通信的优点及缺点如下:优点:抗干扰能力强,且噪声不积累;传输差错可控;便于处理、变换、存储;便于将来自不同信源的信号综合到一起传输;易于集成,使通信设备微型化,重量轻;易于加密处理,且保密性好。
缺点:需要较大的传输带宽;对同步要求高。
1–9 按数字信号码元的排列顺序可分为哪两种通信方式?它们的适用场合及特点?答:按数字信号码元的排列顺序可分为并行传输和串行传输两种通信方式。
并行传输只适用于设备之间的近距离通信。
其优点是节省传输时间,速度快;不需要字符同步措施。
缺点是需要 n 条通信线路,成本高。
串行传输适用于远距离数字传输。
其优点是只需一条通信信道,节省线路铺设费用。
缺点是速度慢,需要外加码组或字符同步措施。
1–11 衡量数字通信系统有效性和可靠性的性能指标有哪些?答:衡量数字通信系统有效性的性能指标有:码元传输速率R B 、信息传输速率R b 、频带利用率η。
衡量数字通信系统可靠性的性能指标有:误码率P e 和误信(比特)率P b 。
1–12 何谓码元速率和信息速率?它们之间的关系如何?答:码元速率R B 是指单位时间(每秒)传送码元的数目,单位为波特(Baud ,B )。
信息速率R b 是指单位时间内传递的平均信息量或比特数,单位为比特/秒(b/s 或bps )。
码元速率和信息速率的关系: 或 其中 M 为M 进制(M =2 k ,k = 1, 2, 3, …)。
1–13 何谓误码率和误信率?它们之间的关系如何?答:误码率P e 是指错误接收的码元数在传输总码元数中所占的比例。
误信率P b 是指错误接收的比特数在传输总比特数中所占的比例。
并行计算的参考题目

并行计算的参考题目1、讨论某一种算法的可扩放性时,一般指什么?88答:讨论某一种算法的可扩放性时,实际上是指该算法针对某一特定机器结构的可扩放性2、使用“Do in Parallel”语句时,表示的是什么含义105答:表示算法的若干步要并行执行3、并行计算机的存储访问类型有哪几种?26答:存储访问类型有:UMA(均匀存储访问)、NUMA(非均匀存储访问)、COMA(全高速缓存存储访问)、CC-NUMA(高速缓存一致性非均匀存储访问)、NORMAl(非远程存储访问)4、什么是同步?它有什么作用?如何实现?107答:同步是在时间上强使各执行进程在某一点必须相互等待。
作用:确保个处理器的正确工作顺序以及对共享可写数据的正确访问(互斥访问)。
实现方法:用软件、硬件和固件的方法实现。
5 在并行加速比的计算中,常用的三种加速比定律分别是哪三种?(P83)答:常用的三种加速比定律分别是:适用于固定计算负载的Amdahl定律,适用于可扩放问题的Gustafson定律和受限于存储器的Sun和Ni定律。
6、试比较Amdahl定律、Gustafson定律、Sun和Ni定律三种加速定律的应用场合。
83 答:Amdahl定律适用于固定计算负载的问题Gustafson定律适用于可扩放性问题Sun和Ni定律适用于受限于存储器的问题。
7.并行算法的基本设计技术有哪些?它们的基本思想是什么?139答:(1)基本技术有:划分设计技术(又分为均匀划分技术、方根划分技术、对数划分技术和功能划分技术)、分治设计技术、平衡树设计技术、倍增设计技术、流水线设计技术等。
(2)基本思想分别如下:a.划分设计技术:(P139) 将一原始问题分成若干部分,然后各部分由相应的处理器同时执行。
b.分治设计技术:(P144)将一个大二复杂的问题分解成若干特性相同的子问题分而治之。
若所得的子问题规模仍嫌过大,可反复使用分治策略,直至很容易求解诸子问题为止。
并行计算习题答案

对于一颗K 级二叉树(根为0级,叶为k-1级),共有N=2^k-1个节点,当推行至m-元树时(即每一个非叶节点有m 个子节点)时,试写出总节点数N 的表达式。
答:推行至M 元树时,k 级M 元树总结点数N 的表达式为:N=1+m 1+m 2+...+m (k-1)=(1-m k )*1/(1-m);试构造一个N=64的立方环网络,并将其直径和节点度与N=64的超立方比较之,你的结论是什么?答: N=64的立方环网络,为4立方环(将4维超立方每一个极点以4面体替代取得),直径d=9,节点度n=4一个在p 个处置器上运行的并行程序加速比是p-1,依照Amdahl 定律,串行分量为多少? 答: p/(1+f(p-1))=p-1, f=1/(p-1)2假定开始时P i (1《i 《n)存有数据 d i ,所谓累加求和是指用∑=i j i d 1,来代替中的原始值d i ,算法给出了在PRAM 模型上累加求和算法。
Input: di are kept in Pi, whereOutput: replaces di in processor PiBeginfor j=0 to logn-1 dofor i=2j +1 to n par-do(i) di= d i + d i-2j(ii) Pi=diend forend forEnd(1)试用n=8为例子,依照上述算法慢慢计算出累加和。
(2)分析算法的时刻复杂度。
(1) 例:A={1,3,6,8,11,13} p=6;B={2,4,5,7,10,12,14} ,q=7p =3, q =3A={1,3,6*,8,11,13*}B={2,4,5*,7,10 ,12*,14},B ’={2,4,5,6*,7,10 12,13*,14}A11={1,3} , A12={8,11} , A13={} B11={2,4,5} , B12={7,10 12} , B13={14} A11={1,3*} , A12={8,11*} , B11={2,4*,5} , B12={7,10* , 12} ,B11’={2, 3* , 4,5} , B12’={7,10 , 11* , 12} ,A111={1},A112={} A121={8},A122={}B111={2},B112={4,5} B121={7,10 },B122={12}A111={1 *} A121={8 *}B111={2 *} B121={7,10 * }B111’={1 *,2 } B121’={7, 8 *,10 }3354 21 13 33 82 40 72A1111={}, A1112={} A1211={}, A1212={} B1111={}, B1111={} B1211={7}, A1212={}(1)pat = abaababa(m = 8)WIT[1] = 0,WIT[2] = 1,w=1,j=2,s=2-1+1=2 pat[w] = a pat[s]=b WIT[3] = 2,w=1,j=3,s=3-1+1=3 pat[w] = pat[s]=aw=2,j=3,s=3-1+2=4 pat[w] = b pat[s]=a WIT[4] = 4 w=1,j=4,s=4-1+1=4 pat[w] = pat[s]=aw=2,j=4,s=4-1+2=5 pat[w] = pat[s]=bw=3,j=4,s=4-1+3=6 pat[w] = pat[s]=aw=4,j=4,s=4-1+4=7 pat[w] = a pat[s]=b为非周期串(2)pat = abaabaaab(m = 9)WIT[1] = 0,WIT[2] =1 ,w=1,j=2,s=2-1+1=2 pat[w] = a pat[s]=b WIT[3] =2 ,w=1,j=3,s=3-1+1=3 pat[w] = a=pat[s]=aw=2,j=3,s=3-1+2=4 pat[w] = b pat[s]=a WIT[4] =5 w=1,j=4,s=4-1+1=4 pat[w] = pat[s]=aw=2,j=4,s=4-1+2=5 pat[w] =b=pat[s]=bw=3,j=4,s=4-1+3=6 pat[w] =a= pat[s]=aw=4,j=4,s=4-1+4=7 pat[w] = a= pat[s]=aw=5,j=4,s=4-1+5=8 pat[w] = b pat[s]=a WIT[5] =1 w=1,j=5,s=5-1+1=5 pat[w] =a pat[s]=b 非周期串(2)p=6,q=9j=q-p+1=9-6+1=4w=wit[j]=wit[4]=4T(q+w-1)=t(9+4-1)=b<>P(4)=awit[q]= wit[9]=w=4duel=p=6(2)请画出一个16输入的双调归并网络(2)给定序列(1,2,3,4,5,6,7,8 ),请求其前缀和((1)正向遍历B(0,1)=1, B(0,2)=2 B(0,3)=3 B(0,4)=4 B(0,5)=5 B(0,6)=6 B(0,7)=7 B(0,8)=8B(1,1)=2, B(1,2)=12, B(1,3)=30, B(1,4)=56, B(2,1)=24, B(2,1)=1680, B(3,1)=40320,C(3,1)C(2,1)C(2,2)C(1,1)C(1,2)C(1,3)C(1,4)C(0,1)C(0,2)C(0,3)C(0,4)C(0,5)C(0,6)C(0,7)C(0,8)(2)反向遍历C(0,1)=1, C(0,2)=2 C(0,3)=6 C(0,4)=24 C(0,5)=120 C(0,6)=720 C(0,7)=5040 C(0,8)=40320 说明:求和或乘积都可,那个地址是求乘积。
北邮分布式计算环境课堂作业答案及点评

分布计算环境作业一.通过生成进程来构建并发服务器与使用多线程来构建并发服务器相比有优点也有缺点,请分析这两种方式的优缺点。
你认为基于CORBA 实现的并发服务器是基于生成进程的方法,还是基于多线程的方法?为什么?并发服务器需要同时处理多个请求。
采用多进程:优点:1)处理各个请求的进程之间隔离性好。
缺点:1)创建/撤销处理各个请求的进程的代价大;2)分发器(主进程……)将请求发送到另一个进程的代价大(如果能说明为什么代价大更好);3)如果各个子进程间需要通信,代价大。
采用线程:优点:1)创建/撤销处理各个请求的线程的代价小;2)分发器(主线程……)将请求发送到另一个线程的代价小(如果能够说明为什么代价小更好);3)如果各个线程间需要通信,代价小。
缺点:1)一个线程出问题,可能会影响其他线程。
CORBA:使用多线程技术实现并发服务器。
因为如果采用多进程实现,有以下问题:1)服务器端要同时维护多个可被用户访问的CORBA对象,这些对象的数量常常会比较大,为每个服务对象起一个进程,进程数会比较大,系统开销过大;2)对于远程方法调用来说,请求的参数比较复杂,主进程将请求再发送给子进程,开销比较大;3)主进程、子进程都需要ORB的Runtime,进程启动/撤销的代价大;所以如果采用多进程的话实现并发CORBA服务器很困难。
主要问题:(一)针对性不够:a)直接罗列进程和线程的优缺点(二)理由不够充分:a)为支持高并发及高可用,所以多线程或多进程b)为支持稳定性和健壮性,所以多线程或多进程c)ORB拿到请求后要决定哪一个对象实例完成这个请求,送过去,这种工作过程类似于线程d)多线程更适合,代价低,所以e)因为ORB每拿到一个对象都会派生一个线程,所以f)事务控制,所以……g)CORBA要对稳定性隔离性要求较高,所以基于进程方式(三)没有弄清楚题目问的重点:a)CORBA支持远程调用,客户和服务器不在同一个位置,所以多进程(四)其它:a)服务对象由不同语言编写,不能在单一进程中b)因为POA有线程策略,那么如果你不知道POA的工作机制呢?c)多个伺服对象在不同位置,所以多进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式系统笫一章分布式系统概述1・一个有256个CPU的多计算机系统被组织成16X16的网格。
在最坏的情况尺-•条消息的传输延迟为多少?(以跳为单位) 假定路由是最优的.那么最长的优化(理想)路径是从网格的一・角到相对的•角,即沿着对角线的路径。
这个路径的长度是3()跳。
如果在单行或单列上的终端处理器是互联起來的,那么路径长度变成15^2・考虑一256个CPU的超立方休.在最坏的情况下,一个消息延迟是多少?(以跳为单位)对于256个CPU的超立方体,每个节点有一个二进制地址.范围从OOOOOO(M)到11111111•从一个机器到另一个的一•跳,耍改变二进制地址中的一位,因此地址从00000000变到00000001就是一跳,从00000001到0(X)00011又是另外一跳。
因此总共需耍八跳。
3・一个冬计算机系统有4096个50-MIPS的CPU,通过omega网络连接到内存。
为了使一个内存请求能在-•条指令的时间内到达内存并返回结果.转换的速度需要有影快?5O-MIPS=5纳秒.需耍【(4096的对数)=12】层开关.就有这么卷延迟•因为有来回.所以乘以2.转换速度就是5/24=0.208纳秒。
4 •一台试验文件服务器由于错误的原因.3/4的时间正常工作,1/4的时间由于故障停止工作。
为了达到99%的可用性,这一文件服务誥需耍复制多少次?设k是服务器的数则由题意知(l/4)k<0.01・这是最坏的情况.即所有的服务器都出故障的时间至名为1%的时间的情况。
这k = 4。
5 •假设有一个包含m个待编详文件的大源程序。
这个编译工作将在一个拥有!1个处理器的系统上进行.其中:n»m。
希望这种方法的速度嚴好达到单处理器的m倍。
哪些因素导致实际的速度达不到该值?答:可能由于总线容量限制从而引起总线过载,或者交换开关延时。
6・举例说明名核并行计算机的结构和性能计算方法。
(网上找的答案.参考)多核并行计算机的结构多核即在一・个单芯片上而集成两个捷至更多个处理器内核.其中每个内核都有自己的逻辑单元.控制单元.中断处理器、运算单元, -级cache.二级cache共享或独有.其部件的完整性和单核处理器内核相比完全一•致。
片上多核处理器(CMP)是将多个计算内核集成在一个片处埋器芯片中.从而提高计算能力。
每个微处理器核心实质上都是•个相对简单的单•线程微处理誥或者比较简单的冬线程微处理器. 这样多个效处理器核心就可以并行地执行程序代码.因而具有了较高的线程级并行性。
由于CMP采川了相对简单的微处理蛊作为处理器核心•使得CMP具有高主煉设计和验证周期短.控制逻辑简单、扩展性好.易于实现.功耗低.通信延迟低等优点。
此外.CHP还能充分利用不同应用的指令级并行和线程级并行,具有校高线程级并行性的应用町以很好地利用这种结构來提高性能。
按照内核的对等与否,CMP 可分为同构多核和异构多核。
计算内核相同,地位对等的称为''同构参核役同构CHP人务数山通用的处理器组成.零个处理器执行和同或者类似的任务。
计算内核不同,地位不对等的称为“异构多核”,异构多核多采用“主处理核+协处理核”的设计。
C5IP处理器山多个CPU核心组成.每个核心执行%自的程序代码.但是CMP处理器的冬CPU核心执行的程序之间耍进行数据共享和同步.所以硬件结构必须支持核间通信。
高效的通信机制是CHP处理器高性能的敢要保障•比较主流的片上高效通信机制有两种,一种是基于总线共享的cache结构,一种是基于片上的互连结构。
总线共cache结构是扌旨每个CPU内核拥有共享的二级或三级cache,用于保存比较常用的数据.并通过连接核心的总线进行通信。
这种系统的优点是结构简单,通信速度I淙缺点是基于总线的结构可扩展性较差。
基于片上互连的结构是指每个CPU核心具有独立的处理单元和cache,各个CPU核心通过交叉开关或片上网络等方式连接在-•起。
各个CPU 核心间通过消息通信。
这种结构的优点是可扩展性好,数据带宽有保证,缺点是硕件结构复杂•且软件改动较大。
性能计算方法以下6种性能爲求是用户经常提到的:执行时间.运行速隊吞吐率.利用率.成本有效性以及性能/成本比。
1) 运行»:运行速度是衡虽计算机性能的-项币雯指标。
通常所说的计算机运算速度(平均运算速度).是指毎秒钟所能执行的描令条数.-般用“百万条指令/秒"(mips, Million Instruction Per Second)来描述。
同一台计算机.执行不同的运算所需时间可能不同•【大M对运算速度的描述常采用不同的方法。
常用的有CPU时钟频率(丄频入每秒T•均执行折令数(ips)等。
2) 执行时间:等于从并行程序开始执行到所有进程执行完毕,瞄上时钟走过的时间,也称为谱上时间((wall clock time wall clock time).对客个进程,增上时间可进••步分解为计算进涉分解为计算CPU时间.通偃CPU.同步开销时间.同步解的进程空闲时间。
3) 吞吐率:吞吐率定义为在单位时间内所处理的作业数。
如果每次只执行一个作业,那么吞吐率就是执行时何的(御数。
当有多个作业彼同时执行时.常使用吞吐率来农示系统的性能。
4) 利川率:可茨示为计算机可达到速度与峰值速度之比。
5) 成本有效性:农示成本有效性的合适指标是利用率因子(或简称利川率),其可用利用率农达式,即农示为一个给定计算机可达到速度与峰值速度之比。
6) 性能/成木比:所获得的性能与所消耗费用之比。
性能可以川所获得的计并机达到放大速度表示。
第二章分布式系统中的通信机制1・如果一个客户/服务器系统的通信原语是非阻塞的,在消息实际彼发送之前发送.对send的调川已完成。
为了减少开销• 一些系统不拷贝数据到内核,而是直接从川户空间发送。
对于这样的系统,诸设计两种方案.发送者能知道传输己经完成•可以遥新使用缓冲区。
第-•种方法是内核将消息拷贝到内部缓冲区,其后允许进程继续执行。
第二种方法是当消息被发送后•中断发送者并通知它缓冲区可用.这里不需耍备分,节省了时间。
2・在许多通信系统中,调用send 个计数器,以保证当服务器削溃时客户机不会永久彼挂起。
假设一容错系统,所有的客八机和服务器都用多处理机方式实现.那么客户机或服务器谢溃的概率儿乎等于寥。
你认为在这样的系统中能安全地避免超时吗?不安全。
因为在客户机和眼务器的通信过程中,并不仅仅由于客户机或服务器崩溃,从而引起信息的丢失,系统的瘫痪。
在信息传输网络中也可能引起信息的丢失。
而超时机制能够無决这个问题。
3. 解释RPC的工作原理和参数传递方法。
僻释何为异步RPC。
客户机器上的进程调用远程过程时,通过客户存根将参数传递到服务器,然后阻塞"C直到收到响应。
服务器上的服务器存根使用这些参数调用本地的过程,得出结果后再传递冋客户机器客户存根捉取结果后以通常的方式返冋。
从客户的角度看,该过程和木地调用具有相同的形式,是透明的。
参数传递方法有传递值参数和传递引川参数。
在异步RPC中,服务器接收到客户发送的RPC请求后立即向客户送回应冷Z后再调川客户请求的过程.客户收到确认消息麻继续向下执行,只是在服务器将结果传递回来时发生一个中断。
4・当一组计算机组成一个逻辑环时,如何确保传输延迟不小于允许的嵌小端到端延迟时间?这比确保传输延迟不大于最大端到端延迟时间还耍闲难,因为在理论上,接收端必须在…段时间后再接收数据。
唯-的解决办法是,将数据包在缓冲区中存放必要的时何。
这种暂存的行为可以山发送方.接收方•或者传输中的某个结点来完成.比如中间姑。
而最好的存放地是接收方,因为这时对数据传输來说己经没有未知的阳碍「接收方只需耍把数据从缓冲区转移到使川一个简爪定时机构的应用程序。
这种方法的缺点是必须耍有足够的缓存空间。
5・设计一•个使川RFC的简单客户•服务器系统。
服务器提供一个名为next的过程,该过程接受一个整形数作为输入.并且返回紧接若该整型数Z后的-个数。
编写一个客户使用的名为next 的存根•它的任务是使用UDP将参敎发送给服务器.随后等待报务猱响应.如果过长时何未收到响应就认为超时了。
服务器过程必须在一个公开的端口监听并接受请求.完成这些请求所耍求的操作.然后送回结果。
第三章进程1・比较川单线程文件服务器读文件与用名线程文件服务器读取一个文件的不同Z处。
如果要求的数据在缓存中,收到任务请求.分配这个工作•并作和应的处理总共需要15rm的时间。
如果耍进行磁盘操作•进行读写需要占用1/3的时间,则需耍多使用75叫在磁盘操作期间.线程休眠。
请分别计算单线程文件服务器和多线程文件般务器每秒各能处理多少条请求?单线程文件服务很的情况下,缓存命中时需耍15ms,没有命中时需婆90加・加权平均等于2/3・15 + 1/3 • 90=40(ms).因此平均请求处理时间是40ms. H服务誥每秒钟可以处理25条请求。
对于多线程取务器.等待磁盘是重磴的.所以每个请求的处理时间是15ms.服务器每秒钟能处理1000/(15*2/3)=100条请求。
2. 如果两个用戶同时检査注册表.他们很可能会选中同一台空闲工作站.如何改进算法用來避免这种竞争问题?当-•个用户启动romotc命令运行进程的时候• remote程序应能检査空闲工作站.如果工作站仍然空闲.这个工作站就将自己从注册表中删除并标志一•个正在运行的记号.这样可避免同时选中同一台空闲工作站的竞争问题。
3. 以处理机1为基准处理器•计算图4・15 (13)的响应率。
如何分配进程•以使平均响应率最小低?进程A在处理器1运行需要10s.在处理濡2运行要6s进程B在处理器1运行需耍30s・在处理器2运行耍8s以处理器1为基准处理器:A在1上运行,B在2上运行,则平均响应率为(10/128/30)/2=19/30若A在2上运行,B在1上运行,则平均响应率为(6/10+30/30) /2=24/30若AB都在1上运行则平均响应率为(10/1X30/30) 72=1若AB都在2上运行则平均响应率为(6.110-8/30X2= 13/3013/30最小,所以进程AB都应该在处理机2上执行4. 在图4-17 (15) 我们讨论了两种不同的分配算法,它们的网络通信虽也不相同。
还仔其它更好的分配方案吗?假定每台处理器最多可以运行4个进程。
(A)JBEGH),(CDFI)或者(AGEB) (FH)(CDI)可以有冬种分配方案5. 当某个分布式系统过拔时,系统进行m个尝试.以寻找一台空闲的工作站來减轻其负载。
一台工作站有k个进程的概率符介泊松分布:P (K) = (Z k e A) /K!计算过载工作站在m次请求内能够找到空闲工作站的概率。