项目申请

This commit is contained in:
yinkanglong_lab
2020-01-15 01:09:59 +08:00
parent a679157eb7
commit 5344c58e57
6 changed files with 357 additions and 24 deletions

View File

@@ -0,0 +1,19 @@
# OODA环
## 1 概述
### OODA环结构
观察-判断-决策-执行
![](image/OODA循环.jpg)
### 过程
* 第一阶段为观察(Observation), 要是通过各种传感设备和网络的运用进行情报收集,例如,预警探测的信息、战场环境的信息、敌方坐标信息等。
* 第二阶段为判断(Orientation) ,战场态势瞬息万变、并且有很大的不确定性,判断就是将数据转化为有用的信息,有效、快速地判断结果能够辅助指挥员做出正确的决策,甚至改变战场态势。
* 第三阶段为决策(Decision) ,就是指挥员明确制定任务方案、下达作战计划。 决策的迅速形成对战场态势有着决定性意义。
* 第四阶段为行动(Action) 战场上的行动通常描述为根据上级下达的作战计划采取相应的作战部署,并进行动作行为。
### 改进
* 第一是在判断阶段引入专家系统,并将专家系统的规则库与数据库相结合。首先先,专家系统能够辅助指挥员在信息处理过程中迅速、精准地做出决策建议。其次,将作战指挥数据库中的数据按照专家系统规则库的规则模式存储,利用作战指挥数据库信息丰富的优势扩充专家系统的判断范围,进而为作战决策提供更为精准的辅助指导。
* 第二是对整个系统引入反馈机制,即通过神经网络的自学习能力不断丰富作战指挥数据库。将决策阶段的作战计划和行动阶段的战场实际态势做差值计算得出误差值,将误差值按照一定规则输入神经网络;神经网络通过其自学习功能将本次作战情况输送至判断阶段用于辅助下一次作战决策判断。可以看到,引入反馈机制可将作战情况及时地以某种方式传递给作战指挥数据库,丰富其信量,从而有效缩短辅助判断时间,并提高辅助决策的精准度。

View File

