CN108897608B - 一种数据驱动可扩展的智能通用任务调度系统 - Google Patents

一种数据驱动可扩展的智能通用任务调度系统 Download PDF

Info

Publication number
CN108897608B
CN108897608B CN201810544751.8A CN201810544751A CN108897608B CN 108897608 B CN108897608 B CN 108897608B CN 201810544751 A CN201810544751 A CN 201810544751A CN 108897608 B CN108897608 B CN 108897608B
Authority
CN
China
Prior art keywords
data
neural network
information
task
task scheduling
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.)
Active
Application number
CN201810544751.8A
Other languages
English (en)
Other versions
CN108897608A (zh
Inventor
周鹏
武延军
赵琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201810544751.8A priority Critical patent/CN108897608B/zh
Publication of CN108897608A publication Critical patent/CN108897608A/zh
Application granted granted Critical
Publication of CN108897608B publication Critical patent/CN108897608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching

Abstract

本发明公开了一种数据驱动可扩展的智能通用任务调度系统,包括应用信息收集系统、信息传递系统、信息存储系统、数据智能处理系统、调度系统;其中数据智能处理系统主要由数据加载、生成神经网络构建参数、构建神经网络、神经网络和决策信息生成组成。本发明把神经网络学习引入到操作系统任务调度算法设计中,能自动化的从积累的任务运行状态、资源需求等数据中训练学习网络参数,生成用神经网络表示的可产生高效的调度决策信息的决策函数,实现任务调度算法设计的智能化、自动化,解决不同场景面向任务感知的任务调度算法开发存在的通用性差、重复开发、手动设计规则等问题。

Description

一种数据驱动可扩展的智能通用任务调度系统
技术领域
本发明涉及一种数据驱动可扩展的智能通用任务调度系统(注:“任务”又称“进程”、“作业”、“线程”),属于操作系统软件技术领域。
背景技术
桌面操作系统、服务器操作系统、智能终端操作系统(典型的如Android智能手机操作系统)都属于单机系统(或称单节点系统),在单机系统中任务调度通常又称作进程调度或线程调度,单机系统任务调度的一般性概念是一致的,都是为任务合理分配CPU时间、以及GPU、内存、SSD、磁盘、网卡、LCD等设备资源,以期按照某种目标,在满足各任务运行的基本需求时,使得系统资源能能够得到高效的利用。
近年来国内外相关研究,针对不同应用场景调度目标的差异,在一般性概念基础上又衍生了诸如能耗感知、任务相关性感知、可信感知、资源感知、温度感知、过程感知等大量不同的调度算法设计,统称为任务感知调度,这些任务感知调度算法设计存在的缺点与不足概括起来包括“缺乏通用性”、“重复开发”、“手动设计规则”,具体表现在:针对不同的需求,出现了面对不同目标的调度算法设计,每个算法都需要人工编写新的调度规则,从头人工分析调度场景,手工设计特定场景的调度规则,重新编写、编译特定的调度算法。
发明内容
本发明的目的在于:克服现有技术的不足,提供一种新的数据驱动的可扩展的智能通用任务调度系统,该系统首次把神经网络学习引入到调度决策(规则或函数)的自动化建模,解决当前任务感知的调度算法设计存在的缺乏通用性、重复开发、手动设计规则等问题。
本发明的数据驱动的可扩展的智能通用任务调度系统,是主要由应用信息收集系统、信息传递系统、信息存储系统、数据智能处理系统、调度系统组成,其中数据智能处理系统主要由401数据加载、402生成神经网络构建参数、403构建神经网络、404神经网络和405决策信息生成五个模块组成;系统其它信息是可选的,是操作系统的任务调度系统的其他部分,不属于本发明的组成部分,用虚线框表示。
所述应用信息收集系统1负责收集应用运行情况、资源访问情况等信息,实现形式不限,可以是视窗程序、命令行程序、后台服务程序、内核程序或者用户态内核态协作程序等。
所述应用信息收集系统1收集的信息类型、字段是通过一个JSON格式的配置文件按需配置,从而可以满足不同的需求场景,示意样式(文件格式)如下:
样式示意1
Figure BDA0001679699490000021
样式1的数据记录例子示意如下
Figure BDA0001679699490000022
样式示意2
Figure BDA0001679699490000023
样式2的数据记录例子示意如下
Figure BDA0001679699490000024
Figure BDA0001679699490000031
上面给出的是2个示意样式,基于示意样式类似的方法,可以定义信息收集系统支持更多的样式。
所述信息存储系统2将应用信息收集系统1收集的数据做集中存储,存储系统无特殊限制,可以选择数据库、文件、内存系统或者其他数据存储类系统。
所述信息传递系3负责将信息存储系统2与数据智能处理系统4间数据的传送,考虑到数据智能处理系统接收数据的实现方式多样性,比如可以通过通信信道传输、主动访问存储访问接口、用户态跟内核态共享内存、UNIX Domain Socket等很多方式,特在框架中提供专门的信息传递系统3适配不同的实现方式。
所述智能数据处理系统4,将神经网络引入调度系统的设计,这是框架避免手动编制规则,以数据驱动自学习的方式实现自动化调度决策生成的关键;其中数据加载模块401通过信息传递系统3读取数据,然后按照JSON配置文件对格式的描述加载、解析数据;生成神经网络构建参数模块402根据数据解析加载信息,计算出神经网络输入宽度、batch参数、输出宽度等参数;构建神经网络模块403根据计算的参数构建相应的神经网络,神经网络本身可以选择用基本的前馈神经网络FNN、递归神经网络RNN、LSTM神经网络等不限;神经网络模块404是框架可学习模型的关键部分,它接受加载数据为输入,通过训练自动生成任务感知相关特征,生成神经网络表示的决策函数;决策信息生成模块405使用决策函数的输出构造方便调度系统直接使用的决策信息格式,该模块可以是神经网络模块404一个组成部分,框架示意图单独画出是为了方便描述,决策信息生成模块405典型实现方式是作为神经网络模块404的输出层的softmax激活函数(具体选型不限),并对softmax激活函数做归一化处理,对应于系统任务个数的概率分布(类似于[0.1,0.25,0.51,0.14],0.51表示任务3的概率最大),该概率分布是预测下一步任务调度的主要依据。
所述的调度系统5使用输出智能数据处理系统4的处理结果为任务调度的主要依据实现任务智能调度,典型的智能数据处理系统4处理的结果是下一步任务被调度的预测概率,注意神经网络模型404训练稳定收敛后可以直接作为推测模型使用,而不需要走训练阶段流程。
本发明与现有技术相比的优点在于:
(1)本发明中,用户无需修改和编译代码就能以可配置的方式定制影响调度决策的信息收集类型,很容易支持面向不同资源配置和应用场景的任务调度,因此具备良好的可扩展性;
(2)本发明在实现任务感知的任务调度算法时,无需用户和开发人员根据不同场景手动编写调度规则和算法细节,使用神经网络建模,能自动化的从资源需求信息中训练学习网络参数,生成高效调度决策,实现任务调度算法设计的自动化;神经网络是从真实的场景数据中训练学习,自动发现影响调度决策的任务特征,能避免人工设计规则时在任务特征认知上的不完整、不一致性等问题,使得特征、规则更接近真实情况,可以获得更高效的任务调度效果。
(3)本发明中的智能数据处理系统以数据驱动,把神经网络学习引入到调度决策的生成,实现可学习的自动化建模,从不同场景的数据自动学习,生成相应的调度决策信息,达到一个框架在不同数据驱动下通过训练学习自动适用于多种场景的目的,即通用框架设计。
附图说明
图1是本发明的结构示意图。
具体实施方式
本发明涉及一种数据驱动可扩展的智能通用任务调度系统,更具体地说,涉及这样一种适用于桌面操作系统、服务器操作系统、移动智能终端操作系统,即,提供一种任务感知的,在应用信息收集系统(系统或称模块)收集任务运行的资源需求信息,其中收集的信息类型、字段可按需配置,通过信息存储系统(如:数据库、文件、内存不限)存储这些资源需求信息,通过信息传递系统(通信信道或存储访问接口)将这些信息传递给数据智能处理系统,数据智能处理系统通过神经网络实现对数据的自动化训练学习,生成任务调度决策函数,任务调度系统使用任务调度的决策函数(即神经网络)输出的结果为调度依据实现任务智能调度。使用本框架,用户无需修改和编译代码就能以可配置的方式定制影响调度决策的信息收集类型,很容易支持面向不同资源配置和应用场景的任务调度,因此具备良好的可扩展性;使用本框架,在实现任务感知的任务调度算法时,无需用户和开发人员根据不同场景手动编写调度规则和算法细节,使用神经网络建模,能自动化的从资源需求信息中训练学习网络参数,生成高效调度决策,实现任务调度算法设计的自动化;神经网络是从真实的场景数据中训练学习,自动发现影响调度决策的任务特征,能避免人工设计规则时在任务特征认知上的不完整、不一致性等问题,使得特征、规则更接近真实情况,获得更高效的任务调度效果。
图1是本发明的数据驱动可扩展的智能通用任务调度框架的结构示意图,这个图清晰描述框架的主要模块,模块间的协同关系。“任务间运行相关性”是考虑到一些任务感知的应用场景中,任务调度算法需要充分考虑任务间的协作关系。下面以在Linux服务器操作系统上实现“任务间运行相关性”任务调度为例,说明如何利用本发明的方法进行数据驱动可扩展的智能自动化实现。
应用信息收集系统1负责收集应用运行情况,以Linux用户态后台服务程序与内核态模块协作的运行方式实现,用户态可执行程序命名为monitord,内核模块命名为monitor.ko,其任务是根据JSON配置文件的描述收集任务的调度顺序信息;JSON格式的配置文件config.json设置如下:
Figure BDA0001679699490000051
monitord根据“config.json”配置文件的要求获得监控数据(示意数据,仅做说明使用,无特殊含义)
Figure BDA0001679699490000052
以普通文件为存储数据的后端,实现信息存储系统2,存储文件为prestasts.json。
实现信息传递系统3,命名为transferd,以UNIX Domain Socket方式实现信息存储系统2跟数据智能处理系统间的数据传送,这里传送的数据即config.json数据描述文件和prestasts.json的任务监控记录数据。
实现智能数据处理系统4,实现一个Linux后台程序数据加载模块401,命名为loadp,loadp跟transferd的UNIX Domain Socket通信读取数据,根据传输的config.json配置文件描述按照“任务间运行相关性”数据记录格式加载、解析传输的prestasts.json文件数据;生成神经网络构建参数模块402计算出神经网络输入宽度为2x15(两个前序任务,每个任务名字长度固定为最长15个字符,不足用空字符补充)、总数据量是20000个记录,把batch参数设置为200、输出宽度等参数;构建神经网络模块403根据前馈神经网络FNN,其输入层宽度为30(2x15),输出层宽度为20,中间隐藏层设置为15(不固定,可以按需自己设置);于是生成了30x15x20的神经网络(神经网络模块404,命名nn1),通过加载prestasts.json的数据对该神经网络进行训练,直到收敛;405决策信息生成模块的实现,使用参数为20个输出的softmax函数作为nn1输出层激活函数,并对softmax激活函数20个输出做归一化处理。
模型在训练阶段训练收敛后,可以直接使用,在推导阶段,调度选取下一个任务前,把最近调度的两个任务输入模型,模型得到的softmax结果归一化处理后得到示意结果[0.05,0.05,0.01,0.02,0.03,0.04,0.01,0.02,0.03,0.04,0.01,0.02,0.03,0.04,0.01,0.02,0.03,0.04,0.49,0.01,],对列表做一个逆排序,其中0.49表示任务19的概率最大,本示例实施下一步任务调度以该概率分布为依据。
本示例实施中调度系统5的实现使用输出智能数据处理系统4的处理结果为依据做调度,于是下一步调度19号对应的任务。

Claims (4)

1.一种数据驱动可扩展的智能通用任务调度系统,其特征在于,包括:应用信息收集系统、信息传递系统、信息存储系统、数据智能处理系统和任务调度系统;
应用信息收集系统收集任务运行的资源需求信息,通过信息存储系统存储所述资源需求信息;再通过信息传递系统将所述资源需求信息传递给数据智能处理系统;数据智能处理系统首先对资源需求信息中构成的数据做预处理与解析,并以内存向量列表格式表示,然后依据解析结果生成所要构造的神经网络的参数,再按照所述参数创建对应的神经网络,神经网络以资源需求信息数据的内存向量表示为训练的输入数据训练学习神经网络的权重参数,训练结束后得到神经网络表示的任务调度决策信息生成函数;任务调度系统利用所述任务调度决策信息生成函数输出的决策信息为调度依据,实现任务调度;
所述数据智能处理系统包括:数据加载模块、生成神经网络构建参数模块、构建神经网络模块、神经网络模块和决策信息生成模块;
数据加载模块,通过信息传递系统读取数据,然后参照JSON配置文件对数据格式的描述对数据进行加载、解析,得到数据解析加载信息,并把资源需求信息数据通过预处理转换为向量列表的形式,加载为资源需求信息数据的内存向量表示并分配内存存储;
生成神经网络构建参数模块,根据数据解析加载信息,计算出神经网络的参数,所述神经网络的参数包括输入宽度、batch参数和输出宽度参数;
构建神经网络模块,根据计算神经网络的参数构建相应的神经网络;
神经网络模块,以加载数据,即资源需求信息数据的内存向量表示为训练的输入数据,通过反向传播算法对神经网络进行训练学习;
决策信息生成模块,使用决策信息生成函数的输出为输入,构造成列表List结构组织的数据格式,所述List的每个元素记录了任务类型、任务调度权重字段,以方便调度系统使用。
2.根据权利要求1所述的一种数据驱动可扩展的智能通用任务调度系统,其特征在于:所述应用信息收集系统,收集的信息类型、字段可按需配置。
3.根据权利要求1所述的一种数据驱动可扩展的智能通用任务调度系统,其特征在于:所述神经网络采用前馈神经网络FNN、递归神经网络RNN或LSTM神经网络。
4.根据权利要求1所述的一种数据驱动可扩展的智能通用任务调度系统,其特征在于:所述任务调度系统利用所述任务调度决策信息生成函数输出的决策信息为调度依据,实现任务调度的具体过程如下:
(1)读取决策信息生成函数的输出列表List,并按照列表元素的任务调度权重字段进行逆序排序;
(2)通知系统,选取排序后列表的第一个元素的任务类型作为下一个被调度任务类型;
(3)所述任务类型的第一个任务被调度。
CN201810544751.8A 2018-05-31 2018-05-31 一种数据驱动可扩展的智能通用任务调度系统 Active CN108897608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810544751.8A CN108897608B (zh) 2018-05-31 2018-05-31 一种数据驱动可扩展的智能通用任务调度系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810544751.8A CN108897608B (zh) 2018-05-31 2018-05-31 一种数据驱动可扩展的智能通用任务调度系统

Publications (2)

Publication Number Publication Date
CN108897608A CN108897608A (zh) 2018-11-27
CN108897608B true CN108897608B (zh) 2021-09-07

Family

ID=64343638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810544751.8A Active CN108897608B (zh) 2018-05-31 2018-05-31 一种数据驱动可扩展的智能通用任务调度系统

Country Status (1)

Country Link
CN (1) CN108897608B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784545B (zh) * 2019-10-31 2022-02-11 上海埃威航空电子有限公司 实时数据分发系统
CN115471108B (zh) * 2022-09-27 2023-09-01 中交西北投资发展有限公司 数据分析决策方法、系统及大数据资源中心

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432887A (en) * 1993-03-16 1995-07-11 Singapore Computer Systems Neural network system and method for factory floor scheduling
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
CN103049330A (zh) * 2012-12-05 2013-04-17 大连理工大学 一种托管型分布式任务调度方法和系统
CN106055379A (zh) * 2015-04-09 2016-10-26 国际商业机器公司 用于调度计算任务的方法和系统
CN106228314A (zh) * 2016-08-11 2016-12-14 电子科技大学 基于深度增强学习的工作流调度方法
CN107888669A (zh) * 2017-10-31 2018-04-06 武汉理工大学 一种基于深度学习神经网络的大规模资源调度系统及方法
CN107977268A (zh) * 2017-10-13 2018-05-01 北京百度网讯科技有限公司 人工智能的异构硬件的任务调度方法、装置及可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432887A (en) * 1993-03-16 1995-07-11 Singapore Computer Systems Neural network system and method for factory floor scheduling
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
CN103049330A (zh) * 2012-12-05 2013-04-17 大连理工大学 一种托管型分布式任务调度方法和系统
CN106055379A (zh) * 2015-04-09 2016-10-26 国际商业机器公司 用于调度计算任务的方法和系统
CN106228314A (zh) * 2016-08-11 2016-12-14 电子科技大学 基于深度增强学习的工作流调度方法
CN107977268A (zh) * 2017-10-13 2018-05-01 北京百度网讯科技有限公司 人工智能的异构硬件的任务调度方法、装置及可读介质
CN107888669A (zh) * 2017-10-31 2018-04-06 武汉理工大学 一种基于深度学习神经网络的大规模资源调度系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
协同设计任务调度的多步Q学习算法;陈圣磊等;《计算机辅助设计与图形学学报》;20070330(第03期);全文 *
基于元任务的网格调度算法综述;马廷淮等;《武汉理工大学学报》;20100830(第16期);全文 *
基于神经网络增强学习算法的工艺任务分配方法;苏莹莹等;《东北大学学报(自然科学版)》;20090215(第02期);全文 *

Also Published As

Publication number Publication date
CN108897608A (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
Samie et al. From cloud down to things: An overview of machine learning in internet of things
Goudarzi et al. A distributed deep reinforcement learning technique for application placement in edge and fog computing environments
Kuehn Digital twins for decision making in complex production and logistic enterprises
Gerasimou et al. UNDERSEA: an exemplar for engineering self-adaptive unmanned underwater vehicles
CN107908536B (zh) Cpu-gpu异构环境中对gpu应用的性能评估方法及系统
US11513851B2 (en) Job scheduler, job schedule control method, and storage medium
CN113094116B (zh) 一种基于负载特征分析的深度学习应用云配置推荐方法及系统
CN111260073A (zh) 数据处理方法、装置和计算机可读存储介质
CN108897608B (zh) 一种数据驱动可扩展的智能通用任务调度系统
Braten et al. Autonomous IoT device management systems: structured review and generalized cognitive model
CN112052027A (zh) 一种处理ai任务的方法及装置
CN117317408A (zh) 基于大数据和人工智能的电池及热量优化管理方法
Cunha et al. Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds
CN117076077A (zh) 基于大数据分析的计划调度优化方法
CN111210539A (zh) 一种动力蓄电池数据分析系统
CN117172093A (zh) 基于机器学习的Linux系统内核配置的策略优化方法及装置
CN110766163B (zh) 用于实施机器学习过程的系统
CN116521778A (zh) 基于人工智能的一站式数据分析工具、方法及终端设备
US20220294702A1 (en) Systems and methods for automated network state and network inventory tracking
Scheutz et al. An Overview of the SimWorld Agent‐Based Grid Experimentation System
Betting et al. Oikonomos: An Opportunistic, Deep-Learning, Resource-Recommendation System for Cloud HPC
CN112149826B (zh) 深度神经网络推理计算中一种基于Profile图的优化方法
Oliinyk et al. Information technology of diagnosis models synthesis based on parallel computing
Balis et al. Improving prediction of computational job execution times with machine learning
Liu et al. Cloud Configuration Optimization for Recurring Batch-Processing Applications

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
GR01 Patent grant
GR01 Patent grant