一种基于机器学习技术的多线程应用程序动态调度方法技术

技术编号:24352698 阅读:49 留言:0更新日期:2020-06-03 01:55
本发明专利技术公开了一种基于机器学习技术的多线程应用程序动态调度方法,其步骤包括:A)初始时,将多线程应用程序中的各个线程随机映射到多核执行平台中的各个处理核上;B)每隔一段时间收集一次多核执行平台中各线程的执行信息;C)根据收集到的信息检测程序行为是否发生明显变化,若是则须重映射调度,否则重复步骤B);D)对收集的信息进行预处理,求得线程在不同处理核上性能预测值;E)利用预测值对线程到处理核的映射方案进行搜索评估,选择最优的一种完成线程到处理核的映射。本发明专利技术通过为程序分配最适合的处理核来降低在线调度的计算开销,从而达到最大化系统总体性能的目的。

A dynamic scheduling method for multithreaded applications based on machine learning technology

【技术实现步骤摘要】
一种基于机器学习技术的多线程应用程序动态调度方法
本专利技术涉及到任务调度和机器学习领域,具体地说是一种基于机器学习技术的在异构多核处理系统上对多线程应用进行动态调度以实现性能最大化的调度方法。
技术介绍
为了应对应用场景对高性能和低功耗的需求,异构多核处理系统逐渐成为主流的解决方案,而如何根据系统需求对应用进行动态的资源映射和调度,从而充分发挥出异构多核处理系统的优势,成为一个需要解决的重要问题。多核执行平台上的资源映射和调度问题,本质上是将应用集合按照一定规则分配到处理核上以充分发挥整个多核执行平台高性能低功耗的优势,其数学模型如下:定义一组应用集合用T={t1,t2,..,tn}表示,一个包含n台节点{c1,c2,..,c3}的多核执行平台机器集合为M。令Y为所有可行的分配情况集合,元素y∈Y,其中y表示一种T和M的映射关系f:T→M,即一种分配情况。假设存在一个目标函数C:y→[0,+∞](目标函数的值可以被表示为性能指标或能耗指标),那么对于每一种分配计划y,都有Cij:y→[0,+∞],其中Cij表示将应用ti分配到本文档来自技高网...

【技术保护点】
1.一种基于机器学习技术的多线程应用程序动态调度方法,其特征是应用于具有M种不同类型的N个处理核的多核执行平台上,并按照如下步骤进行:/n步骤A.初始时,将多线程应用程序中的各个线程随机映射到在多核执行平台中的各个处理核上,从而得到一个映射方案;/n步骤B.每隔一段固定时间,收集所述多核执行平台中各个线程的执行信息以及IPC值,并将所述执行信息作为初始输入数据集,将所述IPC值单独存入集合A中;/n步骤C.对每条线程的执行信息进行数据预处理,生成特征向量集合S;/n步骤D.将所述特征向量集合S作为人工神经网络的输入,将集合A作为人工神经网络的输出,利用人工神经网络训练参数矩阵θ,从而得到训练好...

【技术特征摘要】
1.一种基于机器学习技术的多线程应用程序动态调度方法,其特征是应用于具有M种不同类型的N个处理核的多核执行平台上,并按照如下步骤进行:
步骤A.初始时,将多线程应用程序中的各个线程随机映射到在多核执行平台中的各个处理核上,从而得到一个映射方案;
步骤B.每隔一段固定时间,收集所述多核执行平台中各个线程的执行信息以及IPC值,并将所述执行信息作为初始输入数据集,将所述IPC值单独存入集合A中;
步骤C.对每条线程的执行信息进行数据预处理,生成特征向量集合S;
步骤D.将所述特征向量集合S作为人工神经网络的输入,将集合A作为人工神经网络的输出,利用人工神经网络训练参数矩阵θ,从而得到训练好的性能预测模型;
步骤E.获取新的多线程应用程序,并采集相应的执行信息以及IPC值;
步骤F.根据新的IPC值判断新的多线程应用程序的执行行为是否发生变化,若发生变化,则执行步骤G,否则,表示调度时机不合适,保持当前映射方案;
步骤G.对新的执行信息进行数据预处理,生成新的特征向量集合S′,并代入性能预测模型中,得到新的多线程应用程序在M种不同类型的N个处理核上运行的IPC集合A′;
步骤H.将新的多线程应用程序中的各个线程随机映射到在多核执行平台中的各个处理核上,从...

【专利技术属性】
技术研发人员:安鑫康安杨静卫圆祺王沐晗
申请(专利权)人:安徽安喆科技有限公司
类型:发明
国别省市:安徽;34

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

1