分布与并行计算思考题答案整理docx.docx
《分布与并行计算思考题答案整理docx.docx》由会员分享,可在线阅读,更多相关《分布与并行计算思考题答案整理docx.docx(25页珍藏版)》请在冰豆网上搜索。
分布与并行计算思考题答案整理docx
分布式系统
笫一章分布式系统概述
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,MillionInstructionPerSecond)来描述。
同一台计算机.执行不同的运算所需时间可能不同•【大M对运算速度的描述常采用不同的方法。
常用的有CPU时钟频率(丄频入每秒T•均执行折令数(ips)等。
2)执行时间:
等于从并行程序开始执行到所有进程执行完毕,瞄上时钟走过的时间,也称为谱上时间((wallclocktimewallclocktime).对客个进程,增上时间可进••步分解为计算进涉分解为计算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/30
13/30最小,所以进程AB都应该在处理机2上执行
4.在图4-17(15)我们讨论了两种不同的分配算法,它们的网络通信虽也不相同。
还仔其它更好的分配方案吗?
假定每台处理器最多可以运行4个进程。
(A)JBEGH),(CDFI)或者(AGEB)(FH)(CDI)可以有冬种分配方案
5.当某个分布式系统过拔时,系统进行m个尝试.以寻找一台空闲的工作站來减轻其负载。
一台工作站有k个进程的概率符介泊松分布:
P(K)=(ZkeA)/K!
计算过载工作站在m次请求内能够找到空闲工作站的概率。
(即K=0)计算在m=3・兄=时的结果。
(纯概率问题)卜U-P(0)]•
6.解释对象适配•器的概念飞.
对象适配器是丄种将对象根据策略进行分组的机制。
是用來实现对彖激活锹的组件。
7•解释移动Agent的概念
移动Agent(MobileAgent,MA)是代码、数据以及执行环境的软件包,它可以在执行过程中,有目的地、自治地在网络中移纵利川分布式资源以及与相应资源的局部交互來完成特定的任务。
8•済设讣一个简单的名线程服务器,支持目询常用的协议。
•个相关的简单设计是用一个单线程T筹待接收传输消息(TPDUs,传输协议数据单元)。
如果我们假设毎个TPDU的头部都包含了个标志了更高层协议的数字,这个线程可以将负载传送到对应协议的模块进行处理。
毎个这样的模块都有一个单独的线程处于空闲等待状态,将这种负载看成足传入的请求,处理完请求之后,再将一个响应消息传给T,这个消息披包在一个传输层消息里,然后传到适当的目的地。
第四章命名
1•解释“名称