CN111258730A - 一种基于竞态条件的任务调度方法 - Google Patents
一种基于竞态条件的任务调度方法 Download PDFInfo
- Publication number
- CN111258730A CN111258730A CN202010031828.9A CN202010031828A CN111258730A CN 111258730 A CN111258730 A CN 111258730A CN 202010031828 A CN202010031828 A CN 202010031828A CN 111258730 A CN111258730 A CN 111258730A
- Authority
- CN
- China
- Prior art keywords
- function
- sub
- task
- race condition
- follows
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005457 optimization Methods 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims description 23
- 230000002860 competitive effect Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 239000004576 sand Substances 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000013179 statistical model Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 19
- 239000011159 matrix material Substances 0.000 abstract description 4
- 238000011160 research Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 13
- 230000006872 improvement Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明属于任务调度技术领域,具体涉及一种基于竞态条件的任务调度方法。本发明通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化发提出的任务调度算法确保任务执行期间发生的竞态条件概率最低。本发明的任务调度优化方法在低功耗***平台有更高的CPU利用率,吞吐量和更低的计算复杂度和任务执行时间,具有一定的研究和使用价值。
Description
技术领域
本发明属于任务调度技术领域,具体涉及一种基于竞态条件的任务调度方法。
背景技术
在多任务计算***中,线程通常被用来为响应某些事件而来执行并行操作。由于这些事件的内在不确定性,当不同的线程以非因果顺序访问一个共享资源(例如总线、内存)并且至少有一个线程必须在共享资源上写入时,就会出现竞态条件。由于竞态条件会导致不可预知的后果,因此,通过智能的竞态条件检测和有效的任务调度来减少竞争是至关重要的。
如今已经有一些现有的研究对竞态条件进行检测。通过在编译时识别所有可能的竞态条件,静态方法是可以有高覆盖率的,但是通过静态分析检测竞态条件在***运行时是不可判定的。因此又有人提出了动态检测方法,一般将动态方法分类为“on-the-fly”或“post-mortem”两种,这些方法都可以检测***在执行的过程中出现的竞态条件。
虽然研究者提出了众多优化任务调度技术,但是,在复杂的多核计算***中应用上述提到的现有的方法,竞态条件检测的性能就会严重下降,因为这些方法没有考虑硬件相关的因素。在面向硬件的方法中,需要考虑与硬件相关的因素,如内存的层次结构或者缓存一致性模型。此外,由于不同的执行环境表现出不同的事件发生概率分布,多核计算***中的任务执行环境对竞态条件有很大的影响。这里的执行环境指的是***硬件平台(例如并行处理器的核数)、应用程序(例如FFT),输入参数(例如输入数据的大小)等。不过,这些现有的方法都没有将执行环境视为设计参数。因此,他们的竞态条件检测性能在多核计算***中并不是最佳的。
发明内容
本发明的目的在于提供通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化法提出的新算法确保任务执行期间发生的竞态条件概率最低的一种基于竞态条件的任务调度方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:输入任务调度序列;
步骤2:构造竞态条件检测模型;
某操作事件e作为输入,识别竞态条件和Happened-Before关系;
步骤3:确定竞态集合;
由于竞态条件的不确定性,最大熵模型函数p(y|x)是竞态条件可能发生的最大概率,因此可以获得最大发生概率的竞态集合;最大熵模型函数p(y|x)求解方法为:
步骤3.1:确定一个特征空间作为问题域,收集原始训练数据并将其转换为训练样本;每个训练样本由一个实例x和其目标类y组成,一组训练样本T={(x1,y1),(x2,y2),…,(xn,yn)}对应于一个特定的执行环境;当事件yi发生时,相应的上下文信息是xi,经验概率分布是从这个训练样本中获得,特征f指的是x和y之间的特定关系,特征经验的期望概率是满足二元关系中特定要求的所有经验概率的综合,二元函数定义如下:
实际概率函数定义如下:
步骤3.2:选择特征作为优化约束,保持特征的经验概率和预期概率一致,令步骤3.1中的P是一个满足约束集C的统计模型,argmax使得熵值最大化;在满足约束集C所有约束条件时,确定最大熵;约束集C的函数定义如下:
熵值最大化函数定义如下:
步骤3.3:导出模拟最大熵的理论模型,将约束优化问题转化为非约束优化问题,为每个特征值fi引入拉格朗日算子λ,由于p(y|x)是一个条件概率,因此,通过每个实例x的参数k(x),拉格朗日函数定义如下:
相应的参数λi将会把特征fi的权重考虑在内,因此,λi满足最大熵的条件p(y|x),pλ的最大值函数定义如下:
步骤3.4:应用多重收敛来调整λi,具体描述为:
步骤3.4.1:初始化λi (0);
步骤3.4.2:重复函数直至其收敛,函数定义如下:
步骤4:划分子任务并消除竞态条件;
如果两个任务之间存在竞态条件,则每个任务将会分为两个部分即没有灾难性的竞态条件的子任务(Ti',Tj')和一个涉及到灾难性竞态条件的子任务(Tsub(i),Tsub(j));使用Lock函数避免Tsub(i)和Tsub(j)这两个子任务的同步问题,消除灾难性竞态条件;Tsub会被允许多次申请Lock函数而不会导致死锁,同时有必要确定Lock的拥有者和持有者数量LockCounter;当LockCounter为0时,则允许Tsub(i)或Tsub(j)申请Lock,在一个新的申请之后,LockCounter增加1,并在Lock函数后减1;如果Tsub(i)持有一个Lock,则如果Tsub(j)请求Lock,它将会阻塞;如果Tsub(i)重新申请已经存在的Lock,则将会允许此操作;
步骤5:一旦处理器内核处于空闲状态,所有子任务和任务就会循环分配给处理器内核。
本发明的有益效果在于:
本发明通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化发提出的任务调度算法确保任务执行期间发生的竞态条件概率最低。本发明的任务调度优化方法在低功耗***平台有更高的CPU利用率,吞吐量和更低的计算复杂度和任务执行时间,具有一定的研究和使用价值。
附图说明
图1为本发明的一种基于竞态条件的任务调度方法的流程图。
图2为任务执行时间比较图。
图3(a)为在200kb输入数据大小的情况下8核执行时间比较图。
图3(b)为在200kb输入数据大小的情况下16核执行时间比较图。
图3(c)为在200kb输入数据大小的情况下24核执行时间比较图。
图3(d)为在200kb输入数据大小的情况下32核执行时间比较图。
图4(a)为在不同输入数据大小情况下的8核执行时间比较图。
图4(b)为在不同输入数据大小情况下的16核执行时间比较图。
图4(c)为在不同输入数据大小情况下的24核执行时间比较图。
图4(d)为在不同输入数据大小情况下的32核执行时间比较图。
图5为处理器内核利用率比较图。
图6为计算吞吐量比较图。
图7为时间复杂度比较表。
图8(a)为任务调度算法的任务与竞态条件结果表。
图8(b)为RRP、RAS、GTA和任务调度算法的竞态条件结果表。
图9为性能改进百分比比较表。
具体实施方式
下面结合附图对本发明做进一步描述。
一种基于竞态条件的任务调度方法,通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化发提出的任务调度算法确保任务执行期间发生的竞态条件概率最低,具有一定的研究和使用价值。本发明的具体描述包括如下几个步骤,前一个步骤是建立最大熵优化模型,第二个步骤是利用该模型提出相应的任务调度方案,最后一个步骤是通过任务调度方案实现降低***功耗的方法。
1、最大熵优化模型,具体实现方法如下:
(1)确定一个特征空间作为问题域,收集原始训练数据并将其转换为训练样本,每个训练样本由一个实例x和其目标类y组成,一组训练样本T={(x1,y1),(x2,y2),…,(xn,yn)}对应于一个特定的执行环境,当事件yi发生时,相应的上下文信息是xi,经验概率分布是从这个训练样本中获得,特征f是指的是x和y之间的特定关系,特征f指的是x和y之间的特定关系,特征经验的期望概率是满足二元关系中特定要求的所有经验概率的综合,二元函数定义如下:
实际概率函数定义如下:
(2)选择特征作为优化约束,保持特征的经验概率和预期概率一致,令步骤(1)中的P是一个满足约束集C的统计模型,argmax使得熵值最大化。在满足约束集C所有约束条件时,确定最大熵。约束集C的函数定义如下:
熵值最大化函数定义如下:
(3)导出模拟最大熵的理论模型,将约束优化问题转化为非约束优化问题,为每个特征值fi引入拉格朗日算子λ。由于p(y|x)是一个条件概率,等于1,因此,通过每个实例x的参数k(x),拉格朗日函数定义如下:
相应的参数λi将会把特征fi的权重考虑在内,因此,λi满足最大熵的条件p(y|x),pλ的最大值函数定义如下:
(4)应用多重收敛来调整λi,具体描述为:
a.初始化λi (0)例如,所有的λi (0)=0;
b.重复函数直至其收敛,函数定义如下:
2、基于最大熵模型提出面向竞态条件的任务调度方法优化任务分配,具体描述如下:
(1)确定竞态条件集合以及任务事件序列。竞态条件简言之就是数据竞争,在计算机***执行过程中,多个任务之间会由于共享数据而产生竞争,这就是竞态条件。竞态条件集合就是***一次运行中所有的竞态条件的集合。而任务事件序列指的的是:在任务中需要完成某一项工作称之为事件,多个任务的多个事件所组成的序列成为事件序列。由于竞态条件的存在,事件与事件之间也存在着依赖关系。但是由于***执行环境的不同,可能会导致事件的执行序列不同,这就导致了竞态条件发生具有不确定性。
(2)确定竞态条件检测模型。某操作事件E的作为输入,识别竞态条件和Happened-Before关系。接收消息(RM)事件e对应于发送消息(SM)事件es,并且会在相同任务中发现每一个前置的接收消息事件e′。如果e′||es,则在es和e′s之间存在竞态条件,用来表示。获取信号量(TS)事件e对应于发送信号量(GS)事件eg,并且会在相同任务中发现每一个前置的获取信号量e′。如果e′||eg,则在e′和eg之间存在竞态条件,用表示。如果n个操作事件碰巧形成了执行序列 则产生的时间序列是t1<t2<…<tn<t1,这意味着它是非灾难性的竞态条件。否则,将存在灾难性的竞态条件。
(3)确定竞态集合。由于竞态条件的不确定性,p(y|x)是竞态条件可能发生的最大概率,因此,从前四个步骤可以获得最大发生概率的竞态集合。
(4)划分子任务及消除竞态条件。如果两个任务之间存在竞态条件,则每个任务将会分为两个部分即没有灾难性的竞态条件的子任务(即Ti',Tj')和一个涉及到灾难性竞态条件的子任务(即Tsub(i),Tsub(j))。使用Lock函数避免Tsub(i)和Tsub(j)这两个子任务的同步问题,消除灾难性竞态条件。Tsub会被允许多次申请Lock函数而不会导致死锁,同时有必要确定Lock的拥有者和持有者数量(即LockCounter)。LockCounter为0时,则允许Tsub(i)或Tsub(j)申请Lock,在一个新的申请之后,LockCounter增加1,并在Lock函数后减1。如果Tsub(i)持有一个Lock,则如果Tsub(j)请求Lock,它将会阻塞。如果Tsub(i)重新申请已经存在的Lock,则将会允许此操作。
(5)一旦处理器内核处于空闲状态,所有子任务和任务就会循环分配给处理器内核。
通过步骤(5)的方法减少任务调度次数,使得CPU占用率降低,从而得到CPU的电压降低,因此减少了功耗。任务taskj执行在硬件的处理单元PE上的功耗函数定义为:
其中uj为任务对功耗的影响因子,Cu,Vu分别为处理单元的等效电容和电压。
本发明的任务调度优化方法在低功耗***平台有更高的CPU利用率,吞吐量和更低的计算复杂度和任务执行时间。
在创建最大熵模型之前,需要收集原始训练数据并将其转换为训练样本。每个训练样本由一个实例x和其目标类y组成。一组训练样本T={(x1,y1),(x2,y2),…,(xn,yn)}对应于一个特定的执行环境。当事件yi发生时,相应的上下文信息是xi。经验概率分布是从这个训练样本中获得。均值和方差的无偏估计量从公式(1.1)中可以得到。特征f指的是x和y之间的特定关系。F可以由二元函数来描述,
特征经验的期望概率是满足方程(1.1)中特定要求的所有经验概率的综合,即,
2、要保持特征的经验概率和预期概率一致。
由于多核并发计算***中有多个功能,因此满足这些约束会导致一系列的限制。
在此推导过程中,使用性质1和性质2中的四个特征(即,k=4)。因此,模型应该满足熵最大化的所有约束。
P是一个满足约束集C的统计模型,argmax使得熵值最大化。在满足公式(1.5)中的所有约束条件时,确定最大熵。
相应的参数λi将会把特征fi的权重考虑在内,因此,λi满足最大熵的条件p(y|x),其可以表示为,
这样到目前为止,一个约束优化问题(即,公式1.6和1.7)已经成为一个非约束优化问题(即,公式1.10)。
4、多重收敛来调整λi。这个收敛计算包括两个步骤:(1)初始化λi (0),例如,所有的λi (0)=0;(2)重复方程1.11直至其收敛。
真实参数γ和Λ={λ1,λ2,...,λn}都是n+1的约束。为了最大化η(p,Λ,γ),我们利用公式1.8的推导来表示pλ(y|x)。
进而得到,
将上面这个公式代入到1.13中,最大熵模型将最终被确定为,
该等式1.14确保任务序列中竞态条件的最低可能性。因此,在任务调度中使用该公式实现最小的竞态条件。
5、基于步骤4的最大熵模型提出的任务调度算法优化任务分配,具体描述如下:
(1)针对给定的执行环境找到一个竞态集合的最佳概率分布。
(2)由于竞态条件的不确定性,p(y|x)是竞态条件最优可能发生的最大概率,因此,从最大熵模型可以获得最优的竞态集合。
(3)如果两个任务之间存在竞态条件,则每个任务将会分为两个部分即没有灾难性的竞态条件的子任务(即Ti',Tj')和一个涉及到灾难性竞态条件的子任务(即Tsub(i),Tsub(j))。
(4)通过调整步骤(3)提到的第二类子任务的执行时间消除了灾难性的竞态条件,使用Lock函数避免这两个子任务的同步问题。Tsub会被允许多次申请Lock函数而不会导致死锁,同时有必要确定Lock的拥有者和持有者数量(即LockCounter)。
(5)步骤(4)中的LockCounter为0时,则允许Tsub(i)或Tsub(j)申请Lock,在一个新的申请之后,LockCounter增加1,并在Lock函数后减1。如果Tsub(i)持有一个Lock,则如果Tsub(j)请求Lock,它将会阻塞。如果Tsub(i)重新申请已经存在的Lock,则将会允许此操作。
(6)一旦处理器内核处于空闲状态,所有子任务和任务就会循环分配给处理器内核。
6、通过步骤5的方法减少任务调度次数,使得CPU占用率降低,从而得到CPU的电压降低,因此减少了功耗。任务taskj执行在硬件的处理单元PE上的功耗函数定义为:(更改,归结为***平台。)
Puj=ujCuQjVu 2
其中uj为任务对功耗的影响因子,Cu,Vu分别为处理单元的等效电容和电压。
最终通过基于竞态条件的任务划分和分配就会消除存在灾难的竞态条件。
实验结果
图7是时间复杂度比较。图8(a)是任务调度算法的任务与竞态条件结果;图8(b)是RRP、RAS、GTA、和任务调度算法的竞态条件结果。图1是任务执行时间比较。图2是在200kb输入数据大小的情况下五个应用程序的任务执行时间。图3(a)至图3(d)是所有在应用程序在不同输入数据大小情况下的平均执行时间。图4(a)至图4(d)是处理器内核利用率比较。图5是计算吞吐量比较。图9是性能改进百分比比较。
图2为任务执行时间比较图,从上到下折线依次代表RAS、RRP、GTA、Our Work
图3(a)为在200kb输入数据大小的情况下8核执行时间比较图。图3(b)为在200kb输入数据大小的情况下16核执行时间比较图。图3(c)为在200kb输入数据大小的情况下24核执行时间比较图。图3(d)为在200kb输入数据大小的情况下32核执行时间比较图。图3(a)、图3(b)、图3(c)和图3(d)中每一列的4个直方从左到右依次代表Our Work、RRP、RAS、GTA。
图4(a)为在不同输入数据大小情况下的8核执行时间比较图。图4(b)为在不同输入数据大小情况下的16核执行时间比较图。图4(c)为在不同输入数据大小情况下的24核执行时间比较图。图4(d)为在不同输入数据大小情况下的32核执行时间比较图。图4(a)、图4(b)、图4(c)和图4(d)中每一列的4个直方从左到右依次代表Our Work、RRP、RAS、GTA。
图5为处理器内核利用率比较图,从上到下折线依次代表Our Work、GTA、RRP、RAS。
图6为计算吞吐量比较图,每一列的4个直方从左到右依次代表Our Work、RRP、RAS、GTA。
图7为时间复杂度比较表。图8(a)为任务调度算法的任务与竞态条件结果表。图8(b)为RRP、RAS、GTA和任务调度算法的竞态条件结果表。图9为性能改进百分比比较表。
由图7知RRP、RAS、GTA和Our Work的空间复杂度有节点数m确定,因此它们的空间复杂度是相同的。
图8(a)显示了我们提出的基于竞态条件感知的任务划分方法成功的消除了五个应用程序中所有的灾难性竞态条件。竞态条件的总数平均减少幅度达到了82.86%。图8(b)说明任务调度算法比其他任务调度算法的竞态条件少很多。
如图1所示,无论多少个处理器内核,任务调度算法的性能均优于同类算法。在图2和图3中,可以得到任务调度算法在各种执行环境中表现出良好的适应性。如图4所示,当处理器内核配置为128个的时候,由此产生的CPU利用率为0.936。与RRP、RAS和GTA算法相比,利用率分别增加了9.4%、17.6%和8.2%。如图5所示,由于具有竞态条件分解为无竞态条件的子任务的特性,任务调度算法大大减少了任务等待时间,因此,任务调度算法可以使更多的县城同时并发运行。图9显示,通过任务调度方法减少任务调度次数,使得CPU占用率降低,从而得到CPU的电压降低,因此减少了功耗。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于竞态条件的任务调度方法,其特征在于,包括以下步骤:
步骤1:输入任务调度序列;
步骤2:构造竞态条件检测模型;
某操作事件e作为输入,识别竞态条件和Happened-Before关系;
步骤3:确定竞态集合;
由于竞态条件的不确定性,最大熵模型函数p(y|x)是竞态条件可能发生的最大概率,因此可以获得最大发生概率的竞态集合;最大熵模型函数p(y|x)求解方法为:
步骤3.1:确定一个特征空间作为问题域,收集原始训练数据并将其转换为训练样本;每个训练样本由一个实例x和其目标类y组成,一组训练样本T={(x1,y1),(x2,y2),…,(xn,yn)}对应于一个特定的执行环境;当事件yi发生时,相应的上下文信息是xi,经验概率分布是从这个训练样本中获得,特征f指的是x和y之间的特定关系,特征经验的期望概率是满足二元关系中特定要求的所有经验概率的综合,二元函数定义如下:
实际概率函数定义如下:
步骤3.2:选择特征作为优化约束,保持特征的经验概率和预期概率一致,令步骤3.1中的P是一个满足约束集C的统计模型,argmax使得熵值最大化;在满足约束集C所有约束条件时,确定最大熵;约束集C的函数定义如下:
熵值最大化函数定义如下:
步骤3.3:导出模拟最大熵的理论模型,将约束优化问题转化为非约束优化问题,为每个特征值fi引入拉格朗日算子λ,由于p(y|x)是一个条件概率,∑yp(y|x)=1,因此,通过每个实例x的参数k(x),拉格朗日函数定义如下:
相应的参数λi将会把特征fi的权重考虑在内,因此,λi满足最大熵的条件p(y|x),pλ的最大值函数定义如下:
步骤3.4:应用多重收敛来调整λi,具体描述为:
步骤3.4.2:重复函数直至其收敛,函数定义如下:
真实参数γ和Λ={λ1,λ2,...,λn}都是n+1的约束;为了最大化η(p,Λ,γ),利用步骤3.3的函数来表示pλ(y|x),并结合∑yp(y|x)=1可以确定最大熵模型,最大熵模型函数定义如下:
步骤4:划分子任务并消除竞态条件;
如果两个任务之间存在竞态条件,则每个任务将会分为两个部分即没有灾难性的竞态条件的子任务(Ti',Tj')和一个涉及到灾难性竞态条件的子任务(Tsub(i),Tsub(j));使用Lock函数避免Tsub(i)和Tsub(j)这两个子任务的同步问题,消除灾难性竞态条件;Tsub会被允许多次申请Lock函数而不会导致死锁,同时有必要确定Lock的拥有者和持有者数量LockCounter;当LockCounter为0时,则允许Tsub(i)或Tsub(j)申请Lock,在一个新的申请之后,LockCounter增加1,并在Lock函数后减1;如果Tsub(i)持有一个Lock,则如果Tsub(j)请求Lock,它将会阻塞;如果Tsub(i)重新申请已经存在的Lock,则将会允许此操作;
步骤5:一旦处理器内核处于空闲状态,所有子任务和任务就会循环分配给处理器内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031828.9A CN111258730A (zh) | 2020-01-13 | 2020-01-13 | 一种基于竞态条件的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031828.9A CN111258730A (zh) | 2020-01-13 | 2020-01-13 | 一种基于竞态条件的任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111258730A true CN111258730A (zh) | 2020-06-09 |
Family
ID=70948748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010031828.9A Pending CN111258730A (zh) | 2020-01-13 | 2020-01-13 | 一种基于竞态条件的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258730A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986486A (zh) * | 2021-10-15 | 2022-01-28 | 东华大学 | 一种边缘环境下数据缓存与任务调度的联合优化方法 |
CN115328639A (zh) * | 2022-10-13 | 2022-11-11 | 北京云枢创新软件技术有限公司 | 一种基于芯片验证回归的任务调度*** |
-
2020
- 2020-01-13 CN CN202010031828.9A patent/CN111258730A/zh active Pending
Non-Patent Citations (1)
Title |
---|
SIZHAO LI等: "Race-Condition-Aware and Hardware-Oriented Task Partitioning and Scheduling Using Entropy Maximization", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, vol. 29, no. 7, pages 1589 - 1604, XP011685361, DOI: 10.1109/TPDS.2017.2784829 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986486A (zh) * | 2021-10-15 | 2022-01-28 | 东华大学 | 一种边缘环境下数据缓存与任务调度的联合优化方法 |
CN115328639A (zh) * | 2022-10-13 | 2022-11-11 | 北京云枢创新软件技术有限公司 | 一种基于芯片验证回归的任务调度*** |
CN115328639B (zh) * | 2022-10-13 | 2022-12-13 | 北京云枢创新软件技术有限公司 | 一种基于芯片验证回归的任务调度*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gast et al. | A mean field model of work stealing in large-scale systems | |
Fischer | Scaling limits for PDE-based simulation | |
CN111079921A (zh) | 一种基于异构分布式***的高效神经网络训练调度方法 | |
CN111431961A (zh) | 一种云数据中心的节能任务分配方法 | |
CN111258730A (zh) | 一种基于竞态条件的任务调度方法 | |
Li et al. | Intermediate data placement and cache replacement strategy under Spark platform | |
Li et al. | Adaptive priority-based data placement and multi-task scheduling in geo-distributed cloud systems | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
Pimpley et al. | Towards Optimal Resource Allocation for Big Data Analytics. | |
CN116501828B (zh) | 基于非结构化数据集的服务器无感知向量查询方法和*** | |
Silberstein | Building an online domain-specific computing service over non-dedicated grid and cloud resources: The superlink-online experience | |
Piao et al. | Computing resource prediction for mapreduce applications using decision tree | |
Yassir et al. | Graph-based model and algorithm for minimising big data movement in a cloud environment | |
WO2022223052A1 (zh) | 加速器、计算机***和方法 | |
CN113342313B (zh) | 一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法 | |
Banicescu et al. | Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems | |
Khalil et al. | Survey of Apache Spark optimized job scheduling in Big Data | |
Ovalle et al. | Distributed Cache Strategies for Machine Learning Classification Tasks over Cluster Computing Resources | |
Tamizharasan et al. | Analysis of large deviations behavior of multi-GPU memory access in deep learning | |
CN112631750A (zh) | 面向云数据中心的基于压缩感知的预测性在线调度与混合任务部署方法 | |
Rumyantsev | Stabilization of a high performance cluster model | |
Ahn et al. | Performance study of distributed big data analysis in yarn cluster | |
CN115686865B (zh) | 一种基于多场景应用的超算节点资源分配*** | |
Li et al. | Job placement strategy with opportunistic resource sharing for distributed deep learning clusters | |
Li | Research on cloud computing resource scheduling based on machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |