11-第十一章-并行程序的性能优化-并行计算实践(共11章)介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中任务调度的分类 1. 静态调度、动态调度和混合调度
静态调度(Static Scheduling)是指在并行程序编译时,就 决定每个任务的执行处理器及执行时序,它经常用于任务图比较 确定的情况下。 动态调度(Dynamic Scheduling)则是在并行程序运行过程 中,根据当前任务调度及系统执行情况,临时决定每个任务的执 行处理器及起始执行时刻。 混合调度(Hybrid Scheduling)是介于静态调度和动态调度 两者之间的调度方法,它在编译时先静态调度部分任务,而剩余 部分则采用动态调度方法在系统运行过程中来给它们分配处理器。
并 行 计 算
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥)
2003年9月
国家高性能计算中心(合肥)
任务调度的概念
调度问题的一般模型
构成调度问题的基本元素:即资源集、消费者集及这些资源为 这些消费者服务所依据的一定规则。 调度问题就是在满足资源集和消费者集约束条件的基础上, 设计一个有效的调度系统来管理消费者如何高效地使用这些资 源,并使得一些系统性能指标达到最优或近似最优
3. 共享存储结构调度和分布存储结构调度
共享存储 :不考虑通信延迟,任务调度的着重点在于如何最 大限度地获得并行程序任务间的并行性。 分布存储 :务调度时,通信延迟的存在使得任务调度更为复 杂,需尽可能利用各任务之间的并行性和尽量减少通信开销之间 进行折衷。
国家高性能计算中心(合肥)
任务调度的概念
国家高性能计算中心(合肥)
任务调度的概念
并行计算中任务调度的分类 5. 抢占式调度和非抢占式调度
抢占式调度有时也称为联合调度 。 自适应调度(Adaptive Scheduling):根据调度程序在以前 一段时间内的执行效果,以及当前系统状态信息(主要包括系统 资源和任务负载情况)自动修正调度程序的执行机制,由于它们 是通过收集当前系统状态信息来动态修正调度策略,所以一般都 是动态的。 非自适应调度(Non-adaptive Scheduling):一旦确定任务 调度算法的调度策略,那么在并行程序执行过程中就固定地按照 这些调度策略来进行任务调度,即使某些不确定因素(如动态产 生的任务)使得调度效率比较底,那么也必须等到非执行状态 时,再来修正调度策略。
消费者集 (并行应用程序) 调度程序 策略 规则 资源集 (并行分布系统)
调度问题的一般模型
国家高性能计算中心(合肥)
任务调度的概念
调度问题的一般模型
调度性能和调度效率是评价一个调度系统优劣程度 的两个方面。 调度性能(Scheduling Performance)通过性能 测试指标的取值来反映,它直接体现了调度结果的好坏。 调度效率(Scheduling Efficiency)主要指调度 系统本身的复杂度 .
国家高性能计算中心(合肥)
6. 自适应调度和非自适应调度
任务调度的概念
并行计算中任务调度的模型
1. 应用程序任务 一个并行应用程序的性质可用(A,﹤,D,W)来刻画,其中 A={ak|k=1,2,…,n}为任务集;D={dij|i,j=1,2,…,n}是一个n×n的通 信矩阵,dij(≥0)表示任务ai传送给任务aj的数据量; W={w(ai)},其中w(ai)表示任务ai的工作负载大小,在同构的并行 分布系统中,由于每个节点的计算能力(包括运算速度、内存大 小等)相同,所以也可以直接用w(ai)来表示任务ai的执行成本, 而在异构的并行分布计算环境下,相同负载在不同节点上的执行 成本是不相同的;“﹤”定义了任务间的偏序(Partial Ordering) 关系,“ai﹤aj”表示任务aj的执行依赖于任务ai的执行。
应时间、最大的资源利用率或最大的系统吞吐率等。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中的任务调度 2. 任务调度与任务划分
一般说来,在分布系统中一组任务相互间发生关系的方式有 多种多样,其中有一种是通信关系,在此情况下,如果两个任务 被分配到不同的处理器上,那么就产生以通信成本形式表示的通 信开销(Communication Overhead),反之,如果两个任务被分 配到相同的处理器上,那么就不产生任何通信开销,这种特殊的 任务调度我们称作任务划分(Task Partitioning)。 对于任务划分,我们通常用任务作用图TIG(Task Interaction Graph)来表示并行应用程序模型 对于任务调度,通常用带权有向图(Weighted Direct Graph)来表示并行程序模型 。
并行计算中任务调度的分类 4. 集中式调度和分布式调度
集中式调度 :由一个叫作中心调度器的处理器来收集全局调 度信息,其它处理器把它们的状态信息传送给中心调度器,并由 中心调度器作出调度决定。优点在于实现比较简单,但在节点数 较多的大规模并行分布系统中,由于各节点与调度服务器的通信 成为瓶颈,调度开销比较大。 分布式调度 :由各自处理单元的调度程序根据局部范围内的 一些调度信息来进行任务调度,优点在于具有良好的可扩放性 (Scalability)。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中任务调度的分类 2. 最优调度和启发式调度
最优调度一般是指静态调度,如果一个调度算法能在多项式 复杂度的时间内获得最佳调度结果,那么称之为有效的最优调度 算法。 经常采用启发式任务调度方法来把各任务调度分配到各处理 器上,它虽然不能确保获得最优解,但可以获得最优调度的近似 解。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中的任务调度
并行分布计算中的任务调度问题就是根据一定的调度规则和 调度策略,把组成并行程序的一组任务或构成工作负载的一组作 业,按照一定执行时序分配到并行分布系统的多个计算节点上, 以期取得较好的系统执行性能。
1. 百度文库务调度与作业调度
任务层调度针对某个用户的构成单一并行应用程序的一组任 务(子任务),面向的一般是单应用程序系统,它的调度实体是 任务,调度目标一般就是求得某个作业最短的执行时间。 作业层调度针对若干个用户的多个并行应用程序构成的一组 作业 ,面向的一般是多应用程序系统,它的调度实体是传统批处 理意义下的作业,调度目标有很多,如最短的平均作业响
任务调度的概念
并行计算中任务调度的分类 1. 静态调度、动态调度和混合调度
静态调度(Static Scheduling)是指在并行程序编译时,就 决定每个任务的执行处理器及执行时序,它经常用于任务图比较 确定的情况下。 动态调度(Dynamic Scheduling)则是在并行程序运行过程 中,根据当前任务调度及系统执行情况,临时决定每个任务的执 行处理器及起始执行时刻。 混合调度(Hybrid Scheduling)是介于静态调度和动态调度 两者之间的调度方法,它在编译时先静态调度部分任务,而剩余 部分则采用动态调度方法在系统运行过程中来给它们分配处理器。
并 行 计 算
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥)
2003年9月
国家高性能计算中心(合肥)
任务调度的概念
调度问题的一般模型
构成调度问题的基本元素:即资源集、消费者集及这些资源为 这些消费者服务所依据的一定规则。 调度问题就是在满足资源集和消费者集约束条件的基础上, 设计一个有效的调度系统来管理消费者如何高效地使用这些资 源,并使得一些系统性能指标达到最优或近似最优
3. 共享存储结构调度和分布存储结构调度
共享存储 :不考虑通信延迟,任务调度的着重点在于如何最 大限度地获得并行程序任务间的并行性。 分布存储 :务调度时,通信延迟的存在使得任务调度更为复 杂,需尽可能利用各任务之间的并行性和尽量减少通信开销之间 进行折衷。
国家高性能计算中心(合肥)
任务调度的概念
国家高性能计算中心(合肥)
任务调度的概念
并行计算中任务调度的分类 5. 抢占式调度和非抢占式调度
抢占式调度有时也称为联合调度 。 自适应调度(Adaptive Scheduling):根据调度程序在以前 一段时间内的执行效果,以及当前系统状态信息(主要包括系统 资源和任务负载情况)自动修正调度程序的执行机制,由于它们 是通过收集当前系统状态信息来动态修正调度策略,所以一般都 是动态的。 非自适应调度(Non-adaptive Scheduling):一旦确定任务 调度算法的调度策略,那么在并行程序执行过程中就固定地按照 这些调度策略来进行任务调度,即使某些不确定因素(如动态产 生的任务)使得调度效率比较底,那么也必须等到非执行状态 时,再来修正调度策略。
消费者集 (并行应用程序) 调度程序 策略 规则 资源集 (并行分布系统)
调度问题的一般模型
国家高性能计算中心(合肥)
任务调度的概念
调度问题的一般模型
调度性能和调度效率是评价一个调度系统优劣程度 的两个方面。 调度性能(Scheduling Performance)通过性能 测试指标的取值来反映,它直接体现了调度结果的好坏。 调度效率(Scheduling Efficiency)主要指调度 系统本身的复杂度 .
国家高性能计算中心(合肥)
6. 自适应调度和非自适应调度
任务调度的概念
并行计算中任务调度的模型
1. 应用程序任务 一个并行应用程序的性质可用(A,﹤,D,W)来刻画,其中 A={ak|k=1,2,…,n}为任务集;D={dij|i,j=1,2,…,n}是一个n×n的通 信矩阵,dij(≥0)表示任务ai传送给任务aj的数据量; W={w(ai)},其中w(ai)表示任务ai的工作负载大小,在同构的并行 分布系统中,由于每个节点的计算能力(包括运算速度、内存大 小等)相同,所以也可以直接用w(ai)来表示任务ai的执行成本, 而在异构的并行分布计算环境下,相同负载在不同节点上的执行 成本是不相同的;“﹤”定义了任务间的偏序(Partial Ordering) 关系,“ai﹤aj”表示任务aj的执行依赖于任务ai的执行。
应时间、最大的资源利用率或最大的系统吞吐率等。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中的任务调度 2. 任务调度与任务划分
一般说来,在分布系统中一组任务相互间发生关系的方式有 多种多样,其中有一种是通信关系,在此情况下,如果两个任务 被分配到不同的处理器上,那么就产生以通信成本形式表示的通 信开销(Communication Overhead),反之,如果两个任务被分 配到相同的处理器上,那么就不产生任何通信开销,这种特殊的 任务调度我们称作任务划分(Task Partitioning)。 对于任务划分,我们通常用任务作用图TIG(Task Interaction Graph)来表示并行应用程序模型 对于任务调度,通常用带权有向图(Weighted Direct Graph)来表示并行程序模型 。
并行计算中任务调度的分类 4. 集中式调度和分布式调度
集中式调度 :由一个叫作中心调度器的处理器来收集全局调 度信息,其它处理器把它们的状态信息传送给中心调度器,并由 中心调度器作出调度决定。优点在于实现比较简单,但在节点数 较多的大规模并行分布系统中,由于各节点与调度服务器的通信 成为瓶颈,调度开销比较大。 分布式调度 :由各自处理单元的调度程序根据局部范围内的 一些调度信息来进行任务调度,优点在于具有良好的可扩放性 (Scalability)。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中任务调度的分类 2. 最优调度和启发式调度
最优调度一般是指静态调度,如果一个调度算法能在多项式 复杂度的时间内获得最佳调度结果,那么称之为有效的最优调度 算法。 经常采用启发式任务调度方法来把各任务调度分配到各处理 器上,它虽然不能确保获得最优解,但可以获得最优调度的近似 解。
国家高性能计算中心(合肥)
任务调度的概念
并行计算中的任务调度
并行分布计算中的任务调度问题就是根据一定的调度规则和 调度策略,把组成并行程序的一组任务或构成工作负载的一组作 业,按照一定执行时序分配到并行分布系统的多个计算节点上, 以期取得较好的系统执行性能。
1. 百度文库务调度与作业调度
任务层调度针对某个用户的构成单一并行应用程序的一组任 务(子任务),面向的一般是单应用程序系统,它的调度实体是 任务,调度目标一般就是求得某个作业最短的执行时间。 作业层调度针对若干个用户的多个并行应用程序构成的一组 作业 ,面向的一般是多应用程序系统,它的调度实体是传统批处 理意义下的作业,调度目标有很多,如最短的平均作业响