@@ -0,0 +1,68 @@
# 任务调度
## 1 概念
调度问题研究的是将资源分配给在一定时间内的不同任务,其目的是优化一个或多个目标。
车间调度问题研究的是根据一定的约束条件,如何合理配置生产过程中的各种资源,合理安排生产加工任务的加工时间、加工顺序等,从而优化一个或多个调度性能指标。
车间调度问题一般可以简单描述为:《个工件在台机器设备上进行加工,每个工件有道加工工序,在满足约束条件的前提下,对每一合机器寻找合理的加工顺序,从而优化一个或多个调度性能指标。
## 2 车间调度的性能指标分为以下大类:
### 基于完成时间的性能指标
完成时间是指加工完所有工件的所有工序的时间,基于完成时间的性能指标是衡量调度性能的最根本指标,能体现车间的生产效率,也是车间调度研究领域应用最广泛的性能指标,主要包括:
* 最大完成时间
* 平均完成时间
* 最大流经时间
* 总流经时间
* 加权流经时间
* 平均流经时间
* 加权平均流经时间
### 基于交货期的性能指标
交货期是企业签订订单时向客户承诺的交货时间,根据每个工件的完成时间,基于交货期的性能指标主要包括:
* 最大提前时间
* 最大延迟时间
* 平均提前时间
* 平均延迟时间
* 加权平均提前时间
* 加权平均延迟时间
### 基于成本的性能指标
工件在加工过程中除了上述时间指标外,成本指标也是衡量调度效果的指标之一。除了工件加工成本外,有时还要考虑与工件加工有关的在制品存储、成品存储等的库存成本,同时,当设备机器处于不同的地理位置时,还要考虑工件在机器设备间的物流成本。在准时生产模式中,提前或延迟完工交货对企业都是不利的,都要受到相应的惩罚,所以,还存在与交货期有关的成本。基于成本的性能指标主要包括:
* 加工成本
* 库存成本
* 物流成本
* 交货期有关的惩罚成本
### 基于机器负荷的指标
柔性作业车间调度时,首先要为每道工序选择加工机器,不同的调度方案为工序分配的机器也不同,从而造成每台机器负荷和所有机器总负荷也不同。最大负荷的机器可能成为瓶颈机器,从而影响车间调度优化的质量和设备资源的均衡利用,机器负荷可以作为衡量机器利用率的指标,常用的两个指标为:
* 最大机器负荷
* 机器总负荷
### 基于加工质量的指标
对于具有柔性工艺路线的生产调度,由于机器性能不同,同一工件因选择加工机器的不同,很可能导致其加工质量不同。在客户越来越关注产品质量的要求下,企业在调度时有时还要考虑加工质量这一性能指标
* 加工质量
## 3 当前研究的内容分类
### 根据任务工艺路线特点把车间调度问题分为以下7类
柔性作业车间调度问题柔性作业车间调度问题是作业车间调度问题的扩展,每道工序可能可以由多台机器加工。零件各工序的加工设备可能未事先指定且不唯一,工序可在一组相同功能的加工设备中任选一台加工。与作业车间调度问题相比,柔性作业车间调度问题更加接近实际生产情况,同时问题也变得更加复杂。
### 根据任务到达加工系统的特点可分为2类
动态车间调度:工件依次进入待加工状态,各个加工任务或工件不断进入系统接受加工,完成加工的加工任务或工件又不断离开。同时,考虑零件在加工过程中出现的各种意外情况,这种调度方式要求调度能随时响应车间加工能力的变化,在有突发事件出现后,能立即根据当时的车间加工能力,不断地进行再调度。
### 根据资源约束数量,车间调度问题可分为类:
多资源车间调度:同时有两种以上的工件加工所需资源制约着车间的生产能力,这些资源包括机床设备、操作人员、物料运送系统以及其它辅助资源等,多资源车间调度问题是最复杂的一种。
### 按时间特点划分,可分为类:
确定性调度:工件的加工时间及相关参数为确定的已知量。
不确定性调度:工件的加工时间及相关参数为不确定的随机变量。
### 按优化目标数量划分,可分为类:
单目标车间调度:此类车间调度问题仅有一个优化目标。
多目标车间调度:此类车间调度问题有两个或两个以上优化目标。对于多目标调度问题,通常没有最优解,需在各个非劣解之间进行平衡择优。

84
lab/关键词.md Normal file
View File

