b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

工程技术中心的目标_国家高性能计算机工程技术研究中心_山东工程技术研究中心(6)

电脑杂谈  发布时间:2017-01-14 02:00:49  来源:网络整理

不过,无论网络拓扑结构如何,高性能计算机节点间通信对于用户是透明的。其通信模式无外乎以下4种:

● 单播(Unicast):一个源节点到一个目的节点;

● 多播(Multicast):一个源节点到多个目的节点;

● 广播(Broadcast):一个源节点到全体节点;

● 会议(Conference):多个源节点到一个目的节点。

任务粒度划分

在很多情况下,对于一个给定的并发程序,并不是增加更多的处理节点就可以获得更多的性能,因为随着节点数目的增加,节点间通信开销、同步的开销等都会增加。因此为了提高整个系统的性能,需要在任务通信时做以下几点的均衡考虑:

● 所需处理节点的数目;

● 执行任务模块或划分的数目(如是否将一些小规模的任务组合在一起串行执行);

● 系统通信开销。

而对这些诸多因素的权衡分析就是通过对任务粒度(task granularity)的分析而得到的。一个比较通用的任务粒度的定义如下:

式中G是任务粒度,R代表程序执行的时间,C是以通信时延为主的额外开销。G越小则粒度越细,数据流计算中的程序指令就是一个细粒度的典型例子;另一方面,如果G越大则粒度越粗大,其典型的例子有任务的子程序、函数等。通常的细粒度的任务并行度高,但是通信开销大;粗粒度任务的并行度低,但通信开销小。

为了最大限度发挥高性能计算机的并行度,我们往往把减小系统通信延时作为任务划分的依据,即将一些任务划分到一个节点上串行执行,使得通信延时的减小效果超过串行执行对性能的影响。

静态调度与负载平衡

为了进一步减小并发程序的执行时间,在使用高性能计算机时往往要对所执行的任务做一定的调度。调度主要分为静态调度和动态负载平衡两种。静态调度主要是通过预先划分任务,减小节点间的通信开销,以达到提升系统性能的作用;而动态的负载平衡则是充分利用运行时节点与节点的通信,交互必要的系统信息,以提高整个系统的吞吐量。

对于静态调度,通常在程序编译阶段预测程序的执行时间与通信延时,并将小的任务汇集为较粗粒度(coarser-grain)的任务。这种调度主要分为完全优化(optimal)和部分优化(suboptimal)两大类。其中完全优化方案一般属于NP问题,只有当给定某些限制时才能进行完全优化的求解。由于完全优化方案的复杂性问题,大部分研究工作都是集中在部分优化方案上,即求得一个“较优”解(或可以接受的解)。部分优化方案的求解主要由近似式(approximate)和启发式(Heuristic)两种方法构成,其中包括模拟退火、线性或非线性规划、状态空间搜索等技术。不过它也存在很多缺点,如缺乏对任务执行和通信延时的有效预测,忽略对异地数据存取时带来的通信延时。

为了弥补这些缺点,目前对高性能计算机的执行时间预测器(execution time estimation)的研究广泛开展,如对用户预测、模拟预测和基于Profile预测的研究。

负载平衡技术在编译阶段不需要知道程序在运行时的任何信息,相反,它主要依靠系统运行时各处理节点的信息做出相应的决策。负载平衡将任务以动态启发式的方式在处理节点间分布,以达到减小总的执行时间、最大化系统吞吐量或最大化系统利用率等为目标。负载平衡强调适量的信息在节点间的有效通信,主要分为静态(static)和自适应(adaptive)两大类。通常认为随机放置(Random)和节点轮询(Round Robin)策略属于典型的静态负载平衡。而自适应性负载平衡通过集中的或分布式的通信,使用一个或多个阈值(threshold),即在系统参数到达阈值前后使用不同的策略。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26149-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...