算法来优化资源分配。然而,该模型没有使用大量的资源和作业进行测
试。他们只考虑了四种资源和三种工作。Chithra等人(2015)已经引
入了用于附近区域的连接的设备到设备通信,并提出了使用匈牙利方法
的传输模式分配算法以提高系统的吞吐量。Li等人(2016)改进了匈牙
利算法并应用于串并行系统。此外,他们已经评估了所提出的算法在劳
动力分配的调度系统。Mondal等人(2017)提出了一种使用匈牙利算
法解决不平衡分配问题的方法。在这里,他们考虑了不相等数量的工作
和 机 器 。 然而 ,他 们 在不 同的 阶段 映射 了作 业 和 机器 。Liu et al.
(2015)使用FCFS方法对作业进行排序,以便将其分配给可用资源。
在这里,客户可能无法按照他们的要求获得资源。Gawali和Shinde
(2018)提出了一种混合启发式算法来执行资源分配和任务调度。他们
采用改进的层次分析法进行任务处理,带宽感知的可分割调度和BAR优
化进行资源分配。Nathani等人(2012)提出了一种分配算法,其中将
租约分配给节点。他们考虑了租赁的开始时间和期限。然而,重新安排
租赁是该算法的主要开销。HA-LT(Frank,2005; Kuhn,2009)考
虑了任务之间的租赁时间,并应用匈牙利算法来映射任务。另一方面,
HA-CLT(Frank,2005; Kuhn,2009)考虑了任务之间的逆向租赁
时间,并以与HA-LT相同的方式但是,停留时间非常长。分配问题不仅
限于云计算,而且还应用于其他领域,例如患者分类系统(Sir等人,
2015),城市配送停车(Roca-Riu等人,2015),航空业(Dong等
人 , 2016 ) , 渔 业 ( Emery 等 人 , 2016 ) , 供 应 链 调 度
(Assarzadegan和Rasti-Barzoki,2016),动态交通管理(Ji等人,
2016年,还有更多。
上述工作大多采用匈牙利算法,但
他们没有考虑到以下重要的事情。(1)任务和资源的数量被视为相等,
不切实际。(2)任务没有截止日期,它取决于资源的可用性。它导致饥饿
的任务。(3)有一个固定数量的云, 都安排好了因此,它可能无法处
理动态场景。
(4)
任务的执行时间是预先确定的,没有任何特定的开始和结束时
间。因此,在特定时间不可能保留
现有工程的比较研究列于表1。 现有的算法中存在一些差距,这些
差距是阶段性的。
TED
如下。
1
)现有算法在不同阶段映射作业和
(2)
现有的算法大多通
过考虑客户或供应商的感知来进行调度决策。
(3)
对解决方案进行穷
举搜索是昂贵的。(
4
)大多数现有的工作都是用一组非常小的任务
和机器来测试的,以显示算法的有效性。
上述差距带来了以下机会。(
1
)设计有效的任务调度算法,该算
法通过从客户和供应商的角度来映射任务和机器。
(2)
有效的任务调度算法不应该依赖于对解决方案的穷举搜索(
3
)算
法应该用大量的任务和机器进行测试,以显示其有效性。
在本文中,我们提出了一个新的任务调度算法,它最大限度地减少
了总的执行时间。所提出的算法使用由(Penner等人,2014 a,b; Li
等人,2014; Bassa,2012; Li等人,2016; Mondal等人,2017年;Gil-
Rinja, 1998年 ;Medina-Acosta 和 Delgado-Penin, 2011 年 ; Shah等
人,2014; Chithra等人, 2015年)。然而,它有以下几
与这些算法的显著差异。1)所提出的算法考虑了云计算环境中任务和云
的不等数量,这在大多数现有算法中没有考虑(例如,(Li等人,2014
年; Liu等人,2015; Gawali和Shinde,2018; Frank,2005; Kuhn,
2009 ) 。 虽 然 已 经 提 出 了 相 当 多 的 算 法 ( 如 Mondal et al.
(2017)),但它们在不同的阶段映射了作业和机器。然而,所提出的
算法在单个阶段中映射。2)所提出的算法将任务分成两个不同的组,并
比较两组任务以找到配对,这是现有算法所不能完成的(Li等人,2014
年; Liu等人,2015; Gawali和Shinde,2018; Frank,2005; Kuhn,
2009; Nathani等人,2012年)。3)该算法考虑了传输时间的影响,使
其更符合实际.然而,在现有算法中不考虑转移时间(Li等人,2014年;
Liu等人,2015; Gawali和Shinde,2018;Frank,2005; Kuhn,2009;
Nathani等人,2012年)。4)与现有的算法不同,我们考虑了一个新的
性能指标,称为停留时间来评估建议和现有的算法。
3.
问题陈述
考虑一组l个任务T = {
T1
,
T2
,
T3
,. . ,
T1
}和一组作为服务的分布式基
础设施(IaaS)云C = {
C1
,
C2
,
C3
,. . ,
Cm
}。 任务T
i
,1
我
L 是 中
表示 形式 3-元组ST,D,G>,其中ST表示开始时间,D表示持续时
间,G表示组id。注意,结束时间(ET)是开始时间和持续时间之和。
数学上,ET=AT+D。我们假设任务的开始时间、持续时间和结束时间
是
预先确定
的。
任务
集合
T
被
划分为0
= 0
。
|
G
|
组请注意,每个组中的任务
总数需要相等。然而,所有的组彼此不相交。 在任务分配之前,进行
任务配对,其中 配对任务属于两个不同的组。配对任务(比如,T
x
和
T
y
)可以在云上处理如下。第一任务T
x
可以在云中执行,并且下一个任
务T
y
只能在相同云中开始,在第一任务T x的结束时间(ET)
任务T
x
和任务T
x
与任务T
y
之间的传输时间。数学上,ET(T
x
)+s ST
(T
y
)。 此网络延迟/传输时间
为了计算的简单性,假设用户
/
任务之间的时间间隔为一小时然而,
在我们的算法中没有考虑
CPU
和网络使用的动态性目标是以最小化
总体停留时间的方式处理任务。这个问题被限制到以下约束。
1)
一个
任务可以映射到任意数量的云,但它最终会被分配到其中一个可用的
云。
2)
配对任务可以以任何顺序执行,但它们仅限于在同一云中执
行。
3)
任务组的数量是偶数,并且优选地设置为两个。
4)
任务不能分
区、迁移和抢占。在本文中,我们使用
Haizea
(即,基于租赁管理
的开源虚拟机)架构来解决上述问题(
Haizea
,
2018
)。
4.
该算法
4.1.
基于对的任务调度算法
基于对的任务调度(
PTS
)算法是基于一种组合优化算法,称为
匈牙利算法(
Frank
,
2005; Kuhn
,
2009
),最初由
Harold W.
库
恩在
1955
年。
PTS
是一种分配或调度算法,它以非常适合在云中处
理为此,它将任务集分为两个不同的组,即
G
1
到
G
2
。然后分别计算
G1
到
G2
的任务之间的租用时间和
G2
到
G1
的任务之间的逆租用时间,