@@ -0,0 +1,84 @@
# 关键词
## 1 自组织
### 定义
一般来说,组织是指系统内的有序结构或这种有序结构的形成过程。从组织的进化形式来看,可以把它分为两类:他组织和自组织。如果一个系统靠外部指令而形成组织,就是他组织;如果不存在外部指令,系统按照相互默契的某种规则,各尽其责而又协调地自动地形成有序结构,就是自组织。
自组织理论是20世纪60年代末期开始建立并发展起来的一种系统理论。
它的研究对象主要是复杂自组织系统(生命系统、社会系统)的形成和发展机制问题,即在一定条件下,系统是如何自动地由无序走向有序,由低级有序走向高级有序的。
> 群体智能是一种自组织,因为每一个个体都有自己的行动方式,从而完成组织方式。而不是由群体之外的某个大脑指挥,完成组织过程。
> 组织是一种向有序转变的过程。是一个熵减得过程。
### 不同领域对自组织的描述
* 从系统论的观点来说,"自组织"是指一个系统在内在机制的驱动下,自行从简单向复杂、从粗糙向细致方向发展,不断地提高自身的复杂度和精细度的过程;
* 从热力学的观点来说,"自组织"是指一个系统通过与外界交换物质、能量和信息,而不断地降低自身的熵含量,提高其有序度的过程;
* 从统计力学的观点来说,"自组织"是指一个系统自发地从最可几状态向几率较低的方向迁移的过程;
* 从进化论的观点来说,"自组织"是指一个系统在"遗传"、"变异"和"优胜劣汰"机制的作用下其组织结构和运行模式不断地自我完善从而不断提高其对于环境的适应能力的过程。C. R. Darwin的生物进化论的最大功绩就是排除了外因的主宰作用首次从内在遗传突变的自然选择机制的过程中来解释物种的起源和生物的进化
* 从结构论- 泛进化理论的观点来说,"自组织"是指一个开放系统的结构稳态从低层次系统向高层次系统的构造过程因系统的物质、能量和信息的量度增加而形成比如生物系统的分子系统、细胞系统到器官系统乃至生态系统的组织化度增加基因数量和种类自组织化和基因时空表达调控等导致生物的进化与发育Evo-Dev过程。
### 理论组成
1. 耗散结构论
主要研究系统与环境之间的物质与能量交换关系及其对自组织系统的影响等问题。建立在与环境发生物质、能量交换关系基础上的结构即为耗散结构,如城市、生命等。远离平衡态、系统的开放性、系统内不同要素间存在非线性机制、系统的涨落是耗散结构出现的四个基本条件。远离平衡态,指系统内部各个区域的物质和能量分布是极不平衡的,差距很大。
2. 协同论
主要研究系统内部各要素之间的协同机制,认为系统各要素之间的协同是自组织过程的基础,系统内各序参量之间的竞争和协同作用是系统产生新结构的直接根源。涨落是由于系统要素的独立运动或在局部产生的各种协同运动以及环境因素的随机干扰,系统的实际状态值总会偏离平均值,这种偏离波动大小的幅度就叫涨落。当系统处在由一种稳态向另一种稳态跃迁时,系统要素间的独立运动和协同运动进入均势阶段时,任一微小的涨落都会迅速被放大为波及整个系统的巨涨落,推动系统进入有序状态。
3. 突变论
它建立在稳定性理论的基础上,认为突变过程是由一种稳定态经过不稳定态向新的稳定态跃迁的过程,表现在数学上是标志着系统状态的各组参数及其函数值变化的过程。突变论认为,即使是同一过程,对应于同一控制因素临界值,突变仍会产生不同的结果,即可能达到若干不同的新稳态,每个状态都呈现出一定的概率。
4. 协同动力论
有三大要点:第一,在大量子系统存在的事物内部,在平权输入必要的物质、能量和信息的基础上,须激励竞争,形成影响和相互作用的网络;第二,提倡合作,形成与竞争相抗衡的必要的张力,并不受干扰地让合作的某些优势自发地、自主地形成更大的优势;第三,一旦形成序参量后,要注意序参量的支配不能采取被组织方式进行,应按照体系的自组织过程在序参量支配的规律下组织系统的动力学过程。这可能产生两种有序运动,一种即数量化的水平增长其复杂性和组织程度的演化,另一种则是突变式的组织程度跃升动力学演化。
5. 演化路径论
它认为:演化的路径具有多样性,有三条路径,一是经过临界点或临界区域的演化路径,演化结局难以预料,小的激励极可能导致大的涨落;二是演化的间断性道路,有大的跌宕和起伏,常出现突然的变化,其间大部分演化路径可以预测,但有些区域或结构点不可预测;三是渐进的演化道路,路径基本可以预测。突变论所利用的形态演化方法(结构化方法)在整体背景上进行自组织演化路径的突变可能性分析,为研究者提供了一个整体观。
6. 混沌论
它对研究复杂性的非线性方法具有重大贡献。首先,混沌不仅可以出现在简单系统中,而且常常通过简单的规则就能产生混沌。简单系统能够产生复杂行为,复杂系统也能够产生简单行为。分层、分岔、分支、锁定、放大,非线性的发展或演化过程就是这样神奇而不可预测;其次,非线性动力学混沌是内在的,固有的,而不是外加的、外生的。尤其是在管理中的混沌特性决定了“混沌管理”方法的非最优化和不确定性。企业并不追求最优化和最高效率——这是由稳定的管理价值观所决定的;管理过程与结果之间无决定的直接的关系。
## 2 自适应
### 概念
* **自适应**就是在处理和分析过程中,根据处理数据的数据特征自动调整处理方法、处理顺序、处理参数、边界条件或约束条件,使其与所处理数据的统计分布特征、结构特征相适应,以取得最佳的处理效果的过程。
* **自适应算法**是根据某个最优准则来设计的。自适应算法所采用的最优准则有最小均方误差(LMS)准则,最小二乘(LS)准则、最大信噪比准则和统计检测准则等。LMS算法和RLS算法由于采用的最优准则不同因此这两种算法在性能复杂度等方面均有许多差别。常用的自适应算法有迫零算法最陡下降算法LMS算法RLS算法以及各种盲均衡算法等。
* **自适应控制**可以看作是一个能根据环境变化智能调节自身特性的反馈控制系统以使系统能按照一些设定的标准工作在最优状态。
* **自适应系统**是这样一种控制系统,它能够修正自己的特性以适应对象和扰动的动特性的变化。这种自适应控制方法可以做到:在系统运行中,依靠不断采集控制过程信息,确定被控对象的当前实际工作状态,优化性能准则,产生自适应控制规律,从而实时地调整控制器结构或参数,使系统始终自动地工作在最优或次最优的运行状态。
### 特点
自适应一般有有一下特点:
* 反馈机制,根据运行结果,调整策略。
* 动态变化,随着数据集的碰撞,不断递归地优化模型。
自适应控制所依据的关于模型和扰动的先验知识比较少,需要在系统的运行过程中去不断提取有关模型的信息,使模型逐步完善。
## 3 分布式
### 概念
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。
### 分类
分布式计算机系统的体系结构可用处理机之间的耦合度为主要标志来加以描述。耦合度是系统模块之间互联的紧密程度,它是数据传输率、响应时间、并行处理能力等性能指标的综合反映,主要取决于所选用体系结构的互联拓扑结构和通信链路的类型。
* 第一种是面向计算任务的分布并行计算机系统和分布式多用户计算机系统
* 第二种是面向管理信息的分布式数据处理系统。
* 第三种是面向过程控制的分布式计算机控制系统。
### 特点
分布式系统是多个处理机通过通信线路互联而构成的松散耦合的系统。从系统中某台处理机来看,其余的处理机和相应的资源都是远程的,只有它自己的资源才是本地的。至今,对分布式系统的定义尚未形成统一的见解。一般认为,分布式系统应具有以下四个特征:
* (1)分布性。分布式系统由多台计算机组成,它们在地域上是分散的,可以散布在一个单位、一个城市、一个国家,甚至全球范围内。整个系统的功能是分散在各个节点上实现的,因而分布式系统具有数据处理的分布性。
* (2)自治性。分布式系统中的各个节点都包含自己的处理机和内存,各自具有独立的处理数据的功能。通常,彼此在地位上是平等的,无主次之分,既能自治地进行工作,又能利用共享的通信线路来传送信息,协调任务处理。
* (3)并行性。一个大的任务可以划分为若干个子任务,分别在不同的主机上执行。
* (4)全局性。分布式系统中必须存在一个单一的、全局的进程通信机制使得任何一个进程都能与其他进程通信并且不区分本地通信与远程通信。同时还应当有全局的保护机制。系统中所有机器上有统一的系统调用集合它们必须适应分布式的环境。在所有CPU上运行同样的内核使协调工作更加容易。
### 优点
* (1)资源共享。若干不同的节点通过通信网络彼此互联,一个节点上的用户可以使用其他节点上的资源,如分布式系统允许设备共享,使众多用户共享昂贵的外部设备,如彩色打印机;允许数据共享,使众多用户访问共用的数据库;可以共享远程文件,使用远程特有的硬件设备(如高速阵列处理器),以及执行其他操作。
* (2)加快计算速度。如果一个特定的计算任务可以划分为若干个并行运行的子任务,则可把这些子任务分散到不同的节点上,使它们同时在这些节点上运行,从而加快计算速度。另外,分布式系统具有计算迁移功能,如果某个节点上的负载太重,则可把其中一些作业移到其他节点去执行,从而减轻该节点的负载。这种作业迁移称为负载平衡。
* (3)可靠性高。分布式系统具有高可靠性。如果其中某个节点失效了,则其余的节点可以继续操作,整个系统不会因为一个或少数几个节点的故障而全体崩溃。因此,分布式系统有很好的容错性能。
系统必须能够检测节点的故障,采取适当的手段,使它从故障中恢复过来。系统确定故障所在的节点后,就不再利用它来提供服务,直至其恢复正常工作。如果失效节点的功能可由其他节点完成,则系统必须保证功能转移的正确实施。当失效节点被恢复或者修复时,系统必须把它平滑地集成到系统中。 [3]
* (4)通信方便、快捷。分布式系统中各个节点通过一个通信网络互联在一起。通信网络由通信线路、调制解调器和通信处理器等组成不同节点的用户可以方便地交换信息。在低层系统之间利用传递消息的方式进行通信这类似于单CPU系统中的消息机制。单CPU系统中所有高层的消息传递功能都可以在分布式系统中实现如文件传递、登录、邮件、Web浏览和远程过程调用( Remote Procedure callRPC)。 [3]

