CN114610462A - 无冲突的周期性多趟调度模型的求解方法及系统 - Google Patents

无冲突的周期性多趟调度模型的求解方法及系统 Download PDF

Info

Publication number
CN114610462A
CN114610462A CN202210279482.3A CN202210279482A CN114610462A CN 114610462 A CN114610462 A CN 114610462A CN 202210279482 A CN202210279482 A CN 202210279482A CN 114610462 A CN114610462 A CN 114610462A
Authority
CN
China
Prior art keywords
scheduling
task
pass
conflict
module
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.)
Granted
Application number
CN202210279482.3A
Other languages
English (en)
Other versions
CN114610462B (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.)
CETC 20 Research Institute
Original Assignee
CETC 20 Research Institute
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 CETC 20 Research Institute filed Critical CETC 20 Research Institute
Priority to CN202210279482.3A priority Critical patent/CN114610462B/zh
Publication of CN114610462A publication Critical patent/CN114610462A/zh
Application granted granted Critical
Publication of CN114610462B publication Critical patent/CN114610462B/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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种无冲突的周期性多趟调度模型的求解方法,针对周期性多趟调度模型中处理机可能在倒数第二趟与最后一趟调度中发生时间冲突的问题,建立了一种无冲突的周期性多趟调度模型,针对所提出的无冲突的周期性多趟调度模型,对于给定的处理机数目和总任务量,推导出最优的任务分配方案、最优调度趟数、无冲突的任务分配系数和任务完成时间,从而保证处理机不产生时间冲突的前提下提高处理机的计算效率。

Description

