一种基于竞态条件的任务调度方法技术

技术编号:24455022 阅读:34 留言:0更新日期:2020-06-10 15:17
本发明专利技术属于任务调度技术领域,具体涉及一种基于竞态条件的任务调度方法。本发明专利技术通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化发提出的任务调度算法确保任务执行期间发生的竞态条件概率最低。本发明专利技术的任务调度优化方法在低功耗系统平台有更高的CPU利用率,吞吐量和更低的计算复杂度和任务执行时间,具有一定的研究和使用价值。

A task scheduling method based on race condition

【技术实现步骤摘要】
一种基于竞态条件的任务调度方法
本专利技术属于任务调度
,具体涉及一种基于竞态条件的任务调度方法。
技术介绍
在多任务计算系统中,线程通常被用来为响应某些事件而来执行并行操作。由于这些事件的内在不确定性,当不同的线程以非因果顺序访问一个共享资源(例如总线、内存)并且至少有一个线程必须在共享资源上写入时,就会出现竞态条件。由于竞态条件会导致不可预知的后果,因此,通过智能的竞态条件检测和有效的任务调度来减少竞争是至关重要的。如今已经有一些现有的研究对竞态条件进行检测。通过在编译时识别所有可能的竞态条件,静态方法是可以有高覆盖率的,但是通过静态分析检测竞态条件在系统运行时是不可判定的。因此又有人提出了动态检测方法,一般将动态方法分类为“on-the-fly”或“post-mortem”两种,这些方法都可以检测系统在执行的过程中出现的竞态条件。虽然研究者提出了众多优化任务调度技术,但是,在复杂的多核计算系统中应用上述提到的现有的方法,竞态条件检测的性能就会严重下降,因为这些方法没有考虑硬件相关的因素。在面向硬件的方法中,需要考虑与硬件相关的因素,如内存的层次结构或者缓存一致性模型。此外,由于不同的执行环境表现出不同的事件发生概率分布,多核计算系统中的任务执行环境对竞态条件有很大的影响。这里的执行环境指的是系统硬件平台(例如并行处理器的核数)、应用程序(例如FFT),输入参数(例如输入数据的大小)等。不过,这些现有的方法都没有将执行环境视为设计参数。因此,他们的竞态条件检测性能在多核计算系统中并不是最佳的
技术实现思路
本专利技术的目的在于提供通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化法提出的新算法确保任务执行期间发生的竞态条件概率最低的一种基于竞态条件的任务调度方法。本专利技术的目的通过如下技术方案来实现:包括以下步骤:步骤1:输入任务调度序列;步骤2:构造竞态条件检测模型;某操作事件e作为输入,识别竞态条件和Happened-Before关系;若输入的操作事件e为接收消息事件,则其对应于发送消息事件es,并且会在相同任务中发现每一个前置的接收消息事件e′;如果e′||es,则判定在es和e′s之间存在竞态条件,用表示;若输入的操作事件e为获取信号量事件,则其对应于发送信号量事件eg,并且会在相同任务中发现每一个前置的获取信号量e′;如果e′||eg,则在e′和eg之间存在竞态条件,用表示;如果n个操作事件形成了执行序列且产生的时间序列t1<t2<…<tn<t1,则判定为非灾难性的竞态条件;步骤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:重复函数直至其收敛,函数定义如下:真实参数γ和Λ={λ1,λ2,...,λn}都是n+1的约束;为了最大化η(p,Λ,γ),利用步骤3.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:一旦处理器内核处于空闲状态,所有子任务和任务就会循环分配给处理器内核。本专利技术的有益效果在于:本专利技术通过不确定矩阵描述时间序列特征以及测量任务执行不确定性,利用最大熵优化发提出的任务调度算法确保任务执行期间发生的竞态条件概率最低。本专利技术的任务调度优化方法在低功耗系统平台有更高的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.一种基于竞态条件的任务调度方法,其特征在于,包括以下步骤:/n步骤1:输入任务调度序列;/n步骤2:构造竞态条件检测模型;/n某操作事件e作为输入,识别竞态条件和Happened-Before关系;/n若输入的操作事件e为接收消息事件,则其对应于发送消息事件e

【技术特征摘要】
1.一种基于竞态条件的任务调度方法,其特征在于,包括以下步骤:
步骤1:输入任务调度序列;
步骤2:构造竞态条件检测模型;
某操作事件e作为输入,识别竞态条件和Happened-Before关系;
若输入的操作事件e为接收消息事件,则其对应于发送消息事件es,并且会在相同任务中发现每一个前置的接收消息事件e′;如果e′||es,则判定在es和e′s之间存在竞态条件,用表示;
若输入的操作事件e为获取信号量事件,则其对应于发送信号量事件eg,并且会在相同任务中发现每一个前置的获取信号量e′;如果e′||eg,则在e′和eg之间存在竞态条件,用表示;
如果n个操作事件形成了执行序列且产生的时间序列t1<t2<···<tn<t1,则判定为非灾难性的竞态条件;
步骤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的函数定义如下:



熵值最...

【专利技术属性】
技术研发人员:李思照韩新宇孙建国巩建光阎梓宁王文衫
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1