CN108268310B - 一种确定最小调度粒度的方法及装置 - Google Patents

一种确定最小调度粒度的方法及装置 Download PDF

Info

Publication number
CN108268310B
CN108268310B CN201611261746.3A CN201611261746A CN108268310B CN 108268310 B CN108268310 B CN 108268310B CN 201611261746 A CN201611261746 A CN 201611261746A CN 108268310 B CN108268310 B CN 108268310B
Authority
CN
China
Prior art keywords
computing
task
computing task
current
running time
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
CN201611261746.3A
Other languages
English (en)
Other versions
CN108268310A (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201611261746.3A priority Critical patent/CN108268310B/zh
Publication of CN108268310A publication Critical patent/CN108268310A/zh
Application granted granted Critical
Publication of CN108268310B publication Critical patent/CN108268310B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种确定最小调度粒度的方法及装置,其中,该方法包括:获取当前计算系统对计算任务的平均响应时间的需求;根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;采用本发明的方法及装置,可保证对计算任务的响应最优。

Description

一种确定最小调度粒度的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种确定最小调度粒度的方法及装置。
背景技术
Linux操作系统是一种基于POSIX(Portable Operating System Interface,可移植操作系统接口)和UNIX的多用户、多任务,支持多线程和多CPU的操作系统;Linux操作系统已广泛应用于各类计算机系统中,比如以智能手机和平板电脑为代表的移动手持设备和以工控机为代表的嵌入式工业控制设备均采用Linux操作系统。
目前,Linux操作系统通常采用完全公平调度算法,为每个计算任务分配计算资源,其过程具体如下:首先人为设置一个最小调度颗粒度,所述最小调度颗粒度为将计算资源分配给每个计算任务的最小时长;然后,计算每个待分配计算任务的虚拟运行时间,其中,所述虚拟运行时间与每个计算任务的优先级呈反相关,即一计算任务的优先级越高,其对应的虚拟运行时间的值越小,而所述虚拟运行时间与每个计算任务的实际运行时间呈正相关,即一计算任务的实际运行时间越长,其对应的虚拟运行时间的值越大;然后,从多个待分配计算任务中,确定虚拟运行时间的值最小的待分配计算任务;最后,将当前计算资源分配给虚拟运行时间最小的待分配计算任务,而将计算资源分配给每个计算任务的时长为所述最小调度颗粒度所对应的值。
在实际应用中,上述最小调度粒度的值一般为工作人员根据经验所设置,而如果将所述最小调度粒度的值设置的过大,将会影响整体计算任务的响应时间;而如果将所述最小调度粒度的值设置的过小,又会使得计算资源在不同任务间频繁切换;因此,在现有技术中,亟需一种确定最小调度粒度的方法及装置,以在不频繁切换计算资源的前提下,保证所有计算任务的平均响应时间最优。
发明内容
本发明实施例提供一种确定最小调度粒度的方法及装置,以保证当前计算系统中所有计算任务的平均响应时间最优。
一方面,本发明提供一种确定最小调度粒度的方法,包括:
获取当前计算系统对计算任务的平均响应时间的需求;
根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度。
优选的,所述平均响应时间与最小调度粒度的对应关系,为根据以下公式所生成的:
Figure BDA0001199928360000021
其中,所述
Figure BDA0001199928360000022
Figure BDA0001199928360000023
所述T*(x)表示当前计算系统中计算任务的平均响应时间,所述y表示当前正占用计算资源的计算任务的实际运行时间,所述yi表未当前未占用计算资源的计算任务的实际运行时间,所述min_g表示当前计算系统的最小调度粒度;所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布。
优选的,所述根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度,包括:
计算每个待分配计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
优选的,所述根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度,包括:
在预设周期内,确定在当前周期内还未被分配过计算资源的计算任务;
计算每个还未被分配过计算资源的计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
优选的,所述确定每个计算任务的虚拟运行时间,或,确定每个还未被分配过计算资源的计算任务的虚拟运行时间,包括:
针对一计算任务:
判断当前计算任务是否满足预设条件;
在当前计算任务满足所述预设条件时,获取当前计算任务的虚拟时间补偿参数;
根据所述计算任务的优先级、实际运行时间以及所述虚拟时间补偿参数,计算当前计算任务的虚拟运行时间。
优选的,在当前计算任务不满足所述预设条件时,根据所述计算任务的优先级以及实际运行时间,计算当前计算任务的虚拟运行时间。
另一方面,本发明实施例还提供一种确定最小调度粒度的装置,包括:
获取单元,用于获取当前计算系统对计算任务的平均响应时间的需求;
确定单元,用于根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
调度单元,用于根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度。
优选的,所述确定单元中的平均响应时间与最小调度粒度的对应关系,为根据以下公式所生成的:
Figure BDA0001199928360000041
其中,所述
Figure BDA0001199928360000042
Figure BDA0001199928360000043
所述T*(x)表示当前计算系统中计算任务的平均响应时间,所述y表示当前正占用计算资源的计算任务的实际运行时间,所述yi表未当前未占用计算资源的计算任务的实际运行时间,所述min_g表示当前计算系统的最小调度粒度;所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布。
优选的,所述调度单元,具体用于:
计算每个待分配计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
优选的,所述调度单元,具体用于:
在预设周期内,确定在当前周期内还未被分配过计算资源的计算任务;
计算每个还未被分配过计算资源的计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
优选的,所述调度单元在确定每个计算任务的虚拟运行时间或在确定每个还未被分配过计算资源的计算任务的虚拟运行时间时,具体用于:
针对一计算任务,判断当前计算任务是否满足预设条件;
在当前计算任务满足所述预设条件时,获取当前计算任务的虚拟时间补偿参数;
根据所述计算任务的优先级、实际运行时间以及所述虚拟时间补偿参数,计算当前计算任务的虚拟运行时间。
优选的,所述调度单元在当前计算任务不满足所述预设条件时,还用于:根据所述计算任务的优先级以及实际运行时间,计算当前计算任务的虚拟运行时间。
由上可见,在本发明实施例中,首先获取当前计算系统对计算任务的平均响应时间的需求,然后根据预设的平均响应时间与最小调度粒度的对应关系,确定当前需求的计算任务的平均响应时间所对应的最小调度粒度;最后根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;可见,采用本发明的方法,可满足当前计算系统对平均响应时间的需求,从而使得当前计算系统的平均响应时间最优。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种确定最小调度粒度的方法的一流程示意图;
图2为本发明实施例提供的平均响应时间与最小调度粒度的对应关系的一示意图;
图3为本发明实施例提供的一种确定最小调度粒度的装置的结构示意图;
图4为本发明实施例提供的现有技术与本发明方案的响应时间的对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例首先提供一种确定最小调度粒度的方法,如图1所示,该方法,具体如下:
步骤S11:首先获取当前计算系统对计算任务的平均响应时间的需求;
步骤S12:根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
在本发明实施例中,平均响应时间与最小调度粒度的对应关系,可具体参见图2;而关于生成平均响应时间与最小调度粒度的对应关系的过程可具体参见下述实施例二的论述。
步骤S13:根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;
在本发明实施例中,可具体采用以下二种方式中的任一种对计算任务进行调度,具体如下:
第一种:首先计算每个待分配计算任务的虚拟运行时间,然后,确定虚拟运行时间的值最小的待分配计算任务;最后,将当前计算资源分配给虚拟运行时间最小的待分配计算任务,且将计算资源分配给计算任务的时长为所确定的最小调度粒度所对应的值;
第二种:首先在一定周期内(在本发明实施例中,用户可根据需求,自行设定周期的大小),确定在当前周期内还未被分配过计算资源的计算任务;然后,计算每个还未被分配过计算资源的计算任务的虚拟运行时间;再然后,确定虚拟运行时间的值最小的待分配计算任务;最后,将当前计算任务分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值;采用上述方式,可保证在一定周期内,为每个计算任务均分配计算资源。
在本发明实施例中,关于如何计算每个计算任务的虚拟运行时间,可具体采用下述两处方式中的任一种:
第一种:首先获取每个计算任务的优先级以及实际运行时间;然后,根据每个计算任务的优先级以及实际运行时间,确定每个计算任务的虚拟运行时间;其中,每个计算任务的虚拟运行时间与其对应的优先级其反相关,即一计算任务的优先级越高,其对应的虚拟运行时间的值越小;而一计算任务的虚拟运行时间与其对应的实际运行时间呈正相关,即一计算任务的实际运行时间的值越大,其对应的虚拟运行时间的值越大。
第二种:针对一计算任务,判断当前计算任务是否满足预设条件;在当前计算任务满足预设条件时,获取当前计算任务的虚拟时间补偿参数;然后根据当前计算任务的优先级、实际运行时间以及虚拟时间补偿参数,计算当前计算任务的虚拟运行时间;在本发明实施例中,通过设置虚拟时间被偿参数,可拉低虚拟运行时间的值,从而使得当前计算任务更容易被分配计算资源。在本发明实施例中,所述预设条件,用户可根据需求自行设置;比如,可将计算任务的预设条件设置为由睡眠状态切换至唤醒状态,或将计算任务的预设条件设置为当前建立的新计算任务。采用上述方式,可保证为满足预设条件的计算任务,优先分配计算资源。
需要说明的是,与现有技术相比,无论是双核操作系统还四核操作系统,采用本发明实施例所公开的方式,可大大提高计算任务的响应时间,具体可参见图4所示。
由上可见,在本发明实施例中,首先获取当前计算系统对计算任务的平均响应时间的需求,然后根据预设的平均响应时间与最小调度粒度的对应关系,确定当前需求的计算任务的平均响应时间所对应的最小调度粒度;最后根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;可见,采用本发明的方法,可满足当前计算系统对平均响应时间的需求,从而使得当前计算系统的平均响应时间最优。
实施例二
在本发明实施例中,将详细介绍,生成实施例一中的“平均响应时间与最小调度粒度的对应关系”的过程,具体如下:
第一,建立完全公开调度算法的数学模型,过程如下:
首先用排队模型模拟计算机系统的任务调度过程,在该模型的一个队列中,计算任务到达的数目为A(t),且所述计算任务在[0,t]的时间间隔内服从参数为λ的泊松分布,第i个计算任务的服务时间Si是相互独立的,且因其服务时间与服务的起止时刻无关,所以每个计算任务的服务时间Si服从均值为μ-1的指数分布,Si的概率密度函数g(x)及Si的概率分布函数G(x)分别为:
Figure BDA0001199928360000081
Figure BDA0001199928360000082
在本模型中,假设:
Figure BDA0001199928360000083
Figure BDA0001199928360000084
其中,Vis为计算任务i在切换之前第s次统计时的虚拟时间,Vjs表示正在使用计算资源的计算任务j的虚拟运行时间,Vi0表示进程i初始的虚拟时间且Vi0=0,yj表示正在使用计算资源的计算任务j的运行时间即y,yi表示当前未占用计算资源的计算任务的实际运行时间,s是统计次数,wi为任务i对应的权重值。NICE_0_LOAD表示nice值为0的进程的权重且
NICE_0_LOAD=1024 (1.5)
每一类任务的权重计算。
当Vjs(j≠i)>min{Vis}且y≥min_g时,进行计算任务的上下文的切换,也就是说当Vjs(j≠i)≤min{Vis}时,计算任务j执行到yj时间以前不会被切换,计算任务j的服务时间y=yj服从以下概率分布
Figure BDA0001199928360000091
其中,x=min{Vis,i=1,2,…,N},
Figure BDA0001199928360000092
Figure BDA0001199928360000093
对于小于x的虚拟运行时间对应的yj,其概率密度与M/G/1队列模型中任务的执行时间的概率密度相同,有B(y)=1-G(y),
Figure BDA0001199928360000094
凡等于或超过虚拟时间为x的所有运行时间都被积累进入到在
Figure BDA0001199928360000095
的概率分布的区间为1-B(x)。其中,被抢占的进程已运行的时间分布的n阶矩定义为
Figure BDA0001199928360000096
以上就是完全公平调度算法的数学模型。
第二、基于响应时间优先对完全公平调度算法进行改进:
通过上述数学模型,可以看到体现计算机性能的指标,主要有系统的利用系数、吞吐量和系统的平均响应时间;
其中,可将系统的利用系数定义为:
Figure BDA0001199928360000101
通常0≤ρ<1;
那么,在完全公平调度算法中,系统的利用系数为
Figure BDA0001199928360000102
其中,
Figure BDA0001199928360000103
为每个计算任务的平均服务时间,λ为系统队列中任务的到来服从泊松分布的系数.
而平均响应时间Wx可以用P-K平均公式给出
Figure BDA0001199928360000104
那么系统的平均响应时间为
Figure BDA0001199928360000105
此时,假设yi为准备执行的计算任务需要的服务时间,
Figure BDA0001199928360000106
表示在系统运行时,有λT(x)个新计算任务到来,每个到达的计算任务均有
Figure BDA0001199928360000107
的平均服务时间。
从上式以及计算机响应时间公式可得出系统的平均响应时间为
Figure BDA0001199928360000108
其中
Figure BDA0001199928360000109
x=min{Vis,i=1,2,…,N},
Figure BDA00011999283600001010
Figure BDA00011999283600001011
其中,min_g代表系统的最小调度粒度,所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布;
而在本发明实施例中,根据上述公式(1.12),即可得到图2中的平均响应时间与最小调度粒度的对应关系。
实施例三
与上述构思相同,如图3所示,本发明还提供一种确定最小调度粒度的装置,包括:
获取单元31,用于获取当前计算系统对计算任务的平均响应时间的需求;
确定单元32,用于根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
调度单元33,用于根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度。
具体的,所述确定单元中的平均响应时间与最小调度粒度的对应关系,为根据以下公式所生成的:
Figure BDA0001199928360000111
其中,所述
Figure BDA0001199928360000112
Figure BDA0001199928360000113
所述T*(x)表示当前计算系统中计算任务的平均响应时间,所述y表示当前正占用计算资源的计算任务的实际运行时间,所述yi表未当前未占用计算资源的计算任务的实际运行时间,所述min_g表示当前计算系统的最小调度粒度;所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布。
具体的,所述调度单元,具体用于:计算每个待分配计算任务的虚拟运行时间;确定虚拟运行时间的值最小的待分配计算任务;将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
具体的,所述调度单元,具体用于:在预设周期内,确定在当前周期内还未被分配过计算资源的计算任务;计算每个还未被分配过计算资源的计算任务的虚拟运行时间;确定虚拟运行时间的值最小的待分配计算任务;将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
具体的,所述调度单元在确定每个计算任务的虚拟运行时间或在确定每个还未被分配过计算资源的计算任务的虚拟运行时间时,具体用于:针对一计算任务,判断当前计算任务是否满足预设条件;在当前计算任务满足所述预设条件时,获取当前计算任务的虚拟时间补偿参数;根据所述计算任务的优先级、实际运行时间以及所述虚拟时间补偿参数,计算当前计算任务的虚拟运行时间。
具体的,所述调度单元在当前计算任务不满足所述预设条件时,还用于:根据所述计算任务的优先级以及实际运行时间,计算当前计算任务的虚拟运行时间。
由上可见,在本发明实施例中,首先获取当前计算系统对计算任务的平均响应时间的需求,然后根据预设的平均响应时间与最小调度粒度的对应关系,确定当前需求的计算任务的平均响应时间所对应的最小调度粒度;最后根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;可见,采用本发明的方法,可满足当前计算系统对平均响应时间的需求,从而使得当前计算系统的平均响应时间最优。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种确定最小调度粒度的方法,其特征在于,包括:
获取当前计算系统对计算任务的平均响应时间的需求;
根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;
其中,所述平均响应时间与最小调度粒度的对应关系,为根据以下公式所生成的:
Figure FDA0002498518510000011
其中,所述
Figure FDA0002498518510000012
Figure FDA0002498518510000013
所述T*(x)表示当前计算系统中计算任务的平均响应时间,所述y表示当前正占用计算资源的计算任务的实际运行时间,所述yi表示当前未占用计算资源的计算任务的实际运行时间,所述min_g表示当前计算系统的最小调度粒度,所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布。
2.根据权利要求1所述的方法,其特征在于,所述根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度,包括:
计算每个待分配计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
3.根据权利要求1所述的方法,其特征在于,所述根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度,包括:
在预设周期内,确定在当前周期内还未被分配过计算资源的计算任务;
计算每个还未被分配过计算资源的计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
4.根据权利要求2或3所述的方法,其特征在于,所述确定每个计算任务的虚拟运行时间,或,确定每个还未被分配过计算资源的计算任务的虚拟运行时间,包括:
针对一计算任务:
判断当前计算任务是否满足预设条件;
在当前计算任务满足所述预设条件时,获取当前计算任务的虚拟时间补偿参数;
根据所述计算任务的优先级、实际运行时间以及所述虚拟时间补偿参数,计算当前计算任务的虚拟运行时间。
5.根据权利要求4所述的方法,其特征在于,在当前计算任务不满足所述预设条件时,根据所述计算任务的优先级以及实际运行时间,计算当前计算任务的虚拟运行时间。
6.一种确定最小调度粒度的装置,其特征在于,包括:
获取单元,用于获取当前计算系统对计算任务的平均响应时间的需求;
确定单元,用于根据预设的平均响应时间与最小调度粒度的对应关系,确定当前所需求的计算任务的平均响应时间所对应的最小调度粒度;
调度单元,用于根据所对应的最小调度粒度,对当前计算系统中的计算任务进行调度;
其中,所述确定单元中的平均响应时间与最小调度粒度的对应关系,为根据以下公式所生成的:
Figure FDA0002498518510000031
其中,所述
Figure FDA0002498518510000032
Figure FDA0002498518510000033
所述T*(x)表示当前计算系统中计算任务的平均响应时间,所述y表示当前正占用计算资源的计算任务的实际运行时间,所述yi表未当前未占用计算资源的计算任务的实际运行时间,所述min_g表示当前计算系统的最小调度粒度;所述B(yi)表示当前未占用计算资源的计算任务的实际运行时间的概率分布,所述B(y)表示当前正占用计算资源的计算任务的实际运行时间的概率分布。
7.根据权利要求6所述的装置,其特征在于,所述调度单元,具体用于:
计算每个待分配计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
8.根据权利要求6所述的装置,其特征在于,所述调度单元,具体用于:
在预设周期内,确定在当前周期内还未被分配过计算资源的计算任务;
计算每个还未被分配过计算资源的计算任务的虚拟运行时间;
确定虚拟运行时间的值最小的待分配计算任务;
将当前计算资源分配给虚拟运行时间的值最小的待分配计算任务,且将计算资源分配给该计算任务的时长为所确定的最小调度粒度所对应的值。
9.根据权利要求7或8所述的装置,其特征在于,所述调度单元在确定每个计算任务的虚拟运行时间或在确定每个还未被分配过计算资源的计算任务的虚拟运行时间时,具体用于:
针对一计算任务,判断当前计算任务是否满足预设条件;
在当前计算任务满足所述预设条件时,获取当前计算任务的虚拟时间补偿参数;
根据所述计算任务的优先级、实际运行时间以及所述虚拟时间补偿参数,计算当前计算任务的虚拟运行时间。
10.根据权利要求9所述的装置,其特征在于,所述调度单元在当前计算任务不满足所述预设条件时,还用于:根据所述计算任务的优先级以及实际运行时间,计算当前计算任务的虚拟运行时间。
CN201611261746.3A 2016-12-30 2016-12-30 一种确定最小调度粒度的方法及装置 Active CN108268310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611261746.3A CN108268310B (zh) 2016-12-30 2016-12-30 一种确定最小调度粒度的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611261746.3A CN108268310B (zh) 2016-12-30 2016-12-30 一种确定最小调度粒度的方法及装置

Publications (2)

Publication Number Publication Date
CN108268310A CN108268310A (zh) 2018-07-10
CN108268310B true CN108268310B (zh) 2020-08-28

Family

ID=62755075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611261746.3A Active CN108268310B (zh) 2016-12-30 2016-12-30 一种确定最小调度粒度的方法及装置

Country Status (1)

Country Link
CN (1) CN108268310B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327843A (zh) * 2020-09-29 2022-04-12 华为技术有限公司 任务调度方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN103581333A (zh) * 2013-11-13 2014-02-12 复旦大学 基于前馈和反馈控制的运行时虚拟资源动态分配方法和系统
CN103944985A (zh) * 2014-04-17 2014-07-23 南京邮电大学 一种异构云计算系统节能方法及任务调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN103581333A (zh) * 2013-11-13 2014-02-12 复旦大学 基于前馈和反馈控制的运行时虚拟资源动态分配方法和系统
CN103944985A (zh) * 2014-04-17 2014-07-23 南京邮电大学 一种异构云计算系统节能方法及任务调度方法

Also Published As

Publication number Publication date
CN108268310A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
US9916183B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
CN108701046B (zh) 用于避免虚拟机之间的物理cpu争用的虚拟cpu合并的方法、系统、设备、装置和介质
US8997107B2 (en) Elastic scaling for cloud-hosted batch applications
CA2849565C (en) Method, apparatus, and system for scheduling processor core in multiprocessor core system
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
CN104765640B (zh) 一种智能服务调度方法
CN106980532A (zh) 一种作业调度方法和装置
CN103873587B (zh) 一种基于云平台实现调度的方法及装置
CN109086135B (zh) 资源伸缩方法、装置、计算机设备及存储介质
CN104142860A (zh) 应用服务系统的资源调整方法与装置
US10216530B2 (en) Method for mapping between virtual CPU and physical CPU and electronic device
CN107797853A (zh) 一种任务调度方法、装置及多核处理器
CN109491775B (zh) 一种用于边缘计算环境下的任务处理与调度方法
CN105955809B (zh) 线程调度方法和系统
CN114371926B (zh) 一种精细化资源分配方法、装置、电子设备及介质
CN104598298A (zh) 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
CN112162835A (zh) 一种异构云环境下实时任务的调度优化方法
Delavar et al. A synthetic heuristic algorithm for independent task scheduling in cloud systems
CN111400010A (zh) 任务调度方法及装置
CN105045667B (zh) 一种用于虚拟机vCPU调度的资源池管理方法
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN109189581B (zh) 一种作业调度方法和装置
Zikos et al. A clairvoyant site allocation policy based on service demands of jobs in a computational grid
GB2582513A (en) Automatic diagonal scaling of workloads in a distributed computing environment
CN108268310B (zh) 一种确定最小调度粒度的方法及装置

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