无冲突的周期性多趟调度模型的求解方法及系统
技术领域
本发明属于信息技术相关领域,涉及一种调度模型的求解。
背景技术
对于可分任务调度模型的研究主要分为单趟调度和多趟调度两大类。对于单趟调度,主处理机将任务切分为与从处理机数目相同的子任务块,并按照一定的调度顺序分配至各从处理机予以计算。由于后分配任务的处理机存在较长的空闲等待时间,因此,单趟调度并不适合大规模的数据应用问题。对于多趟调度,主处理机将任务切分为数倍于从处理机数目的子任务块按照一定的调度顺序并分多趟分配给各从处理机。与单趟调度模型相比,多趟调度通过减少处理机的空闲等待时间以此提升各处理机完成任务的效率。与此同时,与单趟调度相比,多趟调度模型的求解变得更加复杂。首先,多趟调度模型涉及最优调度趟数的求解;其次,多趟调度中的任务分配方案是一个矩阵形式而不再是向量形式,其中矩阵中的各元素表示各趟调度中每个从处理机接收主处理机分配的子任务量。
为了降低多趟调度模型的复杂度和求解的难度,文献1(SHOKRIPOUR A,OTTOMANM,IBRAHIM H,et al.New method for scheduling heterogeneous multi-installmentsystems[J].Future Generation Computer Systems,2012,28(8):1205-1216.)提出了周期性多趟调度模型(Periodic Multi-Installment Scheduling,PMIS),该模型不仅简化了多趟调度过程,使得任务分配方案更易于求解。具体而言,PMIS规定了每一趟调度完成的总任务量相同。PMIS将调度过程分为内部调度周期和最后一趟调度周期。其中,最后一趟调度不同于内部调度的原因是要保证所有从处理机在同一时刻完成计算,从而减少任务完成计算的总时间。内部调度周期内,任意两趟调度间无空闲等待时间,从而进一步提高了任务的完成效率。
由于单趟调度模型在实际任务调度中各处理机存在较长的空闲等待时间,从而降低了处理机的资源利用率并对任务完成总时间也造成了影响。为此,在可分任务调度中常采用多趟调度模型。但是,多趟调度中不合理的任务分配不仅可能降低任务的完成效率、降低平台的资源利用率,甚至可能引发处理机的时间冲突(即任务在时间上重叠分配),导致处理机不能如约按时完成任务计算。
发明内容
为了克服现有技术的不足,本发明提供一种无冲突的周期性多趟调度模型的求解方法,能够保证任务按时完成。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1,建立无冲突的周期性多趟调度模型;
设处理机数目为n+1,其中p0为主处理机,{pi|i∈{1,2,…,n}}为从处理机;各从处理机通过通信链路{li|i∈{1,2,…,n}}与主处理机相连;所述的处理机和网络均异构,包括处理机的计算启动开销si不同、计算单位任务量时间wi不同、链路的通信启动开销oi不同,以及分配单位任务量通信时间zi不同;
设总任务量为
Figure BDA0003556499400000021
主处理机p0将总任务量
Figure BDA0003556499400000022
划分为子任务块后按照一定的调度处理机顺序将其分配至各从处理机进行并行任务处理;周期性多趟调度过程分为内部调度周期和最后一趟调度周期,其中内部调度周期包括m-1趟调度;假定在内部调度的每一趟中主处理机分配给从处理机完成计算的总任务量相同,记为V;对于最后一趟调度,主处理机分配给从各处理机的总任务量为hV;
Figure BDA0003556499400000023
在每一趟内部调度中,主处理机p0向从处理机pi(i∈{1,2,…,n})分配的任务量记为αiV;在最后一趟调度中,主处理机p0向从处理机pi分配的任务量为βiV,
Figure BDA0003556499400000024
主处理机p0向从处理机pi分配任务量αiV的所需时间为oi+ziαiV;处理机pi完成任务量αiV计算的所需时间为si+wiαiV;
建立无冲突的周期性多趟调度模型如下:
Figure BDA0003556499400000025
此模型的约束条件为:
(I)αi>0,βi>0,i=1,2,…,n;
(II)m≥2;
其中:
(1)
Figure BDA0003556499400000026
(2)αi和βi分别满足下式,i=1,2,…,n;
Figure BDA0003556499400000031
Figure BDA0003556499400000032
其中,
Figure BDA0003556499400000033
步骤2,求解无冲突的周期性多趟调度模型,得到最优调度趟数m*,无冲突的任务分配系数h,以及任务完成时间T。
所述步骤2的具体实现步骤如下:
步骤2.1:给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure BDA0003556499400000034
以及参与任务计算的处理机数目n;
步骤2.2:将上述参数分别代入内部调度和最后一趟调度的分配方案,计算调度的分配方案αi和βi,其中i=1,2,…,n;
步骤2.3:如果
Figure BDA0003556499400000038
使得αi<0或βi<0,将n值减一,转向步骤2.2;否则转向步骤2.4;
步骤2.4:计算无冲突的任务分配系数
Figure BDA0003556499400000035
步骤2.5:计算最优调度趟趟数
Figure BDA0003556499400000036
其中,
Figure BDA0003556499400000037
步骤2.6:由公式T(m,h)=(m-1)(α1Vw1+s1)+β1h Vw1+o1+s1计算出任务的完成时间T。
本发明还提供一种实现上述方法的系统,包括无冲突的周期性多趟调度模型建立模块和无冲突的周期性多趟调度模型求解模块;
所述的无冲突的周期性多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于给定总任务量和处理机数目,构建内部调度的分配方案和最后一趟调度的分配方案;子模块12用于建立无冲突的周期性多趟调度模型;
所述的无冲突的周期性多趟调度模型求解模块用于求解无冲突的周期性多趟调度模型,得到输出最优调度趟趟数m*,无冲突的任务分配系数h,以及任务完成时间T。
所述无冲突的周期性多趟调度模型求解模块,包括子模块21、子模块22、子模块23、子模块24、子模块25、子模块26和子模块27,其中,
所述子模块21用于给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure BDA0003556499400000041
以及参与任务计算的处理机数目n;
所述子模块22用于将上述参数分别代入内部调度和最后一趟调度的分配方案中,计算分配方案αi和βi
所述子模块23用于判断如果
Figure BDA0003556499400000042
使得αi<0或βi<0,令n值减一,进入子模块22;否则进入子模块24;
所述子模块24用于计算无冲突的任务分配系数h;
所述子模块25用于计算最优调度趟趟数m
所述子模块26用于计算出任务的完成时间T;
所述子模块27用于输出最优调度趟数m*、无冲突的任务分配系数h、任务分配方案和任务完成时间T。
本发明的有益效果是:
1)本发明针对周期性多趟调度模型中处理机可能在倒数第二趟与最后一趟调度中发生时间冲突的问题,建立了一种无冲突的周期性多趟调度模型,在任务调度中使用该模型不会导致处理机发生时间冲突,保证了任务可以如约按时完成计算。相比于现有技术,该模型更加合理且高效。
2)本发明针对所提出的无冲突的周期性多趟调度模型,对于给定的处理机数目和总任务量,能够推导出最优的任务分配方案、最优调度趟数、无冲突的任务分配系数和任务完成时间,从而保证处理机不产生时间冲突的前提下提高处理机的计算效率。
附图说明
图1为满足问题描述的星型网络示意图;
图2为满足约束的无冲突的周期性多趟调度图;
图3为本发明的求解方法流程图;
图4为无冲突的周期性多趟调度模型的求解方法流程图;
图5为实现本发明的求解方法的系统框图。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明公开了一种无冲突的周期性多趟调度模型的求解方法及系统。由于单趟调度模型在实际任务调度中各处理机存在较长的空闲等待时间,从而降低了处理机的资源利用率并对任务完成总时间也造成了影响。为此,在可分任务调度中常采用多趟调度模型。多趟调度中不合理的任务分配不仅可能降低任务的完成效率、降低平台的资源利用率,甚至可能引发处理机的时间冲突(即任务在时间上重叠分配),导致处理机不能如约按时完成任务计算。鉴于此,本发明提出了一种合理、高效且无冲突的周期性多趟调度模型,并求解了该模型的最优任务分配方案和最优调度趟数的解析解用于最小化任务完成时间。
本实施例的无冲突的周期性多趟调度模型的求解方法,具体包括以下步骤:
步骤1,建立无冲突的周期性多趟调度模型
参见图1,设p0为主处理机,{pi|i∈{1,2,…,n}}为从处理机。各从处理机通过通信链路{li|i∈{1,2,…,n}}与主处理机相连。主处理机p0向从处理机pi(i∈{1,2,…,n})分配的任务量记为αiV。在最后一趟调度中,主处理机p0向从处理机pi分配的任务量为βiV。为了保证任务分配方案是一个可行解,需要满足αi>0和βi>0,同时
Figure BDA0003556499400000051
对于每一趟调度,主处理机p0向从处理机pi分配的任务量αiV所需时间为oi+LiαiV。其中,oi表示主处理机p0向从处理机pi在通信链路li上分配子任务块所需的通信启动开销,zi表示主处理机p0向从处理机pi在通信链路li上在分配单位任务量所需通信时间,也即链路通信速度的倒数。处理机pi完成任务量αiV的计算所需时间为si+wiαiV。其中,si表示处理机pi计算所分任务的启动开销,wi表示处理机pi计算单位任务量的计算时间;调度过程参见图2。
步骤1.1,由任务的完成时间最短,最后一趟调度中所有参与调度的处理机必须在同一时刻完成计算,以及除了最后一趟调度,每个处理机在任意相邻的两趟调度之间都不能存在时间间隔,得到任务的分配方案。
步骤1.1.1,为使任务的完成时间最短,最后一趟调度中所有参与调度的处理机必须在同一时刻完成计算。因此可得:
α1Vw1+s1=α2Vw2+s2=…=αnVwn+sn (1)
从而主处理机p0分配给从处理机pi的分配分配量αi可表示为:
Figure BDA0003556499400000061
为了便于表示,定义如下两个新变量:
Figure BDA0003556499400000062
将公式(3)代入公式(2)可化简为:
Figure BDA0003556499400000063
Figure BDA0003556499400000064
联立公式(4)可得:
Figure BDA0003556499400000065
整理公式(5),α1可表示为:
Figure BDA0003556499400000066
联立公式(4)与公式(6),可以得到内部调度中,各从处理机pi的任务量分配方案的紧式耦合解,如下:
Figure BDA0003556499400000067
为了保证内部调度过程中各从处理机的任务分配方案是一个可行解,还需满足约束条件αi>0,其中i=1,2,…,n。
步骤1.1.2,为了最小化任务完成时间,所有处理机应在最后一趟调度中同一时刻停止任务计算。参见图2,处理机在最后一趟调度的任务完成时间应满足如下公式:
si+wiβihV=oi+1+ziβihV+si+1+wi+1βi+1hV (8)
根据公式(8),可得βi+1的递推公式为:
Figure BDA0003556499400000071
为了便于表示,引入两个新变量:
Figure BDA0003556499400000072
将公式(10)代入公式(9),可简化为:
Figure BDA0003556499400000073
通过对公式(11)中βi的迭代,可将βi用β1表示如下:
Figure BDA0003556499400000074
其中,
Figure BDA0003556499400000075
Figure BDA0003556499400000076
联立公式(12)可得:
Figure BDA0003556499400000077
将公式(12)代入公式(14),可得:
Figure BDA0003556499400000078
根据公式(15),β1可表示为:
Figure BDA0003556499400000079
联立公式(12)与公式(16),可得各处理机最后一趟调度中的任务分配方案的紧式耦合解如下:
Figure BDA0003556499400000081
为了保证最后一趟调度过程中各从处理机的任务分配方案是一个可行解,还需满足约束条件为βi>0,i=1,2,...,n。
步骤1.2,建立无冲突的周期性多趟调度模型如下:
Figure BDA0003556499400000082
此模型的约束条件为:
(I)αi>0,βi>0,i=1,2,…,n;
(II)m≥2;
其中:
(1)
Figure BDA0003556499400000083
(2)αi和βi分别满足式(1)和式(3),i=1,2,…,n。
步骤2,求解无冲突的周期性多趟调度模型
步骤2.1:给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure BDA0003556499400000084
以及参与任务计算的处理机数目n;
步骤2.2:将上述参数分别代入公式(7)和公式(17),计算内部调度的分配方案αi和βi,其中i=1,2,…,n;
步骤2.3:如果
Figure BDA0003556499400000085
使得αi<0或βi<0,令n=n-1,转向步骤2.2;否则转向步骤2.4;
步骤2.4:为避免倒数第二趟调度与最后一趟调度中发生时间冲突,推导并计算无冲突的任务分配系数
Figure BDA0003556499400000086
任务分配系数h具体推导过程如下:
为了避免产生调度时间冲突,对于任意的从处理机pi在最后一趟调度的任务计算开始时间
Figure BDA0003556499400000087
应晚于倒数第二趟调度的任务结束时间
Figure BDA0003556499400000088
即保证
Figure BDA0003556499400000089
由附图2可知,对于任意的从处理机pi在最后一趟调度中的任务计算开始时间为:
Figure BDA0003556499400000091
对于任意的从处理机pi在倒数第二趟调度中的任务计算完成时间为:
Figure BDA0003556499400000092
根据公式(18)与公式(19),可以得到:
Figure BDA0003556499400000093
由公式(1)所知,
s1+w1α1V=si+wiαiV
将上式代入公式(20)中,可得:
Figure BDA0003556499400000094
化简上式,可得:
Figure BDA0003556499400000095
其中,根据公式(7)与公式(17)可知,
Figure BDA0003556499400000096
代入公式(21),可以得到:
Figure BDA0003556499400000097
已知,相较于处理机的计算时间与通信时间,处理机的通信启动开销与计算启动开销可忽略不计。鉴于此,公式(22)可以化简为:
Figure BDA0003556499400000101
为了保证处理机无时间冲突,即
Figure BDA0003556499400000102
需要满足:
Ejβ1h-Δjα1>0
也即:
Figure BDA0003556499400000103
由公式(6)与公式(16)可知,β1>α1且β1>0,α1>0。因此可得:
Figure BDA0003556499400000104
其中,由公式(3)与公式(13)可知:
Figure BDA0003556499400000105
Figure BDA0003556499400000106
将上述公式代入公式(24),对于
Figure BDA0003556499400000107
可得:
Figure BDA0003556499400000108
通过对上式的分析可知,若j=i-1和
Figure BDA0003556499400000109
成立,对于
Figure BDA00035564994000001010
都满足:
Figure BDA00035564994000001011
因此,可以得到:
Figure BDA00035564994000001012
将上述结论代入公式(23)和公式(24)可以得到
Figure BDA00035564994000001013
成立,即处理机在任务调度过程中不存在时间冲突。
综上所述,当j=i-1和
Figure BDA0003556499400000111
时,无冲突的任务调度分配系数的可行解为:
Figure BDA0003556499400000112
步骤2.5:计算最优调度趟趟数
Figure BDA0003556499400000113
其中
Figure BDA0003556499400000114
最有调度趟数m*具体推导过程如下:
首先对无冲突的周期性多趟调度模型的可行解和不可行解进行定义如下:
Figure BDA0003556499400000115
有αi>0且βi>0,则称任务量分配系数h和调度趟数m为无冲突的周期性多趟调度模型的可行解,记为(m,h)。反之,若
Figure BDA0003556499400000116
有αi<0或βi<0,则称任务量分配系数h和调度趟数m为无冲突的周期性多趟调度模型的不可行解。
基于以上定义,接下来将证明定理1和定理2。
步骤2.5.1,证明定理1;
定理1:若给定处理机数目为n,任务量分配系数为h,调度趟数为m时,无冲突的周期性多趟调度模型有可行解(m,h),则当调度趟数为m′且m′<m时,(m′,h)也一定为无冲突的周期性多趟调度模型的可行解。
证明:当i=1时,有α1>0,β1>0。根据公式(7)与公式(17),则有:
Figure BDA0003556499400000117
其中,
Figure BDA0003556499400000118
将上式代入公式(26)后,可以得到:
Figure BDA0003556499400000121
因此,公式(27)可化简为:
Figure BDA0003556499400000122
记调度趟数为m′且m′=m-1时,无冲突的周期性多趟调度模型内部调度的任务分配方案为α′=(α′1,α′2,…,α′n),最后一趟调度的任务分配方案为β′=(β′1,β′2,…,β′n)。
根据公式(7)与公式(17),对于α′i和β′i,有:
Figure BDA0003556499400000123
其中,
Figure BDA0003556499400000124
将上式代入公式(29),可以得到:
Figure BDA0003556499400000125
观察公式(28)与公式(30),可以得到:
Figure BDA0003556499400000126
对于
Figure BDA0003556499400000131
上文通过αi>0且βi>0已经证明α′1>0且β′1>0。还需要证明对于
Figure BDA0003556499400000132
α′i>0且β′i>0。下面将通过数学反证法进行证明。
假设
Figure BDA0003556499400000133
使得α′i<0。根据公式(7),有:
Figure BDA0003556499400000134
其中,
Figure BDA0003556499400000135
将上式代入公式(32),可以得到:
Figure BDA0003556499400000136
根据公式(33),Φj满足:
Figure BDA0003556499400000137
由于αj>0,则有
Figure BDA0003556499400000138
其中,
Figure BDA0003556499400000139
由上式与公式(35),可得:
Figure BDA00035564994000001310
因此,联立公式(34)与公式(36),则有
Figure BDA00035564994000001311
化简上式,可以得到:
α1(m+h-2)>α′1(m+h-1)
将公式(27)与公式(30)代入上式,则有
Figure BDA0003556499400000141
化简上式,可得:
Figure BDA0003556499400000142
即得m+h-2<m+h-1。
矛盾,因此,假设不成立,即
Figure BDA0003556499400000143
使得α′i<0。同理可证
Figure BDA0003556499400000144
使得β′i<0。所以,当
Figure BDA0003556499400000145
αi>0且βi>0成立。因此,若(m,h)为无冲突的周期性多趟调度模型的可行解,则(m′,h)也为无冲突的周期性多趟调度模型的可行解,其中m′=m-1。
综上所述,由数学归纳法可知,若无冲突的周期性多趟调度模型有可行解(m,h),则当调度趟数为m′且m′<m时,(m′,h)也为无冲突的周期性多趟调度模型的可行解。
步骤2.5.2,证明定理2,并推导出最优调度趟数;
定理2:若无冲突的周期性多趟调度模型有可行解(m,h),则任务完成时间T随着调度趟数m的增加先单调递减再单调递增。
证明:对于可行解(m,h),任务完成时间可表示为:
T(m,h)=(m-1)(α1Vw1+s1)+β1hVw1+o1+s1
将公式(26)代入上式,可以得到:
Figure BDA0003556499400000146
其中,
Figure BDA0003556499400000147
为方便表示,定义如下变量:
Figure BDA0003556499400000151
根据上式,公式(37)可表示为:
Figure BDA0003556499400000152
由公式(39),可得:
Figure BDA0003556499400000153
假定(m+1,h)是无冲突的周期性多趟调度模型的一个可行解,根据定理1,则(m,h)和(m-1,h)也为无冲突的周期性多趟调度模型的一个可行解。
同理,可行解(m+1,h)的任务完成时间为:
Figure BDA0003556499400000154
整理上式,可得:
Figure BDA0003556499400000155
可行解(m-1,h)的任务完成时间为:
Figure BDA0003556499400000156
整理上式,可得:
Figure BDA0003556499400000161
由公式(40)和公式(41),可以得到:
Figure BDA0003556499400000162
此外,由公式(40)和公式(42),可以得到:
Figure BDA0003556499400000163
为方便表示,定义新变量如下:
Figure BDA0003556499400000164
将上式分别代入(43)与(44),可以得到:
Figure BDA0003556499400000165
Figure BDA0003556499400000166
由公式(38)可知,
Figure BDA0003556499400000167
其中,
Figure BDA0003556499400000168
Figure BDA0003556499400000171
其中,
Figure BDA0003556499400000172
由公式(47)和公式(48)可得,λ>0,b>d。代入公式(45)可知,当
Figure BDA0003556499400000173
时,T(m+1)>T(m)。所以,当m满足
Figure BDA0003556499400000174
时,任务的完成时间T随m的增加而单调递增。同理,由公式(46)可知,当
Figure BDA0003556499400000175
时,任务的完成时间T随m的增加而单调递减。
综上所述,若无冲突的周期性多趟调度模型有可行解(m,h),则任务完成时间T随着调度趟数m的增加先单调递减再单调递增。得证。
由定理2的证明可以得出结论:任务的完成时间函数T存在一个拐点且该拐点处的内部调度趟数满足:
Figure BDA0003556499400000176
根据上式可知,给定调度趟数m和任务分配系数h,无冲突的周期性多趟调度模型的最优调度趟数为:
Figure BDA0003556499400000177
步骤2.6:由公式T(m,h)=(m-1)(α1 Vw1+s1)+β1h Vw1+o1+s1计算出任务的完成时间T;
步骤2.7:输出最优调度趟数m*、无冲突的任务分配系数h、任务分配方案和任务完成时间T。
本实施例还提供一种用于实现无冲突的周期性多趟调度模型的求解方法的系统,包括依次连接的无冲突的周期性多趟调度模型建立模块和无冲突的周期性多趟调度模型求解模块;
所述的无冲突的周期性多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于实现以下功能:
给定总任务量和处理机数目,构建内部调度的分配方案如下:
Figure BDA0003556499400000181
构建最后一趟调度的分配方案如下:
Figure BDA0003556499400000182
子模块12用于实现以下功能:
建立无冲突的周期性多趟调度模型如下:
Figure BDA0003556499400000183
所述的无冲突的周期性多趟调度模型求解模块用于实现以下功能:
求解无冲突的周期性多趟调度模型,得到输出最优调度趟趟数m*,无冲突的任务分配系数h,任务完成时间T。
具体地,所述无冲突的周期性多趟调度模型求解模块,包括子模块21、子模块22、子模块23、子模块24、子模块25、子模块26和子模块27,其中,
所述子模块21用于实现以下功能:
给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure BDA0003556499400000184
以及参与任务计算的处理机数目n;
所述子模块22用于实现以下功能:
将上述参数分别代入式1和式3,计算内部调度的分配方案αi和βi,其中i=1,2,…,n;
所述子模块23用于实现以下功能:
如果
Figure BDA0003556499400000191
使得αi<0或βi<0,令n=n-1,进入子模块22;否则进入子模块24;
所述子模块24用于实现以下功能:
为避免倒数第二趟调度与最后一趟调度中发生时间冲突,计算无冲突的任务分配系数
Figure BDA0003556499400000192
所述子模块25用于实现以下功能:
计算最优调度趟趟数
Figure BDA0003556499400000193
其中
Figure BDA0003556499400000194
所述子模块26用于实现以下功能:
由公式T(m,h)=(m-1)(α1Vw1+s1)+β1h Vw1+o1+s1计算出任务的完成时间T;
所述子模块27用于实现以下功能:
输出最优调度趟数m*、无冲突的任务分配系数h、任务分配方案和任务完成时间T。
针对提出的无冲突的周期性多趟调度模型和算法,进行了多组对比实验。实验参数设置如下:从处理机总数为20。表1给出了异构并行与分布式系统下从处理机的相关参数。
表1.异构并行与分布式系统下从处理机的相关参数
Figure BDA0003556499400000195
Figure BDA0003556499400000201
表2和表3给出了两种算法在相同任务量
Figure BDA0003556499400000202
的情况下是否发生时间冲突的实验结果。其中,PMIS代表了参考文献2(WANG X,VEERAVALLI B.PerformanceCharacterization on Handling Large-Scale Partitionable Workloads onHeterogeneous Networked Compute Platforms[J].IEEE Transactions on Parallel&Distributed Systems,2017,28(10):2925-2938.)中提出的算法,CF-MIS代表了本发明提出的无冲突的周期性多趟调度模型的算法。处理机的调度顺序遵循通信速度的降序排列,即zi的升序排列,具体调度顺序如下:
Pσ=(13,5,16,12,18,8,7,11,19,14,1,10,3,20,6,17,2,4,9,15)
Figure BDA0003556499400000203
表示各处理机最后一趟调度的任务开始计算时间,
Figure BDA0003556499400000204
表示各处理机在倒数第二趟调度的任务完成时间。
表2.相同任务量的处理机p1至p9的调度冲突时间
Figure BDA0003556499400000205
Figure BDA0003556499400000211
表3.相同任务量的处理机p10至p20的调度冲突时间
Figure BDA0003556499400000212
Figure BDA0003556499400000221
从表2和表3中可以看出,若分布式计算平台采用PMIS模型,处理机p9在倒数第二趟调度中的任务完成时间为5939.87,在最后一趟调度中的任务开始计算时间为5938.75,时间差为-1.12,这说明处理机p9在未完成倒数第二趟调度任务计算时,却已开始接收主处理机在最后一趟调度分配的任务并开始进行计算,显然这存在调度时间冲突。同样,处理机p14也存在调度时间冲突。而本发明提出的CF-MIS模型,对于处理机p9与p14均有在倒数第二趟调度中的任务完成时间小于在最后一趟调度中的任务开始计算时间,进而有效的避免了从处理机在多趟调度中发生时间冲突。因此,本发明提出的算法在周期性多趟调度的过程中可以有效解决时间冲突问题。

