Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于在线集成的概念漂移自适应分类方法

郭虎升, 丛璐, 高淑花, 王文剑

郭虎升, 丛璐, 高淑花, 王文剑. 基于在线集成的概念漂移自适应分类方法[J]. 计算机研究与发展, 2023, 60(7): 1592-1602. DOI: 10.7544/issn1000-1239.202220245
引用本文: 郭虎升, 丛璐, 高淑花, 王文剑. 基于在线集成的概念漂移自适应分类方法[J]. 计算机研究与发展, 2023, 60(7): 1592-1602. DOI: 10.7544/issn1000-1239.202220245
Guo Husheng, Cong Lu, Gao Shuhua, Wang Wenjian. Adaptive Classification Method for Concept Drift Based on Online Ensemble[J]. Journal of Computer Research and Development, 2023, 60(7): 1592-1602. DOI: 10.7544/issn1000-1239.202220245
Citation: Guo Husheng, Cong Lu, Gao Shuhua, Wang Wenjian. Adaptive Classification Method for Concept Drift Based on Online Ensemble[J]. Journal of Computer Research and Development, 2023, 60(7): 1592-1602. DOI: 10.7544/issn1000-1239.202220245
郭虎升, 丛璐, 高淑花, 王文剑. 基于在线集成的概念漂移自适应分类方法[J]. 计算机研究与发展, 2023, 60(7): 1592-1602. CSTR: 32373.14.issn1000-1239.202220245
引用本文: 郭虎升, 丛璐, 高淑花, 王文剑. 基于在线集成的概念漂移自适应分类方法[J]. 计算机研究与发展, 2023, 60(7): 1592-1602. CSTR: 32373.14.issn1000-1239.202220245
Guo Husheng, Cong Lu, Gao Shuhua, Wang Wenjian. Adaptive Classification Method for Concept Drift Based on Online Ensemble[J]. Journal of Computer Research and Development, 2023, 60(7): 1592-1602. CSTR: 32373.14.issn1000-1239.202220245
Citation: Guo Husheng, Cong Lu, Gao Shuhua, Wang Wenjian. Adaptive Classification Method for Concept Drift Based on Online Ensemble[J]. Journal of Computer Research and Development, 2023, 60(7): 1592-1602. CSTR: 32373.14.issn1000-1239.202220245

基于在线集成的概念漂移自适应分类方法