View File

@@ -1,4 +1,41 @@
# 中文文献阅读说明
## 1 自适应动态调整粒子群的云计算任务调度
### 内容
* 粒子群算法
* DPSO动态粒子群算法
* 基于自适应动态调整权重系数
* 基于进化信息调整分数阶次
* 基于 Levy 飞行特征的局部最优
* 对云计算模型进行抽象。得到数学模型。转换为数学问题。
* 对任务调度的目标和约束进行描述。
* 给出了粒子群算法的数学描述
* 实验对比了各种算法。
## 2 基于离散粒子群优化的云计算 QoS 调度算法
* 是一种多约束的任务调度算法。
* 给出了一个任务调度模型(重要)
* 将多个约束进行归一化描述。
* 不具有动态扩展的能力。
## 3 云计算资源调度研究及改进
* 给出任务调度模型(包含对任务、资源的抽象)
* 给出了任务调度的目标
* 给出了任务调度的算法
> 我觉得接下来我应该从这三个方面论述。
## 4 基于遗传算法的柔性资源调度优化方法研究
* 系统的讲述资源调度问题的分类和细节。十分值得借鉴。也就是将当前的任务使用他给出的任务调度领域的基本概念进行讲解。
* 柔性资源调度问题(原子任务的选择柔性机器)与本次的任务目标一致。
* 非常重要写方案的时候可以参考。
## 5 基于异构计算系统中动态任务分配的蜂群算法研究
* 给出了动态的群体智能算法
* 其想法与我的队列法非常非常相似,也很容易理解。
* 如果可以的话,可以使用这种动态的任务分配的蜂群算法。
# 英文文献阅读说明