Claims (4)

1.一种无冲突的周期性多趟调度模型的求解方法,其特征在于,包括以下步骤:
步骤1,建立无冲突的周期性多趟调度模型;
设处理机数目为n+1,其中p0为主处理机,{pi|i∈{1,2,…,n}}为从处理机;各从处理机通过通信链路{li|i∈{1,2,…,n}}与主处理机相连;所述的处理机和网络均异构,包括处理机的计算启动开销si不同、计算单位任务量时间wi不同、链路的通信启动开销oi不同,以及分配单位任务量通信时间zi不同;
设总任务量为
Figure FDA0003556499390000011
主处理机p0将总任务量
Figure FDA0003556499390000012
划分为子任务块后按照一定的调度处理机顺序将其分配至各从处理机进行并行任务处理;周期性多趟调度过程分为内部调度周期和最后一趟调度周期,其中内部调度周期包括m-1趟调度;假定在内部调度的每一趟中主处理机分配给从处理机完成计算的总任务量相同,记为V;对于最后一趟调度,主处理机分配给从各处理机的总任务量为hV;
Figure FDA0003556499390000013
在每一趟内部调度中,主处理机p0向从处理机pi(i∈{1,2,…,n})分配的任务量记为αiV;在最后一趟调度中,主处理机p0向从处理机pi分配的任务量为βiV,
Figure FDA0003556499390000014
主处理机p0向从处理机pi分配任务量αiV的所需时间为oi+ziαiV;处理机pi完成任务量αiV计算的所需时间为si+wiαiV;
建立无冲突的周期性多趟调度模型如下:
Figure FDA0003556499390000015
此模型的约束条件为:
(I)αi>0,βi>0,i=1,2,…,n;
(II)m≥2:
其中:
(1)
Figure FDA0003556499390000016
(2)αi和βi分别满足下式,i=1,2,…,n;
Figure FDA0003556499390000017
Figure FDA0003556499390000021
其中,
Figure FDA0003556499390000022
步骤2,求解无冲突的周期性多趟调度模型,得到最优调度趟数m*,无冲突的任务分配系数h,以及任务完成时间T。
2.根据权利要求1所述的无冲突的周期性多趟调度模型的求解方法,其特征在于,所述步骤2的具体实现步骤如下:
步骤2.1:给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure FDA0003556499390000023
以及参与任务计算的处理机数目n;
步骤2.2:将上述参数分别代入内部调度和最后一趟调度的分配方案,计算调度的分配方案αi和βi,其中i=1,2,…,n;
步骤2.3:如果
Figure FDA0003556499390000027
使得αi<0或βi<0,将n值减一,转向步骤2.2;否则转向步骤2.4;
步骤2.4:计算无冲突的任务分配系数
Figure FDA0003556499390000024
步骤2.5:计算最优调度趟趟数
Figure FDA0003556499390000025
其中,
Figure FDA0003556499390000026
步骤2.6:由公式T(m,h)=(m-1)(α1Vw1+s1)+β1hVw1+o1+s1计算出任务的完成时间T。
3.一种实现权利要求1所述方法的无冲突的周期性多趟调度模型的求解系统,其特征在于,包括无冲突的周期性多趟调度模型建立模块和无冲突的周期性多趟调度模型求解模块;所述的无冲突的周期性多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于给定总任务量和处理机数目,构建内部调度的分配方案和最后一趟调度的分配方案;子模块12用于建立无冲突的周期性多趟调度模型;所述的无冲突的周期性多趟调度模型求解模块用于求解无冲突的周期性多趟调度模型,得到输出最优调度趟趟数m*,无冲突的任务分配系数h,以及任务完成时间T。
4.根据权利要求3所述的无冲突的周期性多趟调度模型的求解系统,其特征在于,所述无冲突的周期性多趟调度模型求解模块,包括子模块21、子模块22、子模块23、子模块24、子模块25、子模块26和子模块27,其中,
所述子模块21用于给定分布式系统的基础参数oi,si,zi,wi,总任务量
Figure FDA0003556499390000031
以及参与任务计算的处理机数目n;
所述子模块22用于将上述参数分别代入内部调度和最后一趟调度的分配方案中,计算分配方案αi和βi
所述子模块23用于判断如果
Figure FDA0003556499390000032
使得αi<0或βi<0,令n值减一,进入子模块22;否则进入子模块24;
所述子模块24用于计算无冲突的任务分配系数h;
所述子模块25用于计算最优调度趟趟数m
所述子模块26用于计算出任务的完成时间T;
所述子模块27用于输出最优调度趟数m*、无冲突的任务分配系数h、任务分配方案和任务完成时间T。
CN202210279482.3A 2022-03-21 2022-03-21 无冲突的周期性多趟调度模型的求解方法及系统 Active CN114610462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210279482.3A CN114610462B (zh) 2022-03-21 2022-03-21 无冲突的周期性多趟调度模型的求解方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210279482.3A CN114610462B (zh) 2022-03-21 2022-03-21 无冲突的周期性多趟调度模型的求解方法及系统