基金项目: 国家自然科学基金项目(62276157, U21A20513, 62076154, U1805263, 61503229);山西省自然科学基金项目(201901D111033);山西省重点研发计划项目(国际合作)(201903D421050)
详细信息
    作者简介:

    郭虎升: 1986年生. 博士, 副教授, 硕士生导师. CCF高级会员. 主要研究方向为数据挖掘、机器学习和计算智能

    丛璐: 1998年生. 硕士研究生. 主要研究方向为流数据挖掘和在线机器学习

    高淑花: 1996年生. 硕士. 主要研究方向为流数据挖掘和在线机器学习

    王文剑: 1968年生. 博士, 教授, 博士生导师. CCF杰出会员. 主要研究方向为机器学习、数据挖掘及计算智能

    通讯作者:

    王文剑(wjwang@sxu.edu.cn

  • 中图分类号: TP18

Adaptive Classification Method for Concept Drift Based on Online Ensemble

Funds: This work was supported by the National Natural Science Foundation of China (62276157, U21A20513, 62076154, U1805263, 61503229), the Natural Science Foundation of Shanxi Province (201901D111033), and the Key Research and Development Program of Shanxi Province (International Cooperation) (201903D421050).
More Information
    Author Bio:

    Guo Husheng: born in 1986. PhD, associate professor, master supervisor. Senior member of CCF. His main research interests include data mining, machine learning, and computational intelligence

    Cong Lu: born in 1998. Master candidate. Her main research interests include stream data mining and online machine learning

    Gao Shuhua: born in 1996. Master. Her main research interests include stream data mining and online machine learning

    Wang Wenjian: born in 1968. PhD, professor, PhD supervisor. Distinguished member of CCF. Her main research interests include machine learning, data mining, and computational intelligence

  • 摘要:

    针对流数据中概念漂移发生后,在线学习模型不能对分布变化后的数据做出及时响应且难以提取数据分布的最新信息,导致学习模型收敛较慢的问题,提出一种基于在线集成的概念漂移自适应分类方法(adaptive classification method for concept drift based on online ensemble,AC_OE). 一方面,该方法利用在线集成策略构建在线集成学习器,对数据块中的训练样本进行局部预测以动态调整学习器权重,有助于深入提取漂移位点附近流数据的演化信息,对数据分布变化进行精准响应,提升在线学习模型对概念漂移发生后新数据分布的适应能力,提高学习模型的实时泛化性能;另一方面,利用增量学习策略构建增量学习器,并随新样本的进入进行增量式的训练更新,提取流数据的全局分布信息,使模型在平稳的流数据状态下保持较好的鲁棒性. 实验结果表明,该方法能够对概念漂移做出及时响应并加速在线学习模型的收敛速度,同时有效提高学习器的整体泛化性能.

    Abstract:

    In view of the problems that the online learning model cannot respond in time to the change of data distribution and it is difficult to extract the latest information of data distribution after concept drift occurs in streaming data, which leads to slow convergence of the learning model, an adaptive classification method for concept drift based on online ensemble (AC_OE) is presented. On the one hand, the online ensemble strategy is used to construct a local online learner, which can dynamically adjust the weight of base learner by local prediction of training samples in data blocks. It is helpful to not only extract the evolution information of streaming data in depth to make a more accurate response to the change of data distribution, but also improve the adaptability of the online learning model to the new data distribution after the occurrence of concept drift, and the real-time generalization performance of the learning model is improved too. On the other hand, the incremental learning strategy is used to construct a global incremental learner, and incremental training updates are carried out with the entry of new samples. The method extracts global distribution information of streaming data, and the model can maintain good robustness in the steady state of streaming data. Experimental results show that the proposed method can respond to concept drift and accelerate the convergence of online learning model, and improve the overall generalization performance of the learner effectively.

  • 随着嵌入式技术的发展,云计算、边缘计算等复杂计算场景对芯片的性能要求越来越高. 为了满足该应用需求,异构多核在现代计算机系统得到迅速发展. 然而,向大规模异构平台迁移非常困难. 软件层面的原因主要是大规模的、必要的程序并行导致软件调度的复杂度,即使在同构平台下这依然是大量学者致力研究的一个热点问题.

    本文首次针对有向无环图(directed acyclic graph, DAG)并行任务模型在异构平台上进行全局固定优先级限制性可抢占的可调度性分析,所提到的异构平台由多个不同类型的处理器组成(每个类别的处理器个数大于等于1). 由于异构融合的体系结构,多种不同类型的处理器集成在同一硬件,且并行软件中某些程序片段只能在特定的处理器执行. 因此,DAG任务的某些结点可以绑定到特定的一类处理器上执行. 而绑定处理器的操作,在一些主流的并行处理程序和操作系统都有对应的指令,例如:在OpenMP中可以通过proc_bind实现线程的绑定[1];在OpenCL中,通过clCreatCommand可以针对特定设备创建一组命令[2];在CUDA中,可以通过cudaSetDevise实现指令到目标设备的绑定[3]. 而对任务的如此处理可以避免任务在不同速率的处理器上迁移,减少实现难度和不必要的迁移开销. 下文中,我们称绑定处理器的DAG任务为分类DAG任务.

    在经典的调度策略中,一般忽略了任务抢占和迁移的开销. 然而,可抢占调度中频繁发生的抢占所造成的开销往往比不可抢占调度高很多,需要高度重视. 尤其在异构多核体系结构中,GPU中执行的任务片段是不可抢占的,因此一些实时系统的任务存在不可抢占域(即任务执行的某个片段不允许被抢占). 因此,限制性可抢占的研究对于实时系统的任务执行是至关重要的.

    关于分类DAG任务集的调度问题,难点主要存在2方面:1)DAG任务内部不同结点的互相影响;2)不同DAG任务结点间的互相影响. 尤其是限制性可抢占导致优先级翻转,即低优先级任务会对高优先级任务结点的执行造成阻塞. 因此,分类DAG的某个结点的执行会受到自身其他结点的干涉、高优先级任务的干涉以及低优先级任务的阻塞. 其中,自身结点的干涉已经在早期工作[4]中解决. 本文重点解决高优先级任务的干涉、低优先级任务的阻塞的分析问题以及分类DAG的最差响应时间(worst case response time,WCRT)分析,主要创新点包括3个层面:

    1)由于分类导致DAG任务的关键路径(得到WCRT的路径)不确定[4],从而增加高优先级任务干涉分析的难度. 结合经典的同构DAG理论和分类DAG的特点,本文提出了分类DAG高优先级分析方法.

    2)解决了分类DAG限制性可抢占导致的优先级翻转问题. 本文将同构DAG的低优先级任务分析方法和分类DAG相结合,提出了分类DAG的低优先级任务阻塞的分析方法.

    3)采用文献[4]的路径抽象方法并结合高、低优先级任务的分析,提出了分类DAG任务集的WCRT分析方法. 由于高、低优先级任务干涉计算的引入,本文对文献[4]路径抽象规则进行了创新.

    在嵌入式实时系统中,某些任务的执行只能在规定的地方被抢占. 考虑到完全可抢占和完全不可抢占的优缺点,限制性可抢占的研究非常重要. 近年来关于这方面的研究也较突出. 如:文献[5]的工作针对多核全局最早截止期优先限制性可抢占任务做出了分析;文献[6-7]对非并行任务在全局调度策略下进行了响应时间分析;文献[8]针对多核并行任务的限制性可抢占问题进行了分析,并根据抢占策略的不同提出了对应的分析方法并进行了比较;文献[9]针对DAG的限制性可抢占问题进行了研究,特别是针对低优先级任务的阻塞在效率和精确度的不同上提出了不同的分析策略. 然而,限制性可抢占的研究工作还未考虑到资源的限制性. 随着异构体系结构的发展,资源限制性是必须要考虑和解决的问题.

    资源限制性问题的研究曾经非常热门,也取得了一些研究成果,基于当时的条件这些成果考虑的任务模型相对简单. 例如文献[10-13]考虑的问题是2种处理器集合分配给2个任务,并且一个处理器集合是另一个集合的子集等,相关研究总结在综述类文献[14-15]. 可以发现,现有研究的问题和本文提出的分类DAG任务的可调度性问题存在差异. 针对分类DAG任务的可调度性研究,可查阅的文献较少,Han等人在文献[4]中提出单个分类DAG的响应时间分析,该文分析了单DAG分类任务可调度性,并提出了基于路径抽象的方法进行可调度性分析. 基于此研究以及并行任务分析和响应时间分析的经典理论[16-18],Han等人提出了基于联合策略的可调度性分析[19]和全局固定优先级可调度性分析[20]. 文献[21]提出的工作和本文的任务模型接近,该工作是基于分解策略提出的点到点(即计算路径中每个点的WCRT)的调度分析方法,然而该方法并未考虑资源限制的问题. 就单个分类DAG任务而言,文献[4]进行了算法对比,对比实验结果显示文献[21]算法比文献[4]算法明显消极.

    本文的主要工作是基于文献[4]的理论基础,提出基于全局固定优先级的限制性可抢占调度策略的分类DAG任务的可调度性分析方法. 分类导致DAG任务的关键路径不确定,从而增加高、低优先级任务的分析难度. 本文将DAG分析的理论(基于路径的分析)和分类DAG任务相结合,成功解决了该难题. 最后,基于文献[4]的路径抽象算法,更新路径抽象规则,进行任务集的可调度性判定.

    本文对由N个分类DAG任务组成的任务集G={G1,G2,,GN}进行可调度性分析,该任务集执行的系统由不同种类的核组成. S是核类别的集合,对于每种类型sS具有MsMs1)个核用于调度. 分类DAG任务Gi=(Vi,Ei,C,γi,Ti,Di),该元组中各个符号的定义为:

    1)Vi 表示Gi所有结点的集合,结点vjiVi,1jniniGi的结点数;

    2)Ei表示Gi所有边的集合,结点(u,v)Ei,v,uVi

    3)C表示Gi每个结点最差执行时间 (worst case execution time, WCET)的函数,C(vji)表示结点vji的WCET;

    4)γi 表示Gi每个结点类型的集合,γji表示结点vji的类型;

    5)Ti 表示Gi相邻2个实例的最小释放时间间隔;

    6)Di 表示Gi的相对截止期,即Gi在时间点ri释放一个任务实例,必须在ri+Di内完成该任务实例的执行.

    如果存在边(u,v)Eiuv的直接前继结点,而vu的直接后继结点;如果存在从uv的路径,uv的祖先结点,而vu的子孙结点. 本文用pre(vji),suc(vji),ans(vji)des(vji)分别表示结点vji的前继结点集合、后继结点集合、祖先结点集合以及子孙结点集合. 对于每个DAG任务,都假设其只有1个源结点和1个结束结点. 如果任务Gi具有多个源结点和多个结束结点,可以通过给Gi增加虚拟源结点(结点的WCET为0)和虚拟结点到Gi的原源结点的有向边,使其变成单源结点. 用相同的方法使Gi变成单结束结点的任务. πi={v1i,v2i,,vki}Gi的一条路径,如果路径πiv1i是源结点且vki是结束结点,则πi是一条完整的路径. 由于任务是按照类别进行执行的,需要对每个任务的WCET之和进行标记,具体为:

    1)vol(Gi)=1jniC(vji),表示任务Gi所有结点的WCET之和;

    2)vols(Gi)=1jniγji=sC(vji),表示任务Gi所有类别为s的结点的WCET之和;

    3)len(πi)=vjiπiC(vji) 表示路径πi上的所有结点的WCET之和,即路径πi的长度;

    4)len(Gi)=maxπiGilen(πi) 表示任务Gi的最长路径.

    例1. 异构DAG并行任务模型如图1所示,任务执行在具有2种类别的处理器平台,白色圈表示类别1,灰色圈表示类别2,结点旁的数值表示任务的WCET.

    图  1  分类DAG任务G1的示意图
    Figure  1.  Illustration of typed DAG task G1

    本文中任务采用全局固定优先级限制性可抢占策略进行调度. 任务按照优先级顺序排列,即如果i<j,则Gi的优先级比Gj高. 限制性可抢占是指任务的结点一旦开始执行,其执行不会被高优先级任务抢占.

    本文将提出一种过量估计方法分析每个任务的WCRT上界,从而保证任务执行的安全性. 其中,任务Gi的WCRT上界表示为Ri.

    本节将针对任务集G={G1,G2,,GN}进行可调度性分析,并假设Gk是被分析任务,k=1,2,,N.

    DAG任务WCRT上界分析方法多基于关键路径. 同构平台下,最长路径即为关键路径[18]. 然而,这一结论已经不适用于分类DAG[4],最长路径分析方法得到的WCRT上界并不安全,增大了分类DAG的分析难度. 分类DAG任务进行可调度性分析需要解决2个问题:1)如何确定关键路径;2)已知关键路径,如何进行响应时间分析. 为了确保分析方法的安全可靠,解决问题1)最简单的方法是枚举所有路径,后面会介绍如何解决枚举问题. 针对问题2),本文基于路径进行解决. 首先,假设Gk的关键路径是πkπk={v1k,v2k,,vkk}.

    路径πk的执行受到3种不同类型的干扰:第1种,任务内干涉Intra(πk);第2种,其他高优先级任务的干涉;第3种,低优先级任务的阻塞.

    由文献[4]的结论可知,路径πk受到的任务内干涉定义为与πk结点并行且实际干涉πk上结点执行的同类结点工作量之和与对应的处理器个数的比值,即

    Intra(πk)=sγkvjkivs(πk,s)C(vjk)Ms, (1)

    其中ivs(πk,s)在文献[4]中定义为路径πk实际受到的任务内干涉.

    根据文献[9]可知,路径πk受到的任务间干涉为路径上所有类别的高优先级任务的工作量加上低优先级任务的阻塞量之和与处理器个数总和的比值,即

    Inter(πk)=sγkWs(πk)+Bs(πk)Ms, (2)

    其中,Ws(πk)表示高优先级任务产生的工作量之和的上界,Bs(πk)表示低优先级任务产生的工作量之和的上界. 根据式(1)(2),可以得到如下结论:

    引理1. 路径πk={v1k,v2k,,vkk}Gk的一条完整路径,其WCRT上界

    R(πk)=len(πk)+Intra(πk)+Inter(πk). (3)

    证明. 根据文献[918],引理可证.证毕.

    关键问题是如何计算Inter(πk).Inter(πk)包括2个部分,即高优先级任务的干涉和低优先级任务的阻塞,下面将对这2个部分产生的工作量上界进行分析.

    对于高优先级任务的干涉量计算,首先要确定在某个时间窗口里高优先级任务能够产生的每个类别的工作量上界. 在时间长度为x的窗口内,高优先级任务Gi产生的工作量上界表示为Wi(x),产生类别为s的工作量上界表示为Wsi(x)Wsi(x)计算过程详见引理2.

    引理2. 在长度为x的时间窗口内,高优先级任务Gi能够产生的类别为s的工作量上界为

    Wsi(x)=(xvols(Gi)/MsTi+1)×vols(Gi)+α, (4)

    其中 α=min(vols(Gi),max(0,Ms×((xvols(Gi)Ms)modTi(TiRi)))).

    证明. 引理2能够得到证明基于2个层面的假设:

    1) 当carry-in实例(该实例在窗口之前释放,在窗口内完成)和carry-out实例(该实例在窗口内释放,截止期在窗口外)的s类别的工作量平均分布在所有s类核上时(如图2所示),可以得到s类别的工作量上界.

    图  2  Gix窗口内产生最大工作量的最坏情况
    Figure  2.  worst-case scenario to maximum workload in x of Gi

    2) 假设carry-out实例全部带入,可以得到高优先级任务的工作量上界,该假设基于假设1).

    首先,证明假设1)的正确性. 该假设忽略任务的内部结构,单纯考虑长度为x的时间窗口内能够产生的工作量的最大情况. 采用反证法,如果vols(Gi)的工作量分布在 Ms个核且Ms<Ms,根据式(4),该设想显然不能增加窗口内的工作量,因此假设1)成立.

    假设2)的证明依然采用反证法,假设carry-out带入的减少即窗口向左滑动ε=δ×vols(Gi)/Ms的长度,0<δ<1. 窗口向左滑动,会导致左边carry-in实例长度的增加,即carry-in实例在窗口内增加ε的长度. 而carry-in和carry-out实例s类的工作量是均匀分布在所有核上,所以最终的工作量总和不会发生改变,即假设2)成立. 接下来证明式(4)计算的正确性.

    图2中,x的时间窗口的组成包括:长度为vols(Gi)/Ms的carry-out实例、body实例(释放和截止期都在窗口内的实例)个数的周期长度以及carry-in实例长度. 而body实例数量的上界为

    xvols(Gi)/MsTi.

    x窗口还有carry-in的组成部分. 而carry-in的长度可由α计算. 根据图2,carry-in长度不大于vols(Gi)/Ms.

    综上,引理2得证.证毕.

    根据引理2,在长度为x的时间窗口内,所有高优先级任务Gi产生的s类别的工作量上界为

    Ws(x)=i<kWsi(x). (5)

    限制性可抢占导致优先级翻转的问题,即低优先级任务会阻塞高优先级任务的执行. 当路径πk上的某个结点vik可以执行时,即所有前继结点完成执行,而处理器被低优先级任务占用,从而造成对该结点的阻塞. 被低优先级任务占用的处理器个数为1~Ms(少于Ms个是因为处理器被高优先级任务或者前继结点占用),最坏情况要结合vik的情况进行讨论.

    如果i=1即该结点是源结点,最多有Ms个低优先级任务的结点阻塞其执行. 如果1<ini,分成2种情况进行讨论:

    1)γi1k=s,则最多有Ms1个低先级任务的结点阻塞其执行. 因为只有Ms1个低优先级任务的结点和vi1k结点并行执行且未执行完造成对vik的阻塞,如图3所示.

    图  3  γi1k=s时的情况
    Figure  3.  Scenario for γi1k=s

    2)γi1ks,则最多有Ms个低优先级任务的结点阻塞其执行. 因为前继结点的执行不占用s类别的核,因此vik可以执行时最多有Ms个低优先级任务的结点未完成执行,如图4所示.

    图  4  γi1ks时的情况
    Figure  4.  Scenario for γi1ks

    ΔMskΔMs1k分别表示最大的Ms个和Ms1个不可抢占低优先级结点的工作量之和,即

    ΔMsk=MsmaxGi>k(Msmax1jnjC(vji)), (6)
    ΔMs1k=Ms1maxGi>k(Ms1max1jnjC(vji)). (7)

    其中:Gi>k表示所有的低优先级任务;MsmaxGi>kMs1maxGi>k分别表示所有的低优先级任务中的 Ms个和Ms1个最大的不可抢占结点的工作量之和;而Msmax1jnjMs1max1jnj分别表示GiMs个和Ms1个最大的不可抢占结点的工作量之和. 式(6)(7)分别计算了所有低优先级任务中最大的Ms个和Ms1个最大的不可抢占结点的工作量之和,如此定义是因为最大的结点来自于不同的任务.

    综上,被分析路径上的某个结点阻塞量的计算总结见引理3.

    引理3. 结点vik是路径πk={v1k,v2k,,vkk}上的第i个结点,其类别为γik=s,则它的阻塞量上界为

    Θs(πk,vik)={ΔMsk,i=1i1γi1ks.ΔMs1k,i1γi1k=s. (8)

    证明. 根据式(6)(7),引理3得证.

    证毕.

    路径πk={v1k,v2k,,vkk}s类的阻塞量之和

    Bs(πk)=vikπkγik=sΘs(πk,vik). (9)

    基于文献[4]提出的路径抽象算法,进行响应时间分析.

    算法基本思路:对于结点vik,每条经过它的路径均可用一个元组表示vik,Δ(πk,vik),R(πk,vik),其中Δ(πk,vik)用来记录路径上计算过的并行结点(任务内干涉),R(πk,vik)表示该路径上的结点vik的响应时间. 经过vik的每条路径都有一个元组与之对应,同样的元组可以被合并成为一个,不同的2个元组如果符合一定的条件可以被其中一个元组替换. 替换的基本原则是被替换掉的元组不会导致比替换它的元组更大的WCRT上界. 经过元组的合并和替换操作过滤掉不必要的元组,达到减少路径的目的. 对DAG任务中的每个结点进行相同操作,直至最终结点. 最终结点上所有元组中最大的R(πk,vik)即为任务Gk的WCRT上界.

    接下来,对Δ(πk,vik), R(πk,vik)和替换规则进行定义.

    定义1[4]. 对于Gk的一条路径πk={v1k,v2k,,vkk}Δ(πk,vik)定义为距离路径上结点vik最近的所有类别结点的集合,即

    Δ(πk,vik)={δ(πk,vik,s)|sγk}, (10)

    其中

    δ(πk,vik,s)={c(vi),s=γik,,sγiki=1,δ(πk,vik,s),sγik1<ik.

    定义2. 路径πk={v1k,v2k,,vkk}中从源结点开始到vik的所有类型的集合,定义为

    γ(πk,vik)=1jiγjk. (11)

    显然,vik为结束结点时γ(πk,vik)表示整条路径的类型集合. 本文采用len(πk,vik)表示从源结点到vik的路径长度,即

    len(πk,vik)=1jiC(vjk). (12)

    从源结点到vik的所有s类别阻塞量之和为

    Bs(πk,vik)=1jiγjk=sΘs(πk,vjk). (13)

    定义3. 对于Gk的一条路径πk={v1k,v2k,,vkk}R(πk,vik)定义为

    R(πk,vik)=L(πk,vik)+sγ(πk,vik)Ws(len(πk,vik))+Bs(πk,vik)Ms, (14)

    其中L(πk,vik)定义为

    L(πk,vik)={C(v1k),i=1,L(πk,vi1k)+C(vik)+vϕ(πk,vik)C(v)Ms,2ik. (15)

    vϕ(πk,vik)C(v)Ms是文献[4]中关于任务内关涉的计算,与元组的抽象息息相关. 其中,重要计算参数定义为

    ϕ(πk,vik)=par(vik)par(δ(πk,vi1k,γ(vik))),
    par(vik)={v|vVkvans(vik)vdes(vik)}.

    由于其他任务干涉的增加,导致文献[4]算法中元组替换的规则不再适用,需要增加新的替换规则满足增加的其他任务干涉的分析,具体见引理4.

    引理4. 当任务Gk的2个路径π1k和路径π2k汇聚在vik结点时,2条路径分别由元组vik,Δ(π1k,vik),R(π1k,vik)vik,Δ(π2k,vik),R(π2k,vik)表示,前者为元组1,后者为元组2. 当元组1和元组2满足条件1)~3)时,元组2可以被元组1替换.

    1) γ(π1k,vik)=γ(π2k,vik)

    2) R(π1k,vik)R(π2k,vik)

    3) 对于任意类型s,条件①②必须成立:

    δ(π1k,vik,s)=⊥

    (δ(π1k,vik,s)≠⊥)(δ(π2k,vik,s)≠⊥)   (par(δ(π1k,vik,s)))(des(δ(π2k,vik,s)))=

    证明. 替换规则2)和3)已经在文献[4]中证明. 本文只需证明规则1)的必要性. 采用反证法,如果规则1)不成立,则以下2种情况之一成立:

    1)γ(π1k,vik)γ(π2k,vik). 设路径1和路径2经过结点vik, γ(π1k,vik)={s1,s2}γ(π2k,vik)={s1,s2,s3}. 在vik到结束结点的搜索过程中,2条路径都不会再增加新的类别. 路径长度在增大,而高优先级任务干涉的计算是非递减的,从而造成s3类别的高优先级任务造成的干涉逐渐增大. 因此路径2不能被替换.

    2)γ(π1k,vik)γ(π2k,vik). 设路径1和路径2经过结点vik,到达后继结点vi+1k.γi+1k=ssγ(π1k,vik)γ(π2k,vik),即到达结点vi+1k路径2会增加1个新的类别s,从而导致在结点vi+1k路径2增加的高优先级任务干涉比路径1增加得多,因此路径2不能被替换.

    证毕.

    最终,本文提出的分析方法综合为算法1,来判定任务集的可调度性.

    算法1. 任务集可调度性分析算法.

    输入:任务集G,处理器池M={Ms|sS}

    输出:是否可以被调度.

    LimitedPreSchedulingG,M);

    ② for each task Gk in G

    ③  TS={v1k,{v1k},C(v1k)}

    /* 从任务Gk的源结点开始更新元组集合*/

    ④  while(v,Δ,RTS;vvsnk) do

    /*针对元组中的每个元组进行下面的计算*/

    ⑤   for each vsuc(v) do

    /* 从结点v搜索至结点v*/

    ⑥   基于v,Δ,R和式(14)计算v,Δ,R

    ⑦    if (v,Δ,RTS or v,Δ,R

    根据代替规则可代替v,Δ,R

    ⑧     TS=TS{v,Δ,R}

    ⑨    end if

    ⑩   end for

    ⑪   TS=TS{v,Δ,R}

    ⑫  end while

    ⑬  for each v,Δ,RTS do

    /* 结束结点vsnk所有元组中具有最大R

    即为任务Gk的WCRT上界*/

    ⑭   Rtmp={Rv,Δ,R}

    ⑮   Rk=max(Rtmp)

    ⑯  end for

    ⑰  if Rk>Dk

    ⑱   return不可调度的;

    ⑲  end if

    ⑳ end for

    ㉑ return可调度的.

    算法1针对任务集中的每个任务进行路径抽象,计算其WCRT上界. 算法1的行③~⑫是针对每个任务Gk,从源结点开始搜索至结束结点,针对每个结点基于其前继结点的元组进行该结点的元组计算,计算出新的元组进行元组合并和替换操作,直至结束结点. 结束结点所有元组中最大的R即为Gk的WCRT上界(行⑬~⑯). 如果Rk>Dk说明该任务不可调度,直接结束计算返回整个任务集不可被调度;否则,继续分析下一个任务. 如果最后1个任务被分析完,且满足截止期的要求则整个任务集可被调度(行⑰~㉑).

    基于文献[4],算法1对DAG任务每个结点的响应时间分析时增加了其他任务的干涉计算. 在算法1过程中增加了新的合并和替换规则以保证最终计算的安全性.

    定理1. 任务集G是否可以被调度,可以由算法1来判定.

    证明. 综合理论和算法1的伪代码分析,定理1得证.证毕.

    本文采用仿真实验,分别从算法的准确性和效率层面进行算法的验证. 对任务集的可调度性产生影响的参数包括:任务集利用率、处理器个数、任务集内任务个数、结点个数、类别数以及每个任务的并行度. 首先,对这些参数设置一组默认参数,然后基于该默认参数进行对应参数实验变化的验证实验. 异构平台相关的实验数据基于OpenAMP[22]项目支持的硬件平台作为基础数据,对类别数和每种类别核数量的范围进行适当地增大,观察这2组参数对算法性能的影响. 而任务集的默认参数则结合实际情况和其他DAG任务集的相关参数进行设置. 默认参数设置为:

    1)异构平台上核类别的数量在[2,15]随机生成,每个类别核的数量Ms在[2,10]随机生成;每个类别s的利用率在[1,Ms/3]的范围内随机生成;

    2)任务集中,任务的数量在[2,20]的范围内随机生成;

    3)用UUnifast方法[23]为每个任务的s类别分配利用率;

    4)对于每一个任务,周期在[100,1000]之内随机生成,默认每个任务的相对截止期等于周期;

    5)每次随机选取1000个任务集分析平均性能.

    对单个任务的参数进行设置,主要依据文献[4],具体参数设置为:

    1)每个DAG任务的任务结构采用文献[24]提出的方法生成. 任务的结点数在[15,30]的范围内随机生成;任意2个结点之间是否生成边,需要随机选定;假设选定为增加该边,需进一步判定,即增加该边后并行度Pr的值满足要求,则增加边,否则不增加;Pr值在[0,1]之间随机选择,注意Pr值越大说明并行度越低,Pr值为1则所有结点为串行.

    2)采用UUnifast方法将已分配的利用率分配给每个结点,注意利用率是按类别分配的,结点的WCET值等于分配的利用率与周期的乘积.

    算法的正确性采用接受率进行验证,接受率定义为可以被调度的任务集占所有被测试的任务集的比率. 图5(a)~(f)展示的是各个参数下的接受率. 其中,图5(a) ~ (d)是整个任务集参数对接受率的影响,图5(e) ~ (f)是单个任务中重要参数对接受率的影响. 图5(a)中,因为利用率增大,而每个类别的处理器个数不变,使得接受率逐渐下降;图5(b)中,由于利用率固定,每个类别的处理器个数增加,从而导致接受率逐渐提升;图5(c)表明,其他参数不变的情况下,任务集中任务个数越多任务越难以调度;图5(d)表明,类别越多,相同利用率下分给每个类别的利用率就会减少,而类别的增加也会导致处理器个数增加,从而使得接受率提升;图5(e)表明,单个任务内部结点个数对接受率的影响不显著;图5(f)表明,单个任务内部并行度越高(Pr值越低)接受率越高,这是因为并行度大则并行执行的可能性增大,从而提高接受率. 综上分析,实验数据符合各参数的性质和对实际任务可调度性的影响.

    图  5  各种参数下的任务接受率
    Figure  5.  Acceptance ratio of tasks under different parameters

    图6(a) ~ (f)是对应接受率实验的各个参数下的效率实验. 其中,效率趋势中的每个点是所有1000个参加测试的任务集的平均分析时间. 注意,该时间随着分析设备硬件性能的不同会有所不同,其变化趋势可以表明与相关参数的关联性. 同样地,图6(a) ~ (d)为与任务集相关的参数,而图6(e)(f)是和单个任务相关的参数. 图6(a)(b)(d)中时间效率的变化趋势分别和图5(a)(b)(d)类似,这是因为接受率低,说明不可调度的任务集增多,在第1次出现不可调度任务时停止对任务集的分析从而出现平均分析时间下降的现象. 图6(c)的实验结果为时间效率先升高后降低. 图6(c)升高趋势的原因是当任务集接受率差不多时,任务集中任务个数增多,导致平均分析时间变长;图6(c)降低趋势的原因是由于接受率降低太多. 图6(e)中曲线变化表明,时间效率对任务内的结点个数是敏感的,当任务内的结点数增多时,时间效率呈增长趋势,且增长速度非常大. 图6(f)中时间效率变化趋势类似于图6(c),即先增后降,当任务集都可调度时任务分析时间随并行度下降而升高,当并行度降低到一定程度时接受率下降过多,导致任务集大量开始不可调度,从而导致平均分析时间下降.

    图  6  各种参数下的效率
    Figure  6.  Efficiency under different parameters

    实验结果表明,本文提出的算法具有很好的接受率且任务的平均分析时间在嵌入式实时系统离线分析时间的可接受范围内,各个参数实验数据均符合实验预期.

    本文针对异构平台上任务执行进行资源限制即规定任务只能执行在某一类处理器上这一特殊模型,进行了基于全局固定优先级限制性可抢占调度策略的可调度性分析. 首先,提出了整体的分析思路;然后,针对高优先级任务的干涉和低优先级任务的阻塞进行了分析;最后,结合最新的异构模型提出了一个整体的分析方法. 实验结果表明,本文提出的算法性能良好,能够在有效时间内完成任务的分析,且任务的可调度性和各个参数的关系符合实验预期.

    作者贡献声明:韩美灵提出了算法思路并撰写论文;孙施宁负责实现算法并设计了相关实验方案;邓庆绪提出研究思路并指导修改论文.

  • 图  1   AC_OE方法整体框架

    Figure  1.   The overall framework of AC_OE method

    图  2   在线集成的局部预测过程

    Figure  2.   Local prediction process for online ensemble

    图  3   增量学习的全局预测过程

    Figure  3.   Global prediction process for incremental learning

    图  4   不同方法平均精度的Bonferroni-Dunn检验结果

    Figure  4.   Bonferroni-Dunn test result for average of different methods

    图  5   不同方法在各数据集上的累积精度比较

    Figure  5.   Comparison of cumulative accuracy of different methods on every dataset

    图  6   不同方法的鲁棒性比较

    Figure  6.   Robustness comparison of different methods

    表  1   本实验采用的数据集

    Table  1   Datasets Used in Our Experiment

    数据集属性维数样本类别样本数量漂移类型漂移位点数漂移位点位置
    Hyperplane102100×103增量型--
    LED_abrupt2410100×103突变型150×103
    LED_gradual2410100×103渐变型325×103,50×103,75×103
    RBFblips204100×103突变型325×103,50×103,75×103
    Sea32100×103渐变型325×103,50×103,75×103
    Tree3010100×103突变型325×103,50×103,75×103
    KDDcup9941234 940×103未知--
    Electricity6245.3×103未知--
    Covertype547581×103未知--
    Weather9395.1×103未知--
    注:“-”表示不确定漂移位点数量或漂移位点位置.
    下载: 导出CSV

    表  2   不同参数下平均实时精度

    Table  2   Results of Average Real-time Accuracy Under Different Parameters

    数据集C=1C=10C=100
    β=0.8β=0.85β=0.9β=0.95β=0.8β=0.85β=0.9β=0.95β=0.8β=0.85β=0.9β=0.95
    Hyperplane0.86710.86540.86620.86870.88690.88970.89450.89660.87030.87610.88420.8893
    LED_abrupt0.39290.39420.39530.39910.47710.47960.48660.50540.46810.47000.47720.4999
    LED_gradual0.40110.40310.40280.40890.48760.49080.49910.51780.47820.48170.49010.5104
    RBFblips0.69870.69690.70480.68440.87320.87590.87820.88020.92410.92710.92750.9316
    Sea0.79180.79460.79900.80270.74170.74870.75740.77640.73840.73690.74740.7720
    Tree0.38030.37860.36950.36740.52940.53330.53720.54800.50620.50930.51570.5383
    KDDcup990.94320.94460.93950.88050.94260.91060.93690.89020.92460.91060.93690.8902
    Electricity0.74210.74500.73940.70940.76920.76240.75890.73170.79190.79150.79040.7604
    Covertype0.63870.64090.73950.72290.64950.76100.76600.76080.76470.76470.78130.7796
    Weather0.90630.90100.89790.90360.90510.90280.89820.90690.90600.90290.89830.9069
    注:C表示惩罚参数,β表示衰退因子,黑体数字表示最高平均实时精度.
    下载: 导出CSV

    表  3   不同方法的平均实时精度比较

    Table  3   Comparison of Average Real-Time Accuracy Under Different Methods

    数据集平均实时精度(排名)
    AC_OEAUE2DNN-16SEA
    Hyperplane0.8966(2)0.8847(3)0.8821(4)0.8992(1)
    LED_abrupt0.5054(2)0.5096(1)0.3761(4)0.4813(3)
    LED_gradual0.5178(1)0.5127(2)0.3918(4)0.4905(3)
    RBFblips0.9316(1)0.7519(3)0.8023(2)0.7045(4)
    Sea0.8027(3)0.8139(2)0.7019(4)0.8229(1)
    Tree0.5480(1)0.4101(2)0.1634(4)0.3986(3)
    KDDcup990.9446(1)0.9023(3)0.3017(4)0.9338(2)
    Electricity0.7919(1)0.6183(2)0.5128(4)0.6132(3)
    Covertype0.7813(1)0.6306(2)0.6269(3)0.6240(4)
    Weather0.9069(1)0.8824(2)0.8043(4)0.8781(3)
    平均排序1.4(1)2.2(2)3.7(4)2.7(3)
    注:黑体数字表示最高平均实时精度 .
    下载: 导出CSV

    表  4   不同方法的恢复值(RSA)比较

    Table  4   Recover value (RSA) Comparison of Different Methods

    数据集AC_OESEAAUE2DNN
    前位点中位点后位点前位点中位点后位点前位点中位点后位点前位点中位点后位点
    LED_abrupt-1.02--4.68--1.47--41.6-
    LED_gradual0.480.480.480.512.553.570.492.453.4374.099.540.6
    RBFblips0.070.070.070.600.900.150.501.000.255.2022.83.48
    Sea0.200.200.400.180.540.720.190.190.381.023.903.90
    Tree0.450.450.903.604.202.400.594.133.5496.5**
    注:“-”表示该位点处没有发生概念漂移,黑体数字表示最高平均实时精度,“*”表示不对当前位点恢复度进行统计.
    下载: 导出CSV
  • [1]

    Georg K, Zliobaite I, Brzezinski D. Open challenges for data stream mining research[J]. ACM SIGKDD Explorations Newsletter, 2014, 16(1): 1−10 doi: 10.1145/2674026.2674028

    [2]

    Lughofer E, Pratama M. Online active learning in data stream regression using uncertainty sampling based on evolving generalized fuzzy models[J]. IEEE Transactions on Fuzzy Systems, 2018, 26(1): 292−309 doi: 10.1109/TFUZZ.2017.2654504

    [3] 翟婷婷,高阳,朱俊武. 面向流数据分类的在线学习综述[J]. 软件学报,2020,31(4):912−931 doi: 10.13328/j.cnki.jos.005916

    Zhai Tingting, Gao Yang, Zhu Junwu. Survey of online learning algorithms for streaming data classification[J]. Journal of Software, 2020, 31(4): 912−931 (in Chinese) doi: 10.13328/j.cnki.jos.005916

    [4] 杜航原,王文剑,白亮. 一种基于优化模型的演化数据流聚类方法[J]. 中国科学:信息科学,2017,47(11):1464−1482 doi: 10.1360/N112017-00107

    Du Hangyuan, Wang Wenjian, Bai Liang. A novel evolving data stream clustering method based on optimization model[J]. SCIENTIA SINICA:Informationis, 2017, 47(11): 1464−1482 (in Chinese) doi: 10.1360/N112017-00107

    [5]

    Ma J, Saul L K, Savage S, et al. Identifying suspicious URLs: An application of large-scale online learning [C] // Proc of the 26th Annual Int Conf on Machine Learning, New York: ACM, 2009: 681−688

    [6]

    Lu Jie, Liu Anjin, Dong Fan, et al. Learning under concept drift: A review[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(12): 2346−2363

    [7]

    Tennant M, Stahl F T, Rana O F, et al. Scalable real-time classification of data streams with concept drift[J]. Future Generation Computer Systems, 2017, 75: 187−199 doi: 10.1016/j.future.2017.03.026

    [8]

    Du Lei, Song Qinbao, Jia Xiaolin. Detecting concept drift: An information entropy based method using an adaptive sliding window[J]. Intelligent Data Analysis, 2014, 18(3): 337−364 doi: 10.3233/IDA-140645

    [9]

    Bifet A, Gavalda R. Learning from time-changing data with adaptive windowing [C] // Proc of the 7th SIAM Int Conf on Data Mining. Philadelphia, PA: SIAM, 2007: 443−448

    [10]

    Guo Husheng, Li Hai, Ren Qiaoyan, et al. Concept drift type identification based on multi-sliding windows[J]. Information Sciences, 2022, 585: 1−23 doi: 10.1016/j.ins.2021.11.023

    [11] 郭虎升,任巧燕,王文剑. 基于时序窗口的概念漂移类别检测[J]. 计算机研究与发展,2022,59(1):127−143 doi: 10.7544/issn1000-1239.20200562

    Guo Husheng, Ren Qiaoyan, Wang Wenjian. Concept drift class detection based on time window[J]. Journal of Computer Research and Development, 2022, 59(1): 127−143 (in Chinese) doi: 10.7544/issn1000-1239.20200562

    [12]

    Baena-García M, Campo-Ávila R J, Fidalgo D, et al. Early drift detection method [C] // Proc of the 17th ECML PKDD Int Workshop on Knowledge Discovery From Data Streams. Berlin: Springer, 2006: 77–86

    [13] 郭虎升,张爱娟,王文剑. 基于在线性能测试的概念漂移检测方法[J]. 软件学报,2020,31(4):932−947 doi: 10.13328/j.cnki.jos.005917

    Guo Husheng, Zhang Aijuan, Wang Wenjian. Concept drift detection method based on online performance test[J]. Journal of Software, 2020, 31(4): 932−947 (in Chinese) doi: 10.13328/j.cnki.jos.005917

    [14] 文益民,唐诗淇,冯超,等. 基于在线迁移学习的重现概念漂移数据流分类[J]. 计算机研究与发展,2016,53(8):1781−1791 doi: 10.7544/issn1000-1239.2016.20160223

    Wen Yimin, Tang Shiqi, Feng Chao, et al. Online transfer learning for mining recurring concept in data stream classification[J]. Journal of Research and Development, 2016, 53(8): 1781−1791 (in Chinese) doi: 10.7544/issn1000-1239.2016.20160223

    [15]

    Street W N, Kim Y S. A streaming ensemble algorithm (SEA) for large-scale classification [C] // Proc of the 7th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2001: 377−382

    [16]

    Lu Yang, Cheung Y M, Tang Yuanyan. Adaptive chunk-based dynamic weighted majority for imbalanced data streams with concept drift[J]. IEEE Transactions on Neural Networks and Learning Systems, 2020, 31(8): 2764−2778 doi: 10.1109/TNNLS.2019.2951814

    [17]

    Brzezinski D, Stefanowski J. Reacting to different types of concept drift: The accuracy updated ensemble algorithm[J]. IEEE Transactions on Neural Networks and Learning Systems, 2014, 25(1): 81−94 doi: 10.1109/TNNLS.2013.2251352

    [18]

    Kolter J, Maloof M. Dynamic weighted majority: A new ensemble method for tracking concept drift [C] // Proc of the 3rd IEEE Int Conf on Data Mining. Piscataway, NJ: IEEE, 2003: 123−130

    [19]

    Elwell R, Polikar R. Incremental learning of concept drift in nonstationary environments[J]. IEEE Transactions on Neural Networks, 2011, 22(10): 1517−1531 doi: 10.1109/TNN.2011.2160459

    [20]

    Guo Husheng, Zhang Shuai, Wang Wenjian. Selective ensemble-based online adaptive deep neural networks for streaming data with concept drift[J]. Neural Networks, 2021, 142: 437−456 doi: 10.1016/j.neunet.2021.06.027

    [21]

    Sun Yu, Tang Ke, Zhu Zexuan, et al. Concept drift adaptation by exploiting historical knowledge[J]. IEEE Transactions on Neural Networks and Learning Systems, 2018, 29(10): 4822−1832 doi: 10.1109/TNNLS.2017.2775225

    [22]

    Shan Jicheng, Zhang Hang, Li Weike, et al. Online active learning ensemble framework for drifted data streams[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(2): 486−498 doi: 10.1109/TNNLS.2018.2844332

    [23]

    Oza N C. Online bagging and boosting [C] // Proc of the IEEE Int Conf on Systems, Man and Cybernetics. Piscataway, NJ: IEEE, 2005: 2340−2345

    [24]

    Oza N C, Russell S. Experimental comparisons of online and batch versions of bagging and boosting [C] //Proc of the 7th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2001: 359−364

    [25]

    Bifet A, Holmes G, Kirkby R, et al. MOA: Massive online analysis[J]. Journal of Machine Learning Research, 2010, 11(52): 1601−1604

    [26]

    Sigkdd. KDDCup99 data [DB/OL]. [2019-04-19]. http://kdd.ics.uci.edu/data-baseskddcup99/kddcup99.htlm

    [27] 赵鹏,周志华. 基于决策树模型重用的分布变化流数据学习[J]. 中国科学:信息科学,2021,51(1):1−12 doi: 10.1360/SSI-2020-0170

    Zhao Peng, Zhou Zhihua. Learning from distribution-changing data streams via decision tree model reuse[J]. SCIENTIA SINICA:Informationis, 2021, 51(1): 1−12 (in Chinese) doi: 10.1360/SSI-2020-0170

    [28]

    Demsar J. Statistical comparisons of classifiers over multiple datasets[J]. Journal of Machine Learning Research, 2006, 7(1): 1−30

图(6)  /  表(4)
计量
  • 文章访问数:  191
  • HTML全文浏览量:  27
  • PDF下载量:  103
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-03-23
  • 修回日期:  2022-07-07
  • 网络出版日期:  2023-02-28
  • 刊出日期:  2023-06-30

目录

/

返回文章
返回