Ⅰ 怎么优化hadoop任务调度算法
首先介绍了Hadoop平台下作业的分布式运行机制,然后对Hadoop平台自带的4种任务调度器做分析和比较,最后在分析JobTracker类文件的基础上指出了创建自定义任务调度器所需完成的工作。
首先Hadoop集群式基于单服务器的,只有一个服务器节点负责调度整个集群的作业运行,主要的具体工作是切分大数据量的作业,指定哪些Worker节点做Map工作、哪些Worker节点做Rece工作、与Worker节点通信并接受其心跳信号、作为用户的访问入口等等。其次,集群中的每个Worker节点相当于一个器官,运行着主节点所指派的具体作业。这些节点会被分为两种类型,一种是接收分块之后的作业并做映射工作。另一种是负责把前面所做的映射工作按照约定的规则做一个统计。
Task-Tracker通过运行一个简单循环来定期地发送心跳信号(heartbeat)给JobTracker.这个心跳信号会把TaskTracker是否还在存活告知JobTracker,TaskTracker通过信号指明自己是否已经准备
好运行新的任务.一旦TaskTracker已经准备好接受任务,JobTracker就会从作业优先级表中选定一个作业并分配下去.至于到底是执行Map任务还是Rece任务,是由TaskTracker的任务槽所决定的.默认的任务调度器在处理Rece任务之前,会优先填满空闲的Map任务槽.因此,如果TaskTracker满足存在至少一个空闲任务槽时,JobTracker会为它分配Map任务,否则为它选择一个Rece任务.TaskTracker在运行任务的时候,第一步是从共享文件系统中把作业的JAR文件复制过来,从而实现任务文件的本地化.第二步是TaskTracker为任务新建一个本地文件夹并把作业文件解压在此目录中.第三步是由Task-Tracker新建一个TaskRunner实例来运行该任务.
Hadoop平台默认的调度方案就是JobQueueTaskScheler,这是一种按照任务到来的时间先后顺序而执行的调度策略.这种方式比较简单,JobTracker作为主控节点,仅仅是依照作业到来的先后顺序而选择将要执行的作业.当然,这有一定的缺陷,由于Hadoop平台是默认将作业运行在整个集群上的,那么如果一个耗时非常大的作业进入执行期,将会导致其余大量作业长时间得不到运行.这种长时间运行的优先级别并不高的作业带来了严重的作业阻塞,使得整个平台的运行效率处在较低的水平.Hadoop平台对这种FIFO(FirstINAndFirstOut)机制所给出的解决办法是调用SetJobPriority()方法,通过设置作业的权重级别来做平衡调度.
FairScheler是一种“公平”调度器,它的目标是让每个用户能够公平地共享Hadoop集群计算能力.当只有一个作业运行的时候,它会得到整个集群的资源.随着提交到作业表中作业的增多,Hadoop平台会把集群中空闲出来的时间槽公平分配给每个需要执行的作业.这样即便其中某些作业需要较长时间运行,平台仍然有能力让那些短作业在合理时间内完成[3].FairScheler支持资源抢占,当一个资源池在一定时段内没有得到公平共享时,它会终止该资源池所获得的过多的资源,同时把这些释放的资源让给那些资源不足的资源池.
Hadoop平台中的CapacityScheler是由Yahoo贡献的,在调度器上,设置了三种粒度的对象:queue,job,task.在该策略下,平台可以有多个作业队列,每个作业队列经提交后,都会获得一定数量的TaskTracker资源.具体调度流程如下.
(1)选择queue,根据资源库的使用情况从小到大排序,直到找到一个合适的job.
(2)选择job,在当前所选定的queue中,按照作业提交的时间先后以及作业的权重优先级别进行排序,选择合适的job.当然,在job选择时还需要考虑所选作业是否超出目前现有的资源上限,以及资源池中的内存是否够该job的task用等因素.
(3)选择task,根据本地节点的资源使用情况来选择合适的task.
虽然Hadoop平台自带了几种调度器,但是上述3种调度方案很难满足公司复杂的应用需求.因此作为平台的个性化使用者,往往需要开发自己的调度器.Hadoop的调度器是在JobTracker中加载和调用的,因此开发一个自定义的调度器就必须搞清楚JobTracker类文件的内部机制.作为Hadoop平台的核心组件,JobTracker监控着整个集群的作业运行情况并对资源进行管理调度.每个Task-Tracker每隔3s通过heartbeat向JobTracker汇报自己管理的机器的一些基本信息,包括内存使用量、内存的剩余量以及空闲的slot数目等等[5].一
旦JobTracker发现了空闲slot,便会调用调度器中的AssignTask方法为该TaskTracker分配task。
Ⅱ 如何优化策略降低系统能耗
针对云计算系统在运行过程中由于计算节点空闲而产生大量空闲能耗,以及由于不匹配任务调度而产生大量“奢侈”能耗的能耗浪费问题,本文提出一种通过任务调度方式的能耗优化管理方法。
高能耗是云计算系统最为严重的问题之一
云计算系统中,除了处理任务时产生的必要能耗开销,其运行过程中还存在能耗浪费的现象
解决方案
用排队模型对云计算系统进行建模,分析云计算系统的平均响应时间和平均功率,建立云计算系统的能耗模型;
提出基于大服务强度和小执行能耗的任务调度策略,分别针对空闲能耗和“奢侈”能耗进行优化控制。基于该调度策略,设计满足性能约束的最小期望执行能耗调度算法ME3PC (minimum expectation execution energy with performance constraints).
结果
大量实验表明,本文提出的能耗优化管理方法在保证其性能的前提下,大幅度降低了云计算系统的能耗
下一步工作
将研究在给定和真实的云计算系统体系结构下,如何根据任务到达率的大小和分布规律,决策系统中应该处于运行状态的计算机个扮胡数,结合关闭/休眠技术和电压动态调整技术,进一步对云计算系统的能耗进行优化控制,并且将研究的理论成果在实际云平台上进行评测,以验证其正确性
能耗
能耗分类
空闲能耗:由于计算任务达到的随机性,使得单位时间内到达的任务量时而稀疏,时而密集,而现有的云计算系统通常是长时间处于开启状态,等待计算任务的到达。但是当计算机处于空闲状态时,其空闲功率会占峰值功率的50%~60%。因此,云计算系统会产生大量的空闲能耗。奢侈能耗:由于云计算系统中通常包含不同的计算机,实验结果表明,不同计算机对不同计算任务的执行功率和响应时间一般不同。例如,同一图像处理任务分别在CPU 和GPU 上的执行功率和响应时间不同,任务执行完成后,产生的总能耗也不同。因此,当未考虑能耗因素时,不匹配的调度方式会造成:本来用较低能耗就能解决问题,但却用了较高能耗。本文把由于任务的不合理调度而浪费的能耗称为“奢侈”能耗。执行能耗:执行能耗可定义为:任务在计算机上运行时,指令和数据驱动计算机硬件运转所产生的能耗
传统节能的方法
关闭/休眠技术:最大饥模限度的降低空闲能耗,缺点是当使用计算机时需要较长的启动时间,导致系统性能一定程度的下降
电压动态调整技术:为了便于研究,本文假定执行功率为任务整个执行过程的平均耗电功率。根据CMOS 电路动态功率公式Pdynamic~αCV2f 可知,动态功率与厅肢拦电压的平方成正比。因此,降低处理器的电压可以降低处理器的动态功率。但该方法的缺点是,随着电压的下降,处理器的性能会随之下降
虚拟化技术:可实现多个任务在一个计算机的不同虚拟机上运行,通过提高计算机资源利用率,以减少所需计算机数量的方式降低能耗。虚拟化技术实现了计算机资源从物理实体向虚拟实体的迁移,提高了计算机资源的利用率。但虚拟化,特别是深层次的虚拟化本身也要付出高昂的效能代价,因为虚拟化技术通过对底层硬件部件到高层服务应用的层层虚拟,每一级的虚拟都造成了效能的损失。
任务和系统模型
随机任务模型
根据任务对计算机资源的需求特征,可分为计算密集型、通信密集型、数据密集型和I/O密集型等。
随机到达云计算系统的任务可以用三元组(T,Λ,W)表示,第i类任务可以表示为(ti,λi,wi)。ti表示第i类任务,λi表示ti任务单位时间平均到达数量,wi表示ti任务的计算量
云计算系统模型
现有云计算平台的硬件基础设施通常是架构在大规模廉价服务器集群之上,系统中的不同服务器或计算机通常是由不同公司生产,有不同的硬件配置。这些计算机不仅有不同的功能和性能,其耗电的功率也不同,具体可表现为:功能异构、性能异构、空闲功率和峰值功率异构、执行功率异构;
云计算系统可以定义为六元组:(C,Pbusym×n,Pidle,Ppeak,Um×n,S)
+a7+rW9tO//Ksbv6oaLPtc2z1tDL++NDQus/+1xMrHvbW1zc+1zbPUy9DQuf2zzNbQsvrJ++8wsfUxrzGy++"http://www.it165.net/uploadfile/files/2014/0508/20140508200129405.jpg" alt="\">
问题描述
根据2.1节和2.2节的分析,并结合能耗的计算公式E=P*T,则任意一个任务从进入云计算系统到执行完成离开所产生的期望能耗可表示为
\
在给定任务类型、确定云计算系统体系结构的条件下,只有调度概率Pij的值是根据调度策略的不同而动态变化的,云计算系统的期望能耗与任务和计算机之间的调度策略有关
能耗优化管理
实质
根据任务的到达时间和类型、不同计算机的功率和性能、计算机实时的负载情况,对任务进行合理调度,使系统在满足一定性能的条件下,降低云计算系统运行过程中产生的空闲和执行能耗
假设
根据任务对计算机资源的需求特征,可分为计算密集型、通信密集型、数据密集型和I/O密集型等。不同类型任务要处理的数据形式和问题规模一般不同。为了便于研究,本文假定同一类型任务的计算量相同
由于用户服务请求的自主性、地域的分布性,导致不同用户提交的任务之间通常没有优先约束关系,即任务是独立的
假设对于系统中的每个计算机,任务的到达间隔相互独立,且服从同一参数的负指数分布
每个计算机对不同任务的服务时间也相互独立,且服从同一参数的负指数分布
到达间隔时间与服务时间相互独立
不同类计算任务以不同的概率调度到不同的计算机上
性能约束的最小期望执行能耗调度算法ME3PC(minimum expectation execution energy with performance constraints)
调度器针对不同的情况,采用不同的调度策略,详情请参考第3章
根据负载情况,将节点分在三个队列:Clight、Cnormal、Chigh,
如果Clight不为空,则优先考虑集合Clight中的计算机,并采用基于大服务强度的任务调度策略,使对tCi类任务有大服务强度的计算机cCj有较大的调度概率,其中j∈Clight
Clight为空,Cnormal不通ky"http://www.it165.net/qq/" target="_blank" class="keylink">qq/+aTwvc3ViPsDgyM7O8dPQvc/Qoda00NDE3LrEtcS8xsvju/pjQzxzdWI+ajwvc3ViPtPQvc++QzxzdWI+ViPrK7zqq/1aOsvLTL+2yLW9uLrU2Nfu0KG1xLzGy+O7+snPCjxwPgo8aW1nIHNyYz0="http://www.it165.net/uploadfile/files/2014/0508/20140508200130420.jpg" alt="\">
定理满足性能约束的最小执行能耗调度算法ME3PC的最坏时间复杂度为O(3mn),其中,m为任务的类型数,n为云计算系统中计算机的个数。
实验
实验环境的设置
为了验证ME3PC算法的有效性,本文使用Matlab 的离散事件模拟工具进行模拟实验。实验环境涉及的相关参数以及取值或取值范围见下表。
实验中任务分为4 类。第i类任务的到达间隔时间服从参数为1/λi的负指数分布。该间隔时间可通过负指数分布函数exprnd(1/λi)来生成,其中,λi的值在[10,15]区间随机生成。根据任务的到达间隔,利用函数cumsum(?)可得到第i 类每个随机任务到达系统的时刻。最终可确定所有6000个任务到达系统的时刻。计算机cj对ti类任务的服务时间服从参数为1/μij的负指数分布,同样,服务时间也通过函数exprnd(1/μij)来生成,参数μij的值在[1,5]区间随机生成
为了让模拟系统的运行存在平衡状态,需要满足条件\
\
实验与结果分析
为了进一步说明ME3PC算法的有效性,本文又设计了最小执行功率调度算法(minimum execution power,简称MEP),并将ME3PC与MEP、经典MIN-MIN 算法进行比较。其中,MEP的算法思想是:在任务调度时,将任务调度到执行功率最小的机器上,而不考虑该计算机当前的负载情况以及执行该任务的服务时间。MIN-MIN是针对独立任务的动态调度算法,广泛应用于同构或异构分布式并行计算环境,有良好的调度性能。本文分别从系统执行任务的平均能耗、任务的平均响应时间、系统的平均功率、负载平衡和可扩展性这5个方面对3种算法进行对比分析
从图2可以看出,采用MEP算法时系统的平均功率最小,ME3PC略大于MEP,MIN-MIN的功率最大,且远大于ME3PC和MEP。分析原因是,MEP算法专注于系统执行功率的优化,任务调度时只将任务调度到执行功率最小的机器上,因此系统平均功率最小,但没有考虑调度的机器性能,因此总体性能最差。MIN-MIN算法则相反,只专注于任务的完成时间,而不考虑能耗、负载平衡等其他因素,因此响应时间最小,但是系统平均功率最大。ME3PC算法则同时考虑了功率和性能因素,虽然系统功率较MEP算法平均增加了6.4%,响应时间比MIN-MIN算法平均增加了5.7%,但是任务在系统中的所产生的能耗却最小,如图4所示。究其原因是:(1)由于ME3PC算法针对空闲或轻载计算机采用了大服务强度优先的调度策略,大大降低了系统中计算机出现空闲的概率,使系统的利用率高于MEP和MIN-MIN。其中,采用ME3PC算法时,系统产生的空闲能耗平均是MEP和MIN-MIN算法的81%和73%,如图5所示。(2)由于优先对空闲和轻载计算机进行调度,最大限度地避免了负载不平衡的发生。因此,ME3PC算法保证了系统的负载平衡,如图6(a)、图6(b)所示。可见,只有同时考虑功率和性能因素才能真正降低云计算系统的能耗。
从实验结果中,我们发现了一个有趣的现象:当计算机个数为1时,3种算法下的系统平均功率、任务平均响应时间和任务平均能耗自然都相等。但是随着计算机个数的增加,系统执行任务的平均能耗却呈线性下降。当计算机个数为8时,系统执行任务的平均能耗最小。随着计算机个数的继续增加,系统执行任务的平均能耗开始增大,且呈指数级增长。究其原因是:(1)当计算机个数从1增加到8的过程中,任务平均响应时间呈指数级减少(如图3所示),但是系统的平均功率的增势却基本趋于平稳(如图2所示),这导致系统执行任务的平均能耗在该过程中是逐渐降低的,并且由于此时系统平均功率的绝对值较小,因此降低的趋势呈线性。(2)当计算机个数从8增加到128的过程中,任务平均响应时间下降的趋势趋于平缓(如图3所示),但是系统的平均功率的增势却呈指数级增加(如图2所示),这导致系统执行任务的平均能耗在该过程中是逐渐增加的,并且由于此时系统平均功率的绝对值较大,因此增长的趋势呈指数级。由此可见,在等能耗的条件下,计算机个数为8时系统有最好的扩展性。对于实际的云计算系统,如何根据系统的体系结构、任务到达的规律确定系统中应该开启或关闭的机器个数,以及开启或关闭哪些机器进行能耗的优化控制,将作为下一步的研究内容。
Ⅲ rms是什么意思
单调速率调度
Ⅳ 一文带你读懂Python中的进程
进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行,即正在运行的程序,是系统进行资源分配和调度的基本单位,进程是对正在运行程序的一个抽象,在早期面向进程设计的计算机结构中,进程是程序的基本执行实体,在当代面向线程设计的计算机结构中,进程是线程的容器,线程是执行的实体。进程的概念起源于操作系统,是操作系统最核心的概念,操作系统的其他所有内容都是围绕进程的概念展开的。
在早期计算机中可以利用的cpu只有一个,为了充分利用CPU性能,提高用户操作体验,出现了多道技术。将一个单独的cpu虚拟成多个cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),即使在一个单核CPU也能保证支持(伪)并发的能力。如果没有进程的抽象,现代计算机将不复存在。
狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
操作系统的作用:
隐藏复杂的硬件接口,提供良好的抽象接口。
管理、调度进程,使多个进程对硬件的竞争变得有序。
多道技术:针对早期单核CPU,实现多个程序的并发执行,现在的主机一般是多核,每个核都会利用多道技术,如有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,重新调度是可能会被调度到4个cpu中的任意一个,具体由操作系统调度算法决定。
多道技术的主要特性如下:
(1)空间上的复用:内存中可以同时有多道程序。
(2)物理隔离:多个程序在内存中都有各自独立的内存空间,互不影响。
(3)时间上的复用:多个程序在操作系统的调度算法下,在不同的时间段内分别占有CPU资源。
需要注意的是如果一个进程长时间占用CPU资源,操作系统会强制将CPU资源分配给其它在就绪队列中的程序,避免一个程序长时间占有CPU资源,导致其它程序无法运行。
相关推荐:《Python视频教程》
关于进程的一些概念:
第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码,数据区域存储变量和进程执行期间使用的动态分配的内存,堆栈区域存储着活动过程调用的指令和本地变量。
第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统将程序加载到内存),它才能成为一个活动的实体,我们称其为进程。
进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。
进程的特性:
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
并发性:任何进程都可以同其他进程一起并发执行
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
结构特征:进程由程序、数据和进程控制块三部分组成。
多个不同的进程可以包含相同的程序,一个程序在不同的数据集里就构成不同的进程,能得到不同的结果,但是执行过程中,程序不能发生改变。
进程与程序的区别:
程序是指令和数据的有序集合,是对指令、数据及其组织形式的描述,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。
进程的调度:
要想多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随机进行的,而是需要遵循一定的法则,由此就有了进程的调度算法。
1、先来先服务算法
先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业,而不利于I/O繁忙型的作业(进程)。
2、短作业优先调度算法
短作业(进程)优先调度算法(SJ/PF)是指对短作业或短进程优先调度的算法,该算法既可用于作业调度,也可用于进程调度。但其对长作业不利;不能保证紧迫性作业(进程)被及时处理;作业的长短只是被估算出来的。
3、时间片轮转法
时间片轮转(Round Robin,RR)法的基本思路是让每个进程在就绪队列中的等待时间与享受服务的时间成比例。在时间片轮转法中,需要将CPU的处理时间分成固定大小的时间片,例如,几十毫秒至几百毫秒。如果一个进程在被调度选中之后用完了系统规定的时间片,但又未完成要求的任务,则它自行释放自己所占有的CPU而排到就绪队列的末尾,等待下一次调度。同时,进程调度程序又去调度当前就绪队列中的第一个进程。
显然,轮转法只能用来调度分配一些可以抢占的资源。这些可以抢占的资源可以随时被剥夺,而且可以将它们再分配给别的进程。CPU是可抢占资源的一种。但打印机等资源是不可抢占的。由于作业调度是对除了CPU之外的所有系统硬件资源的分配,其中包含有不可抢占资源,所以作业调度不使用轮转法。
在轮转法中,时间片长度的选取非常重要。首先,时间片长度的选择会直接影响到系统的开销和响应时间。如果时间片长度过短,则调度程序抢占处理机的次数增多。这将使进程上下文切换次数也大大增加,从而加重系统开销。反过来,如果时间片长度选择过长,例如,一个时间片能保证就绪队列中所需执行时间最长的进程能执行完毕,则轮转法变成了先来先服务法。时间片长度的选择是根据系统对响应时间的要求和就绪队列中所允许最大的进程数来确定的。
在轮转法中,加入到就绪队列的进程有3种情况:
(1)一种是分给它的时间片用完,但进程还未完成,回到就绪队列的末尾等待下次调度去继续执行。
(2)另一种情况是分给该进程的时间片并未用完,只是因为请求I/O或由于进程的互斥与同步关系而被阻塞。当阻塞解除之后再回到就绪队列。
(3)第三种情况就是新创建进程进入就绪队列。
如果对这些进程区别对待,给予不同的优先级和时间片从直观上看,可以进一步改善系统服务质量和效率。例如,我们可把就绪队列按照进程到达就绪队列的类型和进程被阻塞时的阻塞原因分成不同的就绪队列,每个队列按FCFS原则排列,各队列之间的进程享有不同的优先级,但同一队列内优先级相同。这样,当一个进程在执行完它的时间片之后,或从睡眠中被唤醒以及被创建之后,将进入不同的就绪队列。
多级反馈队列:
前面介绍的各种用作进程调度的算法都有一定的局限性。如短进程优先的调度算法,仅照顾了短进程而忽略了长进程,而且如果并未指明进程的长度,则短进程优先和基于进程长度的抢占式调度算法都将无法使用。
而多级反馈队列调度算法则不必事先知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要,因而它是目前被公认的一种较好的进程调度算法。在采用多级反馈队列调度算法的系统中,调度算法的实施过程如下所述。
(1) 应设置多个就绪队列,并为各个队列赋予不同的优先级。第一个队列的优先级最高,第二个队列次之,其余各队列的优先权逐个降低。该算法赋予各个队列中进程执行时间片的大小也各不相同,在优先权愈高的队列中,为每个进程所规定的执行时间片就愈小。例如,第二个队列的时间片要比第一个队列的时间片长一倍,……,第i+1个队列的时间片要比第i个队列的时间片长一倍。
(2) 当一个新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则排队等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行;如果它在第二队列中运行一个时间片后仍未完成,再依次将它放入第三队列,……,如此下去,当一个长作业(进程)从第一队列依次降到第n队列后,在第n 队列便采取按时间片轮转的方式运行。
(3) 仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第1~(i-1)队列均空时,才会调度第i队列中的进程运行。如果处理机正在第i队列中为某进程服务时,又有新进程进入优先权较高的队列(第1~(i-1)中的任何一个队列),则此时新进程将抢占正在运行进程的处理机,即由调度程序把正在运行的进程放回到第i队列的末尾,把处理机分配给新到的高优先权进程。
Ⅳ 电压中rms表示什么
电压中rms是指均方根。
拓展资料如下:
RMS(单调速率调度算法)是一种静态优先级调度算法,是经典的周期性任务调度算法。RMS的基本思路是任务的优先级与它的周期表现为单调函数的关系,任务的周期越短,优先级越高;任务的周期越长,优先级越低。
显然,只有当这一高优先级的任务与该任务同时请求处理时,才能可能产生最大的打断时间。定理1的价值在于它找到了一个证明、一个调度算法,能否调度任一任务集充分必要条件。
那就是所有任务同时请求执行的时的情况下,每个任务仍能满足各自的期限,那么这个任务集就可以被这个调度算法调度。有了这个推论,我们就可以证明RM调度的最优性了。