高级操作系统讲义d.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 任务分配与负载平衡 6.1 任务分配 (task allocation) 若干个模块构成一个任务,一个任务是单一的处理实体。 任务分解:把一个提交的任务划分成若干个独立的,具有最小IMC的模型。 IMC:每对模块间的数据传递。 IPC:处理机间的通信。 任务划分:粒度大,降低并行度,粒度小,进程切换和通信的开销就会增加。 划分方法: 水平或垂直划分:在给定的任务优先图中水平或垂直划分。关键路径(最长路径) 通信延迟最小划分:把通信频繁的节点归成一类。 任务复制:在各个处理机节点上复制任务来降低通信开销。 任务分配:把这些模块分配给处理机,使得它们由于处理机 间的通信引起的开销最小。 一般算法假设: 存储容量无限 每个处理机节点有相同的处理能力 忽略网络拥塞 CPU的利用率最大化,平均响应时间最小化 基于图论的分配策略 1程序设计策略 合一 ---- 阈值 启发式分配算法 进化算法(演化) 遗传算法求解方法 1 编码方法(Encoding) 用一个n+1位的二进制串来表示。 00000 11111 2 初始化群体 用过程Initialize来实现,方法是随机生成初始化的串群体。在 串群体中,串长度都是相同的,串长为需要分配的文件数。群 体的大小根据需要(要求的分配时间等),按经验或实验给出。 分布均匀的二进制串能使算法更加有效。 3 选择 (Selection) 借用达尔文的生物进化论中的自然选择(Natural Selection)思想, 按照“适者生存”的原则对串进行复制。用适应度函数计算每 个串的适应值,选择适应值高的串,生成下一代,去掉适应值差的串。 4 交叉 (Crossover) 交叉是两个串按照一定的概率 (交叉概率Pc)从某一位开始逐位 互换。这里先在串群体中,随机 的选择两个串,成为一对串, 变成多对串后,对每对串随机的 选择一个交叉点,例如串长为 n+1,则可选择一整数i,0≤i ≤n,i为交叉点,对两个串从 第0位到第i位进行互换,形成两个新串。是否发生交叉操作, 还要受交叉概率的控制,选择好一对串后,在0、1之间产生 一个随机数,若 该随机数大于Pc则发生交叉,否则保持原状。Pc也是根据经验 或实验确定,一般可为0.5左右。 0101 1110 0111 1111 1011 1101 1010 0101 1011 1101 1011 1111 1110 0111 5 突变 (Mutation) 二进制串的某一位按照一定的概 率(突变概率Pm)发生反转, 0变1,1变0。这里Pm较小, Pm可小于0.001. 6 适应度函数(Fitness Function) 这里我们用Evaluation过程来 实现。 7 停止条件 可以是以下几种或其组合: 规定进化代数,也就是最大 迭代次数。 群体中某个解的适应值达到 某一预先规定的范围内。 连续若干代,群体中的个体 不再变化。 8 相应的遗传算法描述 Procedure GA Program Begin Initialize; Evaluation; While (not termination-condition) do Begin Selection; Crossover; Mutation; Evaluation End End. 方法有以下几个优点: 具有一定的规律和随机性,不 确定性。为了处理这种特性 引入了概率分析。 (2) 适用于变化的环境。 能得到多个解,即可得到多 个分配方案可供选择。 算法具有良好的并行性,进化 过程中的群体是一个可行解 的集合。适合于并行计算。 6.2 负载平衡 负载 CPU队列的长度(比如进程的数目) 某段时间内CPU队列的平均长度 可用内存的大小 上下文切换的速率 系统调用的速率 CPU的利用率 对系统中的负载情况进行动态调 整,以尽量消除或减少系统中 个场点负载不均匀的现象。 由于任务到达的随机性,各节点处理能力上的差异,当系统运行一段时间后,就会出现某些节点上还有很多任务没有完成,而另外一些节点处于空闲。 目的: 发挥系统冗余资源 提高资源利用率 防止软件并行性和硬件并行性之间失配 负载平衡算法分类: 局部和全局 静态和动态 动态的算法增加了系统的调度开销。 动态的算法适应了应用程序可变化、可伸缩等特点的需要,静态的算法由于在编译时可以完成调度,对于大型应用程序的性能提高也起着一定的作用。可以结合使用。 最优和次优 近似和

文档评论(0)

克拉钻 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档