Publications (2)

Publication Number Publication Date
CN114610462A true CN114610462A (zh) 2022-06-10
CN114610462B CN114610462B (zh) 2024-05-14

Family

ID=81864237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210279482.3A Active CN114610462B (zh) 2022-03-21 2022-03-21 无冲突的周期性多趟调度模型的求解方法及系统

Country Status (1)

Country Link
CN (1) CN114610462B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915255A (zh) * 2015-05-19 2015-09-16 西安电子科技大学 一种可分任务多趟调度模型的求解方法及系统
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法
US20170332350A1 (en) * 2014-11-03 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) System and method for management of periodic resources in a communication network
CN110008023A (zh) * 2019-03-26 2019-07-12 湖南农业大学 基于遗传算法的云计算系统预算约束随机任务调度方法
CN111124629A (zh) * 2019-11-12 2020-05-08 周口师范学院 一种带结果收集的多趟调度模型的求解方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170332350A1 (en) * 2014-11-03 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) System and method for management of periodic resources in a communication network
CN104915255A (zh) * 2015-05-19 2015-09-16 西安电子科技大学 一种可分任务多趟调度模型的求解方法及系统
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法
CN110008023A (zh) * 2019-03-26 2019-07-12 湖南农业大学 基于遗传算法的云计算系统预算约束随机任务调度方法
CN111124629A (zh) * 2019-11-12 2020-05-08 周口师范学院 一种带结果收集的多趟调度模型的求解方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱海;王晓丽;马海明;: "分布式计算系统下可分任务的周期性多趟调度", 西安交通大学学报, no. 08, 22 June 2018 (2018-06-22) *

