WO2016082370A1 - 一种分布式节点组内任务调度方法及系统 - Google Patents
一种分布式节点组内任务调度方法及系统 Download PDFInfo
- Publication number
- WO2016082370A1 WO2016082370A1 PCT/CN2015/074087 CN2015074087W WO2016082370A1 WO 2016082370 A1 WO2016082370 A1 WO 2016082370A1 CN 2015074087 W CN2015074087 W CN 2015074087W WO 2016082370 A1 WO2016082370 A1 WO 2016082370A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- resource
- task
- group
- execution
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Definitions
- the technical solution of the present invention belongs to solving the problem of task scheduling in a distributed environment, and therefore needs to consider various performance indicators such as resource margin and load balancing, and is applicable to task scheduling in a distributed time environment, and specifically relates to a distributed node group.
- Task scheduling method and system belongs to solving the problem of task scheduling in a distributed environment, and therefore needs to consider various performance indicators such as resource margin and load balancing, and is applicable to task scheduling in a distributed time environment, and specifically relates to a distributed node group. Task scheduling method and system.
- Multi-task scheduling refers to multiple concurrent tasks reaching the cloud distributed computing environment, which requires scheduling and resource allocation to meet the load balancing requirements of each executing node.
- Min-Min algorithm There are Min-Min algorithm and Max-Min algorithm.
- the Min-Min algorithm first predicts the minimum completion time of each task in the current task queue on each processor, and then assigns the task with the minimum completion time to the corresponding processor, and updates the ready time of the corresponding processor.
- the assigned task is removed from the task queue, so the remaining tasks are repeatedly allocated until the entire task queue is empty.
- the Min-Min algorithm is prone to load imbalance.
- the difference between the Max-Min algorithm and the Min-Min algorithm is that after determining the earliest completion time of each task on each processor, the task with the largest earliest completion time is assigned to the corresponding processor and updated in time. The corresponding processor ready time is repeated for the remaining tasks.
- the Max-Min algorithm is better than the Min-Min algorithm in load balancing.
- the other is a scheduling algorithm for multi-level timing-related subtasks within a workflow to meet the need to reduce overall execution time and power consumption.
- the EDTS algorithm is a method for optimal scheduling of N-step subtasks within a task. The algorithm first predicts the time and energy consumption of each subtask to execute on all machines, and then sets the total deadline for this series of tasks. Under the fixed total deadline, combined with the existing timing relationship, find the sub-task allocation method that is as energy-efficient as possible, which is to split and schedule one task, and achieve the best performance of a task itself.
- the present invention is applicable to the case of solving a single task in a multi-resource constrained node group containing multiple service nodes.
- Distributed scheduling method is applicable to the case of solving a single task in a multi-resource constrained node group containing multiple service nodes.
- the present invention provides a task scheduling method in a distributed node group, the method comprising:
- Step 101 collecting resource state information and historical service information of each node in the group;
- Step 102 receiving a service request command, and parsing the request command to obtain the requested task;
- the service execution node in the group is selected according to the principle that the resource utilization increment of each node in the group is as low as possible and the occupation of various resources in the group is as balanced as possible, and the selected service execution node provides the requested task.
- step 101) further includes:
- Step 101-1) Each node in the group maintains resource status information and historical service information of the node;
- Step 101-2 Each node transmits the maintained resource state information and the historical service information to the scheduling execution node, where the scheduling execution node is used to select an execution node for a specific task from the group and the scheduling execution node is used for Receive the user's service request command O.
- the information contains: the actual demand and runtime of the resources for each executed task.
- step 103) further includes:
- Step 103-1) Calculate the resource occupancy rate of each node in the group according to the resource state information of the node, where the resource state information of the node includes: an available resource vector of the node and a resource vector occupied by the node:
- Rc j ⁇ c 1,j ,c 2,j ,...C N,j ⁇
- rc j represents the current resource occupancy rate of any node p j in the group, and c i,j represents the occupancy rate of the i-th resource belonging to the node p j ;
- Step 103-2 calculating an occupancy rate of each type of resource belonging to the node processed by the task O to the node p j ;
- Step 103-3) Calculate the increase amount of the occupancy rate of the various resources belonging to the local node after the task O is loaded to the node p j and before the loading, that is, the resource occupancy rate obtained in step 103-2) and step 103-1) Obtaining the difference between the resource occupancy rates, and further obtaining the resource occupancy increment vector of the task O for any node p j in the group;
- the intra-node resource balance ⁇ j is obtained by the following formula:
- Ro i,j represents the occupancy rate of the i-th class resource when the node p j processes the task O
- N represents the total number of resource types that all nodes in a node group can support, and i represents any resource type;
- Step 103-5 to the resource node group, and the inequality ⁇ j ⁇ j affect resource utilization less nodes are implemented as an execution node node set P K, using the following formula to obtain the specific node set P K:
- M' represents the number of nodes in the set of execution nodes that satisfy the condition, and argmin represents the corresponding node that makes ⁇ j and ⁇ j take the minimum value;
- Step 103-6 Select one node from the execution node set P K as the final execution node, and then forward the task O to the final execution node for processing.
- the present invention provides a task scheduling system in a distributed node group, the system comprising:
- An information collection module of each node in the group configured to collect resource status information and historical service information of the node
- a service command receiving module located on the scheduling execution node of the group, configured to receive a service request command, and parse the request command to obtain the requested task;
- the service execution node is selected according to the principle that the resource utilization increment is as low as possible and the occupation of various resources is as balanced as possible, and the service execution node provides the requested task.
- the information gathering module further includes:
- An information obtaining sub-module configured to acquire resource state information and historical service information of the node, where the resource state information includes an available resource vector of the node and a resource vector occupied by the node;
- a sending submodule configured to transmit the maintained resource state information and the historical service information to the scheduling execution node, where the scheduling execution node is configured to select an execution node for a specific task from the group and the scheduling execution node is configured to receive The user's service request command O.
- a node group of the present invention is composed of one or more service execution nodes, and the service execution node It is a service subject that can provide multiple types of services.
- the node that receives the user service request O is a scheduling execution node, which is the core of the node group, and mainly undertakes service scheduling decisions, calculations, and related work.
- each node needs to maintain the resource state information and historical service information of the node, and exchanges the rules to the scheduling execution node through certain rules to prepare for the scheduling selection process.
- the scheduling execution node first calculates the resource utilization increment of each node in the node group after loading the task, and the resource occupancy balance between different resources, according to the resource requirement of the received task request, as the main evaluation criterion. .
- the scheduling node selection is performed.
- the selection principle is to select an appropriate node as the task execution node when the resource utilization increment is as low as possible and the occupation of different types of resources is as balanced as possible.
- a distributed scheduling algorithm designed by the present invention ie, distributed means that each node can assume the role of a task execution node, and does not need global coordination
- the algorithm is oriented to a single task, in multiple resource constraints and multi-service nodes Under the conditions, the reasonable assignment of tasks not only guarantees the efficiency of execution, but also considers various factors such as load balancing and resource utilization, thus improving the overall service performance of the system.
- the algorithm provided by the technical solution of the present invention is oriented to a single task. Under the condition of multiple resource constraints and multi-service nodes, the tasks are reasonably assigned, which not only ensures the execution efficiency, but also considers various factors such as load balancing and resource utilization, thereby improving The overall service performance of the system.
- FIG. 1 is a schematic diagram of a scheduling process of a scheduling node of the present invention
- FIG. 2 is a flow chart of a task scheduling method provided by the present invention.
- the invention provides a task scheduling method in a distributed node group, as shown in FIG. 2:
- the invention provides a distributed scheduling method suitable for solving a single task in a case where a multi-resource constraint and a multi-service node form a node group.
- a node group is composed of one or more service execution nodes, and the service execution node is a service body that can provide multiple types of services.
- the node that receives the user service request O is a scheduling execution node, which is the core of the node group, and is mainly assumed. Service scheduling decisions, calculations, and related work.
- each node needs to maintain the resource state information and historical service information of the node, and exchanges the rules to the scheduling execution node through certain rules to prepare for the scheduling selection process.
- the scheduling execution node first calculates the resource utilization increment of each node in the node group after loading the task, and the resource occupancy balance between different resources, according to the resource requirement of the received task request, as the main evaluation criterion. . After that, the scheduling node selection is performed.
- the selection principle is to select an appropriate node as the task execution node when the resource utilization increment is as low as possible and the occupation of different types of resources is as balanced as possible.
- a task scheduling method in a distributed node group the execution node selection steps are as follows:
- P ⁇ p 1 , p 2 , ..., p j , ..., p M ⁇ , total available resources of any node p j in the node group
- N is the total number of resource types that can be supported by all nodes in a node group.
- s n, j is the upper limit of the n-th resource located on the node when the node p j is in normal operation.
- the resource types include but are not limited to: cpu , memory, hard disk; the upper limit of the resource can be the system upper limit or the preset upper limit.
- Total demand; the resource required for the task request can be calculated and estimated through the system default value or through historical information; the required resource types include but are not limited to: cpu number, memory size, and hard disk size.
- ⁇ i,j ro i,j -rc i,j , indicating that the workload of the i-th resource is increased after the task O is loaded into the node p j and before the loading, so the resource occupation of the node p j by the task O Rate increment vector is
- the intra-node resource balance refers to the variance between different types of resource occupancy rates. among them,
- Step 4) Our goal is to select a better equilibrium, that is, ⁇ j is small, and the impact of resource occupancy is small, that is, the point where ⁇ j is smaller as the execution node, so the optimization goal is to select the appropriate node set P K To make it satisfy
- the above problem is a multi-objective optimization problem.
- Many methods can be used to obtain suitable solutions, including: gradient descent method, genetic algorithm, particle swarm algorithm, ant colony algorithm, to obtain a set of nodes that meet the conditions.
- a node is selected as the final decision point, and the method of selecting the node can adopt multiple selection strategies, including but not limited to: random, with a certain probability distribution, and selected by certain criteria.
- only one of the following methods is used to calculate a suitable solution (ie, the solution node set P K is obtained ) (see FIG. 1):
- the incremental step size ⁇ ( ⁇ max ⁇ min )/M′, where ⁇ max and ⁇ min are the maximum and minimum values of the corresponding ⁇ values of all nodes in the node group P′, respectively.
- an eligible node set P K is obtained , and one node p k is selected as the final decision point, and the selection method can adopt multiple selection strategies, including but not limited to: random, with a certain probability distribution, with some kind Guidelines to choose.
- Step 5 After step 4), the selected node p k is the final execution node of the task O, and the scheduling execution node forwards the task O to the node p k for processing.
- the invention also provides a task scheduling system in a distributed node group, the system comprising:
- An information collection module of each node in the group configured to collect resource status information and historical service information of the node
- a service command receiving module located on the scheduling execution node of the group, configured to receive a service request command, and parse the request command to obtain the requested task;
- the service execution node is selected according to the principle that the resource utilization increment is as low as possible and the occupation of various resources is as balanced as possible, and the service execution node provides the requested task.
- the information gathering module further includes:
- An information obtaining sub-module configured to acquire resource state information and historical service information of the node, where the resource state information includes an available resource vector of the node and a resource vector occupied by the node;
- a sending submodule configured to transmit the maintained resource state information and the historical service information to the scheduling execution node, where the scheduling execution node is configured to select an execution node for a specific task from the group and the scheduling execution node is configured to receive The user's service request command O.
- the foregoing scheduling processing module further includes:
- the first processing submodule is configured to calculate a resource occupancy rate of the node according to the resource state information of the node by using the following formula:
- Rc j ⁇ c 1,j ,c 2,j ,...,c N,j ⁇
- rc j represents the current resource occupancy rate vector of any node p j in the group, and c i,j represents the occupancy rate of the i-th resource belonging to the node p j ;
- the second processing sub-module is configured to calculate the occupancy rate of the resource that allocates the task O to the node p j to process the task:
- the third processing sub-module is configured to calculate an increase in the occupancy rate of the i-th resource after the task O is loaded to the node p j and before loading, thereby obtaining the resource occupancy increment of the task O to any node p j in the group vector;
- Obtaining a resource occupancy impact rate sub-module configured to obtain a resource occupancy impact rate of the node p j according to each element in the resource occupancy increment vector;
- the sub-module for obtaining the resource balance degree in the node is used to obtain the intra-node resource balance degree ⁇ j according to the variance between different types of resource occupancy rates by using the following formula:
- Ro i,j represents the occupancy rate of the i-th class resource when the node p j processes the task O
- N represents the total number of resource types that all nodes in a node group can support, and i represents any resource type;
- Obtaining sub-module performs a set of nodes, the nodes for the set of resources and the inequality ⁇ j resource utilization affect smaller dot ⁇ j nodes are implemented as an execution node set P K, using the following formula to obtain the specific node set P K:
- M' represents the number of nodes in the set of execution nodes that satisfy the condition, and argmin represents the corresponding node that makes ⁇ j and ⁇ j take the minimum value;
- the sub-module is selected to select one node from the execution node set P K as the final execution node, and then forward the task O to the final execution node for processing.
- the above resource types include: cpu number, memory capacity or hard disk capacity.
- the present invention proposes a distributed scheduling method suitable for solving a single task in a multi-resource constrained node group including multiple service nodes.
- a node group is composed of one or more service execution nodes.
- the service execution node is a service body that can provide multiple types of services.
- the node that receives the user service request O is a scheduling execution node, which is the core of the node group and mainly bears the service. Scheduling decisions, calculations, and related work.
- each node needs to maintain the resource state information and historical service information of the node, and exchanges the rules to the scheduling execution node through certain rules to prepare for the scheduling selection process.
- the scheduling execution node first calculates the resource utilization increment of each node in the node group after loading the task, and the resource occupancy balance between different resources, according to the resource requirement of the received task request, as the main evaluation criterion. . After that, the scheduling node selection is performed.
- the selection principle is to select an appropriate node as the task execution node when the resource utilization increment is as low as possible and the occupation of different types of resources is as balanced as possible.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种分布式节点组内的任务调度方法及系统,所述方法包含:步骤101)收集组内各节点的资源状态信息和历史服务信息;步骤102)接收服务请求命令,解析请求命令获得请求的任务;步骤103)根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;依据使组内各节点的资源利用率增量尽量低和对组内各类资源的占用尽量均衡的原则选择组内的服务执行节点,由选择的服务执行节点提供请求的任务。本发明提出的适用于解决单一任务在多资源约束、包含多服务节点的节点组的情况下的分布式调度方法。
Description
本发明的技术方案属于解决分布式环境下任务调度的问题,因此需要考虑资源余量、负载均衡等多种性能指标,适用于分布时环境下的任务调度,具体涉及一种分布式节点组内任务调度方法及系统。
目前在许多分布式计算环境中,如云计算、网格计算、P2P网络等,都存在将请求任务在多个可选择节点间如何进行调度和执行的问题。现有的调度类型基于多任务的调度和工作流调度等。
多任务调度是指有多个并发任务共同到达云分布式计算环境,需要进行调度和资源分配,从而满足各个执行节点的负载均衡等要求。常见的有Min-Min算法和Max-Min算法。Min-Min算法首先预测出当前任务队列中每一个任务在各个处理器上的最小完成时间,然后将具有最小完成时间的任务分配给相应的处理器,同时更新相应的处理器的就绪时间,将被分配的任务从任务队列移去,如此重复分配剩余的任务,直至整个任务队列为空。Min-Min算法易出现负载不均衡现象。Max-Min算法与Min-Min算法不同之处在于,在确定了每个任务在各个处理器上的最早完成时间之后,将具有最大的最早完成时间的任务分配给相应的处理器,并及时更新相应的处理器就绪时间,对于剩下的任务进行重复处理。Max-Min算法在负载均衡方面比Min-Min算法有所改善。
另外一类是针对某个工作流内部的多级时序相关子任务的调度算法,从而满足减少总执行时间和能耗等需求。EDTS算法是针对一个任务内部的N步子任务进行最优调度的方法,算法首先预测出各个子任务在所有机器上执行所花费的时间及能耗,然后为这一连串任务设定了总截止时间,在固定的总截止时间下,结合已有的时序关系,找出尽可能节能的子任务分配方式,是针对一个任务进行拆分、调度,实现的是一个任务自身的性能最优。
上述方法大多是通过中心式的服务器进行调度方案的计算和资源分配,然而,在大规模分布式网络中,如大规模计算集群、P2P网络等环境,中心式的计算并不现实,其效率和计算消耗难以满足实时、准实时等应用的需求。
发明内容
本发明提出的适用于解决单一任务在多资源约束、包含多服务节点的节点组的情况
下的分布式调度方法。
为了实现上述目的,本发明提供了一种分布式节点组内的任务调度方法,所述方法包含:
步骤101)收集组内各节点的资源状态信息和历史服务信息;
步骤102)接收服务请求命令,解析请求命令获得请求的任务;
步骤103)
根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;
依据使组内各节点的资源利用率增量尽量低和对组内各类资源的占用尽量均衡的原则选择组内的服务执行节点,由选择的服务执行节点提供请求的任务。
可选的,上述步骤101)进一步包含:
步骤101-1)组内的各节点均维护本节点的资源状态信息和历史服务信息;
步骤101-2)各节点将维护的资源状态信息和历史服务信息传输至调度执行节点,其中,所述调度执行节点用于从组内选择针对一个具体任务的执行节点且该调度执行节点用于接收用户的服务请求命令O。
解析请求命令即根据任务需求的历史服务信息进行计算和估计,获取任务对N种资源的任务需求资源向量O={o1,o2,...,oN};其中,所述历史服务信息包含:每个已执行任务对资源的实际需求和运行时间。
可选的,上述步骤103)进一步包含:
步骤103-1)根据节点的资源状态信息采用如下公式计算组内各节点的资源占用率,其中,节点的资源状态信息包含:节点的可用资源向量和节点已占用的资源向量:
rcj={c1,j,c2,j,...CN,j}
ci,j=(si,j-soi,j)/si,j
上述rcj表示组内任意一个节点pj当前的资源占用率向量,ci,j表示属于节点pj的第i种资源的占用率;
步骤103-2)计算将任务O分配至节点pj处理的属于本节点的各类资源的占用率;
步骤103-3)计算将任务O加载到节点pj后与加载之前属于本节点的各种资源的占用率的增加量,即求解步骤103-2)得到的资源占用率与步骤103-1)得到的资源占用率的差值,进而得到任务O对组内任意一个节点pj的资源占用率增量向量;
步骤103-4)
根据资源占用率增量向量中的各元素计算节点pj的资源占用影响率;
根据节点pj的不同类型的资源占用率之间的方差,采用如下公式得到节点内资源均衡度σj:
步骤103-5)将节点组内资源均衡度σj和资源占用影响率μj较小的节点作为执行节点得到执行节点集合PK,具体采用如下公式得到节点集合PK:
PK={pk}=argmin(μj,σj)T,j∈[1,M′]
上述M′表示满足条件的执行节点集合中的节点数目,argmin表示使得μj和σj取得最小值的对应节点;
步骤103-6)从执行节点集合PK中选择一个节点为最终执行节点,再将任务O转发给最终执行节点进行处理。
为了实现上述方法,本发明提供一种分布式节点组内的任务调度系统,所述系统包含:
位于组内各节点的信息汇集模块,用于收集本节点的资源状态信息和历史服务信息;
位于组内调度执行节点上的服务命令接收模块,用于接收服务请求命令,解析请求命令获得请求的任务;
位于组内调度执行节点上的调度处理模块,用于:
根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;
依据资源利用率增量尽量低和各类资源的占用尽量均衡的原则选择服务执行节点,由服务执行节点提供请求的任务。
可选的,上述信息汇集模块进一步包含:
信息获取子模块,用于获取本节点的资源状态信息和历史服务信息,所述资源状态信息包含节点的可用资源向量和节点已占用的资源向量;
发送子模块,用于将维护的资源状态信息和历史服务信息传输至调度执行节点,其中,所述调度执行节点用于从组内选择针对一个具体任务的执行节点且该调度执行节点用于接收用户的服务请求命令O。
综上所述,本发明的一个节点组由一个或者多个服务执行节点组成,服务执行节点
是可提供多种类型服务的服务主体,其中,接收到用户服务请求O的节点为调度执行节点,是节点组的核心,主要承担服务调度决策、计算以及相关工作。在节点组中,每个节点都需要维护本节点的资源状态信息、历史服务信息,并通过一定规则交换给调度执行节点,为调度选择过程做准备。调度执行节点根据所接收到的任务请求的资源需求量,首先计算节点组中每个节点加载该任务后的资源利用率增量,以及不同资源间资源占用情况均衡度,以此作为主要评估准则。之后,进行调度节点选择,选择原则为在满足资源利用率增量尽量低,不同类型资源的占用尽量均衡的情况下,选择合适的节点作为任务执行节点。本发明设计的一种分布式调度算法(即,分布式是指每个节点都可以承担任务执行节点的作用,不需要全局统筹),该算法面向单一任务,在多资源约束和多服务节点的条件下,对任务进行合理的指派,不仅保障执行效率,同时考虑负载均衡、资源利用率等多种因素,从而提高系统的整体服务性能。
与现有技术相比,本发明的技术优势在于:
本发明技术方案提供的算法面向单一任务,在多资源约束和多服务节点的条件下,对任务进行合理的指派,不仅保障执行效率,同时考虑负载均衡、资源利用率等多种因素,从而提高系统的整体服务性能。
图1是本发明的调度节点搜索过程示意图;
图2是本发明提供的任务调度方法的流程图。
下面结合附图对本发明的技术方案进行详细说明。
实施例1
本发明提供一种分布式节点组内任务调度方法,如图2所示:
本发明提出的适用于解决单一任务在多资源约束、多服务节点构成节点组的情况下的分布式调度方法。一个节点组由一个或者多个服务执行节点组成,服务执行节点是可提供多种类型服务的服务主体,其中,接收到用户服务请求O的节点为调度执行节点,是节点组的核心,主要承担服务调度决策、计算以及相关工作。在节点组中,每个节点都需要维护本节点的资源状态信息、历史服务信息,并通过一定规则交换给调度执行节点,为调度选择过程做准备。调度执行节点根据所接收到的任务请求的资源需求量,首先计算节点组中每个节点加载该任务后的资源利用率增量,以及不同资源间资源占用情况均衡度,以此作为主要评估准则。之后,进行调度节点选择,选择原则为在满足资源利用率增量尽量低,不同类型资源的占用尽量均衡的情况下,选择合适的节点作为任务执行节点。
一种分布式节点组内任务调度方法,其执行节点选择步骤如下:
步骤1).假设一个节点组集合P为:P={p1,p2,...,pj,...,pM},将节点组中的任意一个节点pj的可用资源总量表示为:pj={s1,j,s2,j,...,sn,j...,sN,j},再将节点pj的已占用资源表示为:poj={so1,j,so2,j,...,soN,j}。
其中,N为一个节点组中所有节点一共可以支持的资源类型总数,sn,j为节点pj保
持正常运行时位于该节点上的第n类资源的上限,资源类型包括但不限于:cpu,内存,硬盘;资源的上限值可以是系统上限,也可以是预置上限。
调度执行节点接收到的服务请求命令对应的任务的资源需求向量表示为:O={o1,o2,...,oN},其中oi表示任务请求对节点组中第i类资源的总需求量;任务请求所需资源,可以通过系统预设值,也可以通过历史信息进行计算和估计;所需资源类型包括但不限于:cpu数,内存大小,硬盘大小。
步骤2).通过节点pj在N种不同资源类型上的可用资源总量和占用量,可知节点pj的N种资源的剩余资源量,并计算得到当前资源占用率向量rcj={c1,j,c2,j,...,cN,j},其中,第i种资源的占用率为ci,j=(si,j-soi,j)/si,j,如果节点pj对任务O进行处理,则资源的占用率为roj={r1,j,r2,j,...,rN,j},其中,ri,j=(si,j-soi,j-oi)/si,j。定义δi,j=roi,j-rci,j,表示任务O加载到节点pj后与加载之前比较第i种资源的占用率的增加量,因此任务O对节点pj的资源占用率增量向量为节点内资源均衡度指不同类型的资源占用率之间的方差, 其中,
步骤3)如果节点pj对任务O进行处理,其第i种资源的占用率ri,j>TRi,则将节点pj从节点组中去除,剩余节点组P′={p′1,p′2,...,p′j,...,p′M′};计算O对节点p′j的
资源占用率增量向量为Δ和μj,以及节点内资源均衡度σj.
步骤4)我们的目标是选出均衡度较好,即σj较小,同时资源占用影响较小,即μj较小的点作为执行节点,因此优化目标为选出合适的节点集合PK,使其满足
PK={pk}=argmin(μj,σj)T,j∈[1,M′]
上述问题是一个多目标优化问题,该多目标优化问题,许多方法可以用来得到合适的解,包括:梯度下降法、遗传算法、粒子群算法、蚁群算法,得到一个符合条件的节点集合,从中选择一个节点作为最终决策点,其选择节点的方法可以通过多种选择策略,包括但不限于:随机、以某种概率分布、以某种准则进行选择。本发明实施例仅选用如下一种方法计算合适的解(即求解得到执行节点集合PK)(如图1):
a)定义均衡度搜索步长Δσ=(σmax-σmin)/M′,其中σmax和σmin分别是节点组P’中所有节点对应σ值的最大值和最小值;定义资源占用率增量步长Δμ=(μmax-μmin)/M′,其中μmax和μmin分别是节点组P’中所有节点对应μ值的最大值和最小值。
b)以x∈[μmin,μmax],y∈[σmin,σmax]为搜索空间,进行最优值搜索,初始时
x(0)=μmin,y(0)=σmin,t=0;
c)如果没有节点满足μ<<x(t)且ρ<<y(t),则x(t+1)=x(t)+Δμ,y(t+1)=y(t)+Δσ,
t=t+1,循环步骤c);如果有满足条件的节点pk,则将该节点加入符合条件的节点集合PK,形成调度节点,终止上述过程,输出节点集合信息;
通过上述过程得到一个符合条件的节点集合PK,从中选择一个节点pk作为最终决策点,其选择方法可以通过多种选择策略,包括但不限于:随机、以某种概率分布、以某种准则进行选择。
步骤5).经过步骤4),所选出的节点pk即是任务O的最终执行节点,并由调度执行节点将任务O转发给节点pk进行处理。
实施例2
本发明还提供了一种分布式节点组内的任务调度系统,所述系统包含:
位于组内各节点的信息汇集模块,用于收集本节点的资源状态信息和历史服务信息;
位于组内调度执行节点上的服务命令接收模块,用于接收服务请求命令,解析请求命令获得请求的任务;
位于组内调度执行节点上的调度处理模块,用于:
根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;
依据资源利用率增量尽量低和各类资源的占用尽量均衡的原则选择服务执行节点,由服务执行节点提供请求的任务。
可选的,上述信息汇集模块进一步包含:
信息获取子模块,用于获取本节点的资源状态信息和历史服务信息,所述资源状态信息包含节点的可用资源向量和节点已占用的资源向量;
发送子模块,用于将维护的资源状态信息和历史服务信息传输至调度执行节点,其中,所述调度执行节点用于从组内选择针对一个具体任务的执行节点且该调度执行节点用于接收用户的服务请求命令O。
可选的,信息获取子模块还用于解析请求命令后根据任务需求,获取请求的任务对N种资源的任务需求资源向量O={o1,o2,...,oN}。
进一步可选的,上述调度处理模块进一步包含:
第一处理子模块,用于根据节点的资源状态信息采用如下公式计算节点的资源占用率:
rcj={c1,j,c2,j,...,cN,j}
ci,j=(si,j-soi,j)/si,j
上述rcj表示组内的任意一个节点pj当前的资源占用率向量,ci,j表示属于节点pj的第i种资源的占用率;
第二处理子模块,用于计算将任务O分配至节点pj处理该任务的资源的占用率:
第三处理子模块,用于计算将任务O加载到节点pj后与加载之前第i种资源的占用率的增加量,进而得到任务O对组内任意一个节点pj的资源占用率增量向量;
获取资源占用影响率的子模块,用于根据资源占用率增量向量中的各元素得到节点pj的资源占用影响率;
获取节点内资源均衡度的子模块,用于依据不同类型的资源占用率之间的方差采用如下公式得到节点内资源均衡度σj:
执行节点集合获取子模块,用于将节点组内资源均衡度σj和资源占用影响率μj较小的点作为执行节点得到执行节点集合PK,具体采用如下公式得到节点集合PK:
PK={pk}=argmin(μj,σj)T,j∈[1,M′]
上述M′表示满足条件的执行节点集合中的节点数目,argmin表示使得μj和σj取得最小值的对应节点;
选择子模块,用于从执行节点集合PK中选择一个节点为最终执行节点,再将任务O转发给最终执行节点进行处理。
上述的资源类型包括:cpu数,内存容量或硬盘容量。
综上所述,本发明提出的适用于解决单一任务在多资源约束、包含多服务节点的节点组的情况下的分布式调度方法。节点组由一个或者多个服务执行节点组成,服务执行节点是可提供多种类型服务的服务主体,其中,接收到用户服务请求O的节点为调度执行节点,是节点组的核心,主要承担服务调度决策、计算以及相关工作。在节点组中,每个节点都需要维护本节点的资源状态信息、历史服务信息,并通过一定规则交换给调度执行节点,为调度选择过程做准备。调度执行节点根据所接收到的任务请求的资源需求量,首先计算节点组中每个节点加载该任务后的资源利用率增量,以及不同资源间资源占用情况均衡度,以此作为主要评估准则。之后,进行调度节点选择,选择原则为在满足资源利用率增量尽量低,不同类型资源的占用尽量均衡的情况下,选择合适的节点作为任务执行节点。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
- 一种分布式节点组内的任务调度方法,所述方法包含:步骤101)收集组内各节点的资源状态信息和历史服务信息;步骤102)接收服务请求命令,解析请求命令获得请求的任务;步骤103)根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;依据使组内各节点的资源利用率增量尽量低和对组内各类资源的占用尽量均衡的原则选择组内的服务执行节点,由选择的服务执行节点提供请求的任务。
- 根据权利要求1所述的分布式节点组内的任务调度方法,其特征在于,所述步骤101)进一步包含:步骤101-1)组内的各节点均维护本节点的资源状态信息和历史服务信息;步骤101-2)各节点将维护的资源状态信息和历史服务信息传输至调度执行节点,其中,所述调度执行节点用于从组内选择针对一个具体任务的执行节点且该调度执行节点用于接收用户的服务请求命令O。
- 根据权利要求1所述的分布式节点组内的任务调度方法,其特征在于,解析请求命令即根据任务需求的历史服务信息进行计算和估计,获取任务对N种资源的任务需求资源向量O={o1,o2,...,oN};其中,所述历史服务信息包含:每个已执行任务对资源的实际需求和运行时间。
- 根据权利要求3所述的分布式节点组内的任务调度方法,其特征在于,所述步骤103)进一步包含:步骤103-1)根据节点的资源状态信息采用如下公式计算组内各节点的资源占用率,其中,节点的资源状态信息包含:节点的可用资源向量和节点已占用的资源向量:rcj={c1,j,c2,j,...,cN,j}ci,j=(si,j-soi,j)/si,j上述rcj表示组内任意一个节点pj当前的资源占用率向量,ci,j表示属于节点pj的第i种资源的占用率;步骤103-2)计算将任务O分配至节点pj处理的属于本节点的各类资源的占用率;步骤103-3)计算将任务O加载到节点pj后与加载之前属于本节点的各种资源的占用率的增加量,即求解步骤103-2)得到的资源占用率与步骤103-1)得到的资源占用率的差值,进而得到任务O对组内任意一个节点pj的资源占用率增量向量;步骤103-4)根据资源占用率增量向量中的各元素计算节点pj的资源占用影响率;根据节点pj的不同类型的资源占用率之间的方差,采用如下公式得到节点内资源均衡度σj:步骤103-5)将节点组内资源均衡度σj和资源占用影响率μj较小的节点作为执行节点得到执行节点集合PK,具体采用如下公式得到节点集合PK:PK={pk}=argmin(μj,σj)T,j∈[1,M′]上述M′表示满足条件的执行节点集合中的节点数目,argmin表示使得μj和σj取得最小值的对应节点;步骤103-6)从执行节点集合PK中选择一个节点为最终执行节点,其中选择一个节点的方法包括但不限于:随机、以某种概率分布、以某种准则进行选择,再将任务O转发给最终执行节点进行处理。
- 根据权利要求4所述的分布式节点组内的任务调度方法,其特征在于,采用如下方法求解得到执行节点集合PK;步骤1)定义均衡度搜索步长Δσ=(σmax-σmin)/M′,其中σmax和σmin分别是节点组P’中所有节点对应σ值的最大值和最小值;步骤2)定义资源占用率增量步长Δμ=(μmax-μmin)/M′,其中μmax和μmin分别是节点组P’中所有节点对应μ值的最大值和最小值;步骤3)以x∈[μmin,μmax],y∈[σmin,σmax]为搜索空间,进行最优值搜索,初始时x(0)=μmin,y(0)=σmin,t=0;步骤4)如果没有节点满足μ<<x(t)且ρ<<y(t),则x(t+1)=x(t)+Δμ,y(t+1)=y(t)+Δσ,t=t+1,循环步骤4);如果有满足条件的节点pk,则将该节点加入符合条件的节点集合PK,形成调度节点集合,终止上述过程,输出节点集合信息。
- 一种分布式节点组内的任务调度系统,其特征在于,所述系统包含:位于组内各节点的信息汇集模块,用于收集本节点的资源状态信息和历史服务信息;位于组内调度执行节点上的服务命令接收模块,用于接收服务请求命令,解析请求命令获得请求的任务;位于组内调度执行节点上的调度处理模块,用于:根据各节点的资源状态信息和历史状态信息,计算由组内每个节点加载任务后的资源利用率增量和组内各类资源的占用情况;依据资源利用率增量尽量低和各类资源的占用尽量均衡的原则选择服务执行节点,由服务执行节点提供请求的任务。
- 根据权利要求6所述的分布式节点组内的任务调度系统,其特征在于,所述信息汇集模块进一步包含:信息获取子模块,用于获取本节点的资源状态信息和历史服务信息,所述资源状态信息包含节点的可用资源向量和节点已占用的资源向量;发送子模块,用于将维护的资源状态信息和历史服务信息传输至调度执行节点,其中,所述调度执行节点用于从组内选择针对一个具体任务的执行节点且该调度执行节点用于接收用户的服务请求命令O。
- 根据权利要求6所述的分布式节点组内的任务调度系统,其特征在于,信息获取子模块还用于解析请求命令后根据任务需求,获取请求的任务对N种资源的任务需求资源向量O={o1,o2,...,oN}。
- 根据权利要求6所述的分布式节点组内的任务调度系统,其特征在于,所述调度处理模块进一步包含:第一处理子模块,用于根据节点的资源状态信息采用如下公式计算节点的资源占用 率:rcj={c1,j,c2,j,...,cN,j}ci,j=(si,j-soi,j)/si,j上述rcj表示组内的任意一个节点pj当前的资源占用率向量,ci,j表示属于节点pj的第i种资源的占用率;第二处理子模块,用于计算将任务O分配至节点pj处理该任务的资源的占用率:第三处理子模块,用于计算将任务O加载到节点pj后与加载之前第i种资源的占用率的增加量,进而得到任务O对组内任意一个节点pj的资源占用率增量向量;获取资源占用影响率的子模块,用于根据资源占用率增量向量中的各元素得到节点pj的资源占用影响率;获取节点内资源均衡度的子模块,用于依据不同类型的资源占用率之间的方差采用如下公式得到节点内资源均衡度σj:执行节点集合获取子模块,用于将节点组内资源均衡度σj和资源占用影响率μj较小的点作为执行节点得到执行节点集合PK,具体采用如下公式得到节点集合PK:PK={pk}=argmin(μj,σj)T,j∈[1,M′]上述M′表示满足条件的执行节点集合中的节点数目,argmin表示使得μj和σj取得最小值的对应节点;选择子模块,用于从执行节点集合PK中选择一个节点为最终执行节点,再将任务O 转发给最终执行节点进行处理。
- 根据权利要求6所述的分布式节点组内的任务调度系统,其特征在于,资源类型包括:cpu数,内存容量或硬盘容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/528,764 US10474504B2 (en) | 2014-11-25 | 2015-03-12 | Distributed node intra-group task scheduling method and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691155.4 | 2014-11-25 | ||
CN201410691155.4A CN105656973B (zh) | 2014-11-25 | 2014-11-25 | 一种分布式节点组内任务调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016082370A1 true WO2016082370A1 (zh) | 2016-06-02 |
Family
ID=56073449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/074087 WO2016082370A1 (zh) | 2014-11-25 | 2015-03-12 | 一种分布式节点组内任务调度方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10474504B2 (zh) |
CN (1) | CN105656973B (zh) |
WO (1) | WO2016082370A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449343A (zh) * | 2018-03-21 | 2018-08-24 | 深圳天源迪科信息技术股份有限公司 | Ssh协议文本数据采集方法、采集器及计算机设备 |
CN108846623A (zh) * | 2018-09-17 | 2018-11-20 | 安吉汽车物流股份有限公司 | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 |
CN112652069A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 基于粒子群算法的四面体剖分网格优化方法及系统 |
US11036552B2 (en) | 2016-10-25 | 2021-06-15 | International Business Machines Corporation | Cognitive scheduler |
CN114579270A (zh) * | 2022-02-24 | 2022-06-03 | 北京理工大学 | 一种基于资源需求预测的任务调度方法及系统 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150961B2 (en) | 2015-05-26 | 2021-10-19 | Blaize, Inc. | Accelerated operation of a graph streaming processor |
US11436045B2 (en) * | 2015-05-26 | 2022-09-06 | Blaize, Inc. | Reduction of a number of stages of a graph streaming processor |
US10437637B1 (en) | 2015-05-26 | 2019-10-08 | Thin CI, Inc. | Configurable scheduler for graph processing on multi-processor computing systems |
US11379262B2 (en) | 2015-05-26 | 2022-07-05 | Blaize, Inc. | Cascading of graph streaming processors |
CN107797866B (zh) * | 2016-05-31 | 2020-11-24 | Oppo广东移动通信有限公司 | 处理器资源的分配方法及移动终端和介质产品 |
CN106126323B (zh) * | 2016-06-17 | 2019-11-22 | 广州商品清算中心股份有限公司 | 基于云平台的实时任务调度方法 |
CN106534284A (zh) * | 2016-10-26 | 2017-03-22 | 航天恒星科技有限公司 | 一种分布式系统中资源负载均衡方法及装置 |
CN107092999B (zh) * | 2016-11-08 | 2021-02-26 | 北京星选科技有限公司 | 任务处理方法及装置 |
CN108876074B (zh) * | 2017-05-09 | 2021-06-15 | 国网辽宁省电力有限公司信息通信分公司 | 一种适用于多类资源申请审批的通用调度方法 |
CN107357649B (zh) * | 2017-05-27 | 2020-07-03 | 北京奇艺世纪科技有限公司 | 系统资源部署策略的确定方法、装置及电子设备 |
CN107291553B (zh) * | 2017-06-30 | 2020-05-12 | 电子科技大学 | 一种基于方块拼接的任务调度方法 |
EP3506547A1 (en) * | 2017-12-28 | 2019-07-03 | Flytxt B.V. | Providing security against user collusion in data analytics using random group selection |
CN108776612A (zh) * | 2018-04-11 | 2018-11-09 | 深圳大学 | 一种云计算任务分配方法、装置、设备及存储介质 |
CN108566424B (zh) * | 2018-04-11 | 2021-04-20 | 深圳市腾讯网络信息技术有限公司 | 基于服务器资源消耗预测的调度方法、装置和系统 |
CN110620797B (zh) * | 2018-06-19 | 2022-12-27 | 中移(杭州)信息技术有限公司 | 一种节点交付方法、装置、电子设备及存储介质 |
CN109240820B (zh) * | 2018-07-03 | 2022-09-13 | 深圳市商汤科技有限公司 | 图像处理任务的处理方法及装置、电子设备及存储介质 |
CN109460345B (zh) * | 2018-09-28 | 2022-02-22 | 北京赛博贝斯数据科技有限责任公司 | 实时数据的计算方法及系统 |
CN109522117A (zh) * | 2018-10-25 | 2019-03-26 | 深圳市圆世科技有限责任公司 | 一种面向异构环境下的链上数据调度系统 |
CN109656685A (zh) * | 2018-12-14 | 2019-04-19 | 深圳市网心科技有限公司 | 容器资源调度方法和系统、服务器及计算机可读存储介质 |
CN111381957B (zh) * | 2018-12-29 | 2023-09-12 | 上海哔哩哔哩科技有限公司 | 面向分布式平台的服务实例精细化调度方法及系统 |
CN110086855B (zh) * | 2019-03-29 | 2021-11-05 | 江苏开拓信息与系统有限公司 | 基于蚁群算法的Spark任务智能感知调度方法 |
CN110347515B (zh) * | 2019-07-17 | 2021-08-03 | 国网四川省电力公司电力科学研究院 | 一种适合边缘计算环境的资源优化分配方法 |
TWI724531B (zh) * | 2019-09-05 | 2021-04-11 | 財團法人資訊工業策進會 | 服務調派設備及方法 |
CN111199360B (zh) * | 2020-01-13 | 2023-05-05 | 西安电子科技大学 | 无人机任务分配规划方法 |
CN112148462B (zh) * | 2020-10-20 | 2023-03-28 | 上海新炬网络信息技术股份有限公司 | 基于Jenkins的CICD流程的处理方法 |
CN112256434B (zh) * | 2020-10-30 | 2024-04-05 | 中国科学院信息工程研究所 | 一种加密数据破解场景中的资源匹配方法 |
CN112565917B (zh) * | 2020-11-26 | 2023-04-07 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种节点选取方法及装置 |
CN112492032B (zh) * | 2020-11-30 | 2022-09-23 | 杭州电子科技大学 | 一种移动边缘环境下的工作流协作调度方法 |
CN112905333B (zh) * | 2021-01-23 | 2024-04-26 | 招商新智科技有限公司 | 用于分布式视频智能分析平台的算力负载调度方法及装置 |
CN112988396A (zh) * | 2021-04-20 | 2021-06-18 | 军事科学院系统工程研究院网络信息研究所 | 一种基于多属性为视频云服务分配计算节点的方法和系统 |
CN114756347B (zh) * | 2022-04-19 | 2024-06-11 | 中国联合网络通信集团有限公司 | 基于集群的服务器资源调度方法、装置、云平台及介质 |
CN117632388A (zh) * | 2022-08-10 | 2024-03-01 | 顺丰科技有限公司 | 任务合并处理方法、装置、设备及计算机可读存储介质 |
CN116708434B (zh) * | 2023-06-16 | 2023-12-22 | 广东红海湾发电有限公司 | 一种同时满足多类型关系数据库的数据交换系统 |
CN117194053B (zh) * | 2023-11-06 | 2024-08-09 | 北京宏数科技有限公司 | 一种基于大数据的云管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753608A (zh) * | 2008-12-09 | 2010-06-23 | 中国移动通信集团公司 | 分布式系统的调度方法及系统 |
WO2011091323A1 (en) * | 2010-01-21 | 2011-07-28 | Qst Holdings, Llc | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
CN103207807A (zh) * | 2012-01-12 | 2013-07-17 | 阿里巴巴集团控股有限公司 | 任务调度方法和装置 |
CN104102544A (zh) * | 2014-06-30 | 2014-10-15 | 武汉理工大学 | 混合云环境下多QoS约束的并行任务调度成本优化方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4292693B2 (ja) * | 2000-07-07 | 2009-07-08 | 株式会社日立製作所 | 計算機資源分割装置および資源分割方法 |
US7403993B2 (en) * | 2002-07-24 | 2008-07-22 | Kasenna, Inc. | System and method for highly-scalable real-time and time-based data delivery using server clusters |
EP1735706A4 (en) * | 2004-03-13 | 2008-08-13 | Cluster Resources Inc | SYSTEM AND METHOD FOR CO-ASSIGNING RESERVATION ENGLOBING DIFFERENT TYPES OF CALCULATION RESOURCES |
US20070266388A1 (en) * | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
JP4606142B2 (ja) * | 2004-12-01 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
US7984447B1 (en) * | 2005-05-13 | 2011-07-19 | Oracle America, Inc. | Method and apparatus for balancing project shares within job assignment and scheduling |
US8555288B2 (en) * | 2006-05-17 | 2013-10-08 | Teradata Us, Inc. | Managing database utilities to improve throughput and concurrency |
US8122441B2 (en) * | 2008-06-24 | 2012-02-21 | International Business Machines Corporation | Sharing compiler optimizations in a multi-node system |
CN101447939B (zh) * | 2008-12-16 | 2011-09-28 | 中国移动通信集团北京有限公司 | 一种业务分配方法和负载均衡器 |
CN102591712B (zh) * | 2011-12-30 | 2013-11-20 | 大连理工大学 | 一种云计算中依赖任务的解耦并行调度方法 |
CN103853618B (zh) * | 2014-03-06 | 2017-04-19 | 南京理工大学 | 基于截止日期驱动的云系统代价最小化资源分配方法 |
US9825871B2 (en) * | 2014-03-07 | 2017-11-21 | Institute Of Acoustics, Chinese Academy Of Sciences | System and method for providing an on-site service |
CN103941662A (zh) * | 2014-03-19 | 2014-07-23 | 华存数据信息技术有限公司 | 一种基于云计算的任务调度系统和调度方法 |
-
2014
- 2014-11-25 CN CN201410691155.4A patent/CN105656973B/zh not_active Expired - Fee Related
-
2015
- 2015-03-12 US US15/528,764 patent/US10474504B2/en active Active
- 2015-03-12 WO PCT/CN2015/074087 patent/WO2016082370A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753608A (zh) * | 2008-12-09 | 2010-06-23 | 中国移动通信集团公司 | 分布式系统的调度方法及系统 |
WO2011091323A1 (en) * | 2010-01-21 | 2011-07-28 | Qst Holdings, Llc | A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations |
CN103207807A (zh) * | 2012-01-12 | 2013-07-17 | 阿里巴巴集团控股有限公司 | 任务调度方法和装置 |
CN104102544A (zh) * | 2014-06-30 | 2014-10-15 | 武汉理工大学 | 混合云环境下多QoS约束的并行任务调度成本优化方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11036552B2 (en) | 2016-10-25 | 2021-06-15 | International Business Machines Corporation | Cognitive scheduler |
CN108449343A (zh) * | 2018-03-21 | 2018-08-24 | 深圳天源迪科信息技术股份有限公司 | Ssh协议文本数据采集方法、采集器及计算机设备 |
CN108846623A (zh) * | 2018-09-17 | 2018-11-20 | 安吉汽车物流股份有限公司 | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 |
CN108846623B (zh) * | 2018-09-17 | 2021-02-19 | 安吉汽车物流股份有限公司 | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 |
CN112652069A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 基于粒子群算法的四面体剖分网格优化方法及系统 |
CN114579270A (zh) * | 2022-02-24 | 2022-06-03 | 北京理工大学 | 一种基于资源需求预测的任务调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105656973B (zh) | 2018-11-13 |
US10474504B2 (en) | 2019-11-12 |
US20170329643A1 (en) | 2017-11-16 |
CN105656973A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016082370A1 (zh) | 一种分布式节点组内任务调度方法及系统 | |
CN103605567B (zh) | 面向实时性需求变化的云计算任务调度方法 | |
US8984519B2 (en) | Scheduler and resource manager for coprocessor-based heterogeneous clusters | |
CN103793272B (zh) | 一种周期性任务调度方法及系统 | |
CN104657221B (zh) | 一种云计算中基于任务分类的多队列错峰调度模型及方法 | |
CN102780759B (zh) | 基于调度目标空间的云计算资源调度方法 | |
CN101957780A (zh) | 一种基于资源状态信息的网格任务调度处理器及方法 | |
Ivanisenko et al. | Survey of major load balancing algorithms in distributed system | |
CN103699433A (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
Delavar et al. | A synthetic heuristic algorithm for independent task scheduling in cloud systems | |
CN110099083A (zh) | 一种用于服务器集群的负载均衡调度方法及装置 | |
CN108984286A (zh) | 一种云计算平台的资源调度方法和系统 | |
Jia et al. | A highly efficient data locality aware task scheduler for cloud-based systems | |
CN115686792A (zh) | 任务调度方法、装置、电子设备、存储介质及产品 | |
CN109062682A (zh) | 一种云计算平台的资源调度方法和系统 | |
Shu-Jun et al. | Optimization and research of hadoop platform based on fifo scheduler | |
CN117909061A (zh) | 基于gpu混合集群的模型任务处理系统和资源调度方法 | |
Soni et al. | Grouping-based job scheduling model in grid computing | |
Guo | Ant colony optimization computing resource allocation algorithm based on cloud computing environment | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及系统 | |
Gomathi et al. | An adaptive grouping based job scheduling in grid computing | |
Michel et al. | Artificial bee colonies solution for load sharing in a cloud RAN | |
Gu et al. | The implementation of MapReduce scheduling algorithm based on priority | |
Patil et al. | Comprehensive study on task scheduling strategies in multicloud environment | |
Lokhande et al. | Grid computing scheduling jobs based on priority using backfilling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15863671 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15528764 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15863671 Country of ref document: EP Kind code of ref document: A1 |