View File

@@ -13,12 +13,16 @@
## 2 关键词
* 节点自组织
* 节点自组织
* 群体协同
* 群体智能
* 任务调度与任务分配
* 动态负载均衡
* 分布式执行
* 自适应算法
* 启发式算法
* 分布式
* 自适应
* 启发式
> 所以如何检索相关的文献?属于任务分配?负载均衡?群体智能?节点自组织?协同策略?多搜一搜,现在需要科普。
## 3 关键技术
@@ -27,6 +31,5 @@
观察-判断-决策-执行
![](image/OODA循环.jpg)
> 需要对OODA进行详细的了解。
###

View File

@@ -61,6 +61,9 @@
### 关键词
* 协同、自组织、负载均衡、多端协同、群体协同
* 多目标
* 柔性作业调度
* 动态作业调度
### 任务目标:网络探测。
@@ -72,10 +75,10 @@
### 任务要求:
* 多源异质、群体协同、负载均衡、自组织分布式
## 4 模型抽象
## 4 模型抽象(问题抽象过程)
### 设备抽象:
* 主控服务器、受控设备、网络关键信息基础设施
* 主控服务器、受控设备、网络关键信息基础设施称为节点
* 节点属性信息包IP地址、资产名称、服务端口、协议名称、操作系统、设备类型、厂商属性、应用组件
* 主机、服务器、交换机等所有的网络设备抽象为网络节点。
* 网络节点,包含各种属性信息。(权限、操作系统、协议)
@@ -84,7 +87,8 @@
* 网络节点分为受控节点和非受控节点。受控节点表示能够接受控制节点执行控制任务,非空节点表示待渗透的节点。
* 网络节点之间存在各种依赖。使用二维矩阵描述网络节点之间的链接关系。数字表示依赖的类型。依赖的类型包括:直接连接、跨越交换机的链接、跨越路由器的链接、相互之间是否可信。
* 由节点组成的网络会随着被控节点的增多逐渐增加。节点之间的依赖关系也会动态更新。
* 一个节点也许有并行执行任务的能力。并不代表节点只能执行单一的任务。
* 节点上任务的执行应该通过性能控制函数,决定当前并行执行多少任务。节点的负载应该是节点执行能力与任务量的对比。
### 策略抽象:
* 文章中提到的方案选择前锋武器XSS、应用软件漏洞、操作系统漏洞、网络设备漏洞等组成攻击方案。实际上得方案有端口扫描和漏洞提权。
@@ -96,35 +100,153 @@
### 任务抽象:
* 每一个策略可以分为多个子任务、子过程执行,每个可以单独执行的子过程称为原子任务。原子任务不需要再进行分割,可以由单一节点完成。(如果可以再分则不称为原子任务)
* 原子任务之间相互依赖。必须某些任务先完成,某些任务后完成。某些任务的输出是某些任务的输入。
* 原子任务之间相互依赖。必须某些任务先完成,某些任务后完成。某些任务的输出是某些任务的输入。任务之间的依赖可以用树表示。任务之间的依赖表示了任务的优先级。
* 原子任务之间可以没有相互依赖,比如端口扫描,可以分成十个任务,每个任务扫描各自范围的主机构成总的策略。
* 原子任务依赖特定的节点与节点依赖类型
* 原子任务具有初始的负载计算方法(负载初始化)
* 原子任务具有可迁移性。如果当前节点的负载过高或者不在满足其他动态属性要求时(通过动态属性计算获得),原子任务能够自动迁移到负载相对较低的网络节点。
* 任务是不断变换的。旧的原子任务会不断解决,新的原子任务也会不断添加到队列中
* 任务应该也有状态。执行中的任务,已经分配的任务。
## 4 数学模型
## 4 任务调度模型(数学模型-动态柔性作业调度模型)
> flexible dynamic schduling based on ABC
> 解决第3部分提出的问题。
### 外部假设
* 首先,我不需要建立什么模型。在研究目标、研究内容、关键技术中都已经说明了内网自主探测模型
* 涉及到探测策略、探测任务的具体内容不需要考虑
* 节点依赖与任务依赖应该由其他部分提供,对这一部分来说,是一种先验的内容。
### 概述
原子任务----分配---->受控节点
**实现原子任务在网络节点上得分配工作**。任务调度模型就是任务通过任务调度算法分配到网络节点中。
### 假设
* 内网自主探测模型,已经完成对当前网络的描述,包括主控节点、受控节点、目标节点。
* 基于先验知识的启发式方案自生成技术,已经完成攻击策略的描述,攻击策略包括采取的手段与攻击的目标节点。
* 假设探测策略、探测任务的具体内容不需要考虑。主要考虑的是如何把探测策略分割成可以在不同节点执行的任务。
* 任务一旦开始执行便不能被中断。直到执行完毕。
### 目标
我需要做的是完成这个模型中的一个算法。即**实现原子任务在网络节点上得分配工作**。
> 任务调度模型中,是多目标任务分配。在普通的任务调度模型当中,多目标可能是指:时间成本最低、空间成本最低、调度预算最低等。
* 节点执行任务的负载均衡P。最大化可控节点利用率降低任务执行时间。每个节点都有任务可以做执行时间最短min{S^2{L(N)}}}所有节点的负载的方差最小???表示波动最小?这也行?让我思考一下。
### 输入
* 由攻击策略生成模块提供攻击策略S。
* 由网络分析模块提供网络的节点N和网络节点之间的链接关系Rn(N)
### 约束
* 攻击目标、攻击策略都是由内网探测模型给出。属于外部输入。(通过其他部分给出)
* 节点依赖网络是外部输入。节点依赖网络包含各种类型的节点依赖。(通过其他部分给出)
* 节点网络是动态变化的。需要考虑执行任务的负载均衡。
* 攻击策略分解为原子任务,计算任务之间的依赖关系,构成任务依赖网络。
### 任务
> 在任务调度模型中,存在着多种约束条件。
* 任务执行过程中满足原子任务之间的计算依赖。B(Rt(T))
* 任务分配过程中满足受控节点之间的链接依赖。B(Rn(N))
* 任务分配过程中满足原子任务对受控节点属性的要求。可以是静态的比如节点的权限、操作系统等。B(q(N)=>p(T))
* 任务分配过程中满足原子任务对受控节点属性的要求。这种属性要求可能是动态变化的如节点负载这种动态变化的属性要给出动态属性计算函数。B(q(N)=>p(T))
* 节点网络是动态变化的
* 原子任务是动态变化的
* 节点的运行CPU负载不能超过给定的要求B(performance)>sum{C_i(Q(M(T)=执行中))}
* 负载均衡?
原子任务---->受控节点。
> 这里应该是模型的概述
### 策略的数学模型
* S表示所有策略的集合
* 满足原子任务之间的计算依赖。
* 满足受控节点之间的依赖类型。
* 满足原子任务对受控节点属性的要求。这种属性要求可能是动态变化的,如节点负载,这种动态变化的属性要给出动态属性计算函数。也可以是静态的,比如节点的权限、操作系统等
### 任务的数学模型
* T表示任务的集合
* q(T)表示任务相关的属性。任务的属性是不变的
* Rt(T×T)代表任务之间的有向无环图,表示任务之间的依赖。任务依赖由策略分解函数提供。
* T=D(S)可以将策略分解称为有相关作用的任务集合。D是策略的分割算法将一个完成的策略分割成多个不同的子任务方便放到不同的子节点上执行。
* C(T)表示每个任务执行过程中占用CPU的时间
### 节点的数学模型
* N表示节点的集合。
* q(N)表示节点相关的属性。属性计算函数,包括静态属性和动态属性。
* Rn(N×N)表示节点之间的链接关系图,不同的数值表示两个节点之间不同的链接类型。包括信任连接、直接相连、跨越交换机相连、跨越路由器相连、不信任相连。
* Rnt(T,N)表示任务与节点类型之间的依赖关系。
* A(T,N)表示任务调度算法将任务分配到指定的节点上。A(T,N)是任务与节点的映射
### 执行流程
1. 首先初始化策略、任务、节点的数学模型。然后输入外部的所有策略S与节点N包含节点之间Rn(N×N)。
2. 然后执行策略分割函数T=D(S)将策略分为多个不同的原子任务T。同时形成任务之间的依赖关系Rt(T×T)
3. 然后执行A(T,N)任务调度算法满足所有的约束条件B得到满足负载平衡的一个分配方案P。
4. 执行方案,将方案中的任务放到具体的计算节点上执行。
5. 执行过程中,会形成反馈信息,给执行的调用者。包含任务执行结果和任务执行后的状态。
6. 执行过程中任务执行完成后会从任务集合T中消失并更新R(T)。
7. A(T,N)是动态任务调度算法。当任务信息反馈给策略生成模块时策略生成模块会根据最新反馈的信息形成新的策略并交付给任务调度模型。此时重新执行1-6的步骤直到所有的策略执行完成并且策略生成模块不再生成新的模块。形成新的任务、加入新的节点。
### 特点
* 柔性任务调度。一个任务由多个节点可以执行。一个节点可以执行多个任务。
* 动态任务调度。在任务调度中,节点与任务都是动态变化的。受控节点会不断增加,任务执行完成后会剔除,新的任务也会不断被添加到任务调度模型当中。
* 负载均衡。利用所有可以利用的节点。平摊任务。每个节点充分利用。
* 多目标多约束任务调度。在任务调度中目标应该是任务执行效率最高。但是有一大堆约束条件。负载均衡应该也算任务目标?还是约束条件。
### 辅助图解
1. 任务依赖图
2. 任务调度模型图
3. 任务调度算法图
## 5 任务调度算法(人工蜂群算法)
### 数学模型
> 应该对任务调度模型部分的数学模型进行抽象,添加一下可以用来做任务调度算法的性质或者函数,同时添加任务调度算法本身的数学抽象。
* F(T)表示每个任务的优先级。用来实现任务调度模型中的任务依赖关系Rt(T)
* Q(N)表示任务队列。每一个节点N都维护一个任务队列或者是优先队列所有节点上的Q(N)集合即为任务分配算法形成的最新的任务分配方案P。也就是说使用Q(N)实现了P的具体描述
* M(T)表示任务的状态。任务状态包含队列中、执行中、执行结束。任务一旦处于执行中,便不能被收回。执行结束后,任务被销毁。
* L(T)表示当前节点任务节点的load负载计算函数。具体的计算函数应该后续给出。是否可以由每个任务占用CPU时间与估计的执行时间进行乘积计算
### 算法原理
> 给出了一个实例
粒子群算法
* 粒子群编码
* 适应度函数定义
* 速度与位置更新
* 惯性权重的调整。
### 算法流程
> 给出了粒子群算法的步骤
* 步骤1 初始化种群规模 NP、最大的迭代次数 Imax、学习因子 c1 c2、惯性权重范围ωmin ωmax等 参数。
* 步骤2 在约束范围内,以正态分布的方式初始 化可行粒子,并且随机产生可行粒子的位置和速度, 确定局部最优解 pbest 和全局最优解 gbest。
* 步骤3 按式( 6) 计算每个可行粒子的适应度 函数值。
* 步骤4 对于每个可行粒子,将其适应度函数值 与局部最优解 pbest 进行比较,如果优于 pbest则将 当前值设为 pbest。
* 步骤5 对于每个可行粒子,将其适应度函数值 与全局最优解 gbest 进行比较,如果优于 gbest则将 当前值设为 gbest。
* 步骤6 根据式( 7) 更新每个粒子的速度。
* 步骤7 根据式( 8) 和式( 9) 更新每个粒子的 位置。
* 步骤8 如果迭代次数达到最大值 Imax则转 步骤9否则转步骤3 继续下一次迭代。
* 步骤9 输出局部最优解 pbest 和全局最优解 gbest。
### 步骤
* 维护一个节点依赖矩阵
* 维护一个任务依赖矩阵(从任务的有向无环图生成树,叶节点优先级最高,根节点优先级最低)
* 使用优先队列存储任务节点。(当任务分配时,检验任务依赖是否满足,不满足则任务降级,瓶颈依赖升级)
* 使用群体之能算法完成多个节点的优先队列构建。随着执行,各个节点的优先队列会动态变化。优先队列的任务之间会相互迁移。
* 优先队列是待执行任务,主控节点会根据节点当前的性能限制分配并行执行的任务数量。
> 关于负载需要说明:负载不是计算资源耗费的量计算。而是通过一个计算机当前执行任务的能力与分配给当前计算机的任务的量的一种关系,能力低,任务多,节点的负载很高。能力低,任务少,节点的负载很低。
> 负载均衡是多个节点之间的待分配任务的平衡。性能限制是当前计算节点执行任务量的限制。
> 通过以上简单的几个步骤,应该就可以实现,负载均衡、性能控制。那么剩下的主要为题就是-------这个所谓的群体智能算法如何任务分配。
## 6 关键技术(给出一些图)
## 7 技术路线(给出一些图)
### 任务抽象过程描述
首先描述问题的抽象过程。讲整个任务调度模型中的角色分为三种,包括节点、策略、任务。(根据策略、任务、节点的抽闲过程进行描述)描述这是一个怎样的系统
### 任务调度模型描述
本文提出的任务调度模型,以任务执行效率最高为目标。任务调度的目标是在任务依赖的情况下,尽可能最大化利用计算节点,提高执行效率。
使用任务依赖、节点依赖、任务与节点之间的依赖、节点性能约束等外部约束来分别约束任务调度,要求任务调度方案中的所有任务调度到到节点上满足要求的依赖,
### 任务调度算法描述
然后介绍任务调度模型的核心。任务调度算法的实现。