Also Published As

Publication number Publication date
CN114610462B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
JP4387174B2 (ja) 複数の優先順位グループに関連付けられたプロセスを複数のリソース間に分散する方法
CN104765640B (zh) 一种智能服务调度方法
US20070226743A1 (en) Parallel-distributed-processing program and parallel-distributed-processing system
CN104331321A (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN106934539A (zh) 一种带有期限和费用约束的工作流调度方法
Moulik et al. COST: A cluster-oriented scheduling technique for heterogeneous multi-cores
CN114610462A (zh) 无冲突的周期性多趟调度模型的求解方法及系统
CN112306642A (zh) 一种基于稳定匹配博弈理论的工作流调度方法
CN114283046B (zh) 基于icp算法的点云文件配准方法、装置及存储介质
CN111930485A (zh) 一种基于性能表现的作业调度方法
CN104915250A (zh) 一种实现作业内的MapReduce数据本地化的方法
CN111124629B (zh) 一种带结果收集的多趟调度模型的求解方法及系统
JPS63184841A (ja) 相互に関連したタスクの実行を制御する方法
CN115408122A (zh) 一种去中心化的分布式并行计算框架及计算方法
CN115034365A (zh) 一种面向神经网络处理器的多核并行计算方法
Sudhakar et al. Generalized and scalable offset-based response time analysis of fixed priority systems
CN112346852A (zh) 矩阵求和运算的分布式物理处理
CN113064711B (zh) 一种在线多工作流动态调度方法和系统
CN109828837A (zh) 基于最长路径优先的关联性任务调度方法
CN115190050B (zh) 基于异构多址接入网络慢节点检测的编码计算优化方法
Tripathi et al. Processor scheduling in multiprocessor systems
CN110865886B (zh) 面向多概率性参数实时任务的和谐感知多处理器调度方法
CN113448705B (zh) 一种不平衡作业调度算法
Chan et al. New resource augmentation analysis of the total stretch of SRPT and SJF in multiprocessor scheduling
Xie et al. Minimizing communication conflicts with load-skewing task assignment techniques on network of workstations

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