CN107341041B - Cloud task multidimensional constraint backfill scheduling method based on priority queue - Google Patents

Cloud task multidimensional constraint backfill scheduling method based on priority queue Download PDF

Info

Publication number
CN107341041B
CN107341041B CN201710500564.5A CN201710500564A CN107341041B CN 107341041 B CN107341041 B CN 107341041B CN 201710500564 A CN201710500564 A CN 201710500564A CN 107341041 B CN107341041 B CN 107341041B
Authority
CN
China
Prior art keywords
task
virtual machine
tasks
backfill
queue
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
CN201710500564.5A
Other languages
Chinese (zh)
Other versions
CN107341041A (en
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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201710500564.5A priority Critical patent/CN107341041B/en
Publication of CN107341041A publication Critical patent/CN107341041A/en
Application granted granted Critical
Publication of CN107341041B publication Critical patent/CN107341041B/en
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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

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

The invention discloses a cloud task multidimensional constraint backfill scheduling method based on a priority queue, which overcomes the defects of poor backfill performance and large duty ratio of virtual machine resources caused by the fact that task indexes are considered to be too single in the traditional backfill scheduling algorithm and the improved backfill scheduling algorithm in cloud computing; the two dimensions of the number of the application processor cores and the expected execution duration of the independent tasks in the batch tasks are comprehensively considered for balancing, a priority queue based on the minimum binary heap is constructed by utilizing the backfill weight coefficient to preferentially backfill the tasks with less application resources and longer expected execution time, and the constraint conditions such as memory occupation and bandwidth occupation are increased. The invention improves the utilization rate of virtual computer computing resources in unit time, reduces the final completion time of batch tasks and reduces the average waiting time delay of the tasks.

Description

Cloud task multidimensional constraint backfill scheduling method based on priority queue
Technical Field
The invention relates to the technical field of cloud computing, in particular to a resource management technology applied to a cloud computing platform, and particularly relates to a cloud task multidimensional constraint backfill scheduling method based on a priority queue.
Background
Nowadays, in the era of information explosion, the development of computer technology is changing day by day. When the amount of users is increasing, the conventional data center has been unable to meet the existing demand. The cloud computing technology is widely applied, and the birth of the cloud computing technology is a product of the information technology revolution. Cloud computing is generally oriented to heterogeneous components, and in the face of massive task requests, how to schedule processing tasks in the shortest time in limited computing resources by a cloud computing data center is important in the aspects of shortening the final completion time of the tasks, reducing the average waiting time delay of batch tasks and increasing the utilization rate of server resources.
Some existing cloud computing-based task scheduling methods are also various, and some are based on heuristic algorithms such as an ant colony algorithm, an annealing algorithm, a genetic algorithm and the like, for example, CN103345657A discloses a task scheduling method based on heredity and ant colony in a cloud computing environment, and iterative solution is performed by combining the advantages of the genetic algorithm and the ant colony algorithm. For another example, CN103870317A discloses a task scheduling method and system in cloud computing, in which a bacterial foraging algorithm is used to calculate an optimal working node, and tasks and resources are scheduled and allocated. The heuristic model with high abstraction is exposed to slow iteration in the actual high-timeliness and quick-response cloud computing task scheduling process, and is easy to fall into a local optimal solution in the face of a large number of different tasks, so that the system response is slowed, and the user experience is reduced.
Some scheduling methods simply consider the priority weight of the task, and do not consider the relationship between the task and the computing resources such as the virtual machine in many aspects. For example, CN103324525A discloses a scheduling method in a cloud computing environment, which performs scheduling by calculating a priority index and a waiting index of each task. CN103914754A discloses a task scheduling method for workflow, which combines the average predicted time of each task running on all processors and the average time of data transfer as a weight value to be sorted, and then traverses the compute nodes to bind the maximum weight value to the virtual machine with the best performance. Therefore, the bearing of the computing resources of each machine and the resource requirements of independent tasks are not considered, the tasks are easily bound in the virtual machines to generate larger virtual machine idleness, and the resource utilization rate of the virtual machines cannot be increased to the maximum extent.
Still other scheduling methods simply consider task scheduling from performance triggers of the compute nodes. For example, CN101986272A discloses a task scheduling method in a cloud computing environment. The method does not consider the performance of the nodes in task allocation, and only considers the health degree of the nodes. After the distributed tasks exceed the set threshold value and are not processed, the tasks are recovered and distributed again. The resulting default rate of the task is high, and the average delay of the task is increased. In contrast, CN105740077A discloses a task allocation method using cloud computing, which is to establish loads of respective computing nodes in a data center, and allocate tasks to nodes with loads from high to low in sequence, so that the load of the nodes is too large, and the overall scheduling performance is impaired.
For example, CN103841208A discloses a cloud computing task scheduling method based on response time optimization, which calculates an objective function according to the transmission time of task fragments, the average processing time of tasks at each node, and the total processing time of task fragments, and models the task response time as a target. However, this makes it easy to prioritize tasks with a smaller execution time, and makes the response time of tasks with a longer execution time longer. The scheduling relationship between tasks of different lengths cannot be balanced.
In addition, some traditional backfill algorithms and the existing improved backfill scheduling-based method only consider the single index of the number of processor cores waiting for the task application when selecting the backfill task, but do not combine the applied resources with the index of the estimated execution duration of the independent task. In addition, an improved method based on backfill scheduling, which is efficient and comprehensively considers multidimensional performance index constraints, is not provided in the existing task scheduling methods under the cloud computing environment.
Disclosure of Invention
The invention provides a cloud task multidimensional constraint backfill scheduling method based on a priority queue, aiming at the defects and shortcomings of the existing improved backfill scheduling method, the method comprehensively considers two dimensions of task submission processor resources and the predicted execution time of an independent task to calculate a backfill weight coefficient, then constructs the backfill weight coefficient of each task submitted to a virtual machine into a task priority queue by using a data structure of a minimum binary heap, carries out backfill scheduling processing on batch waiting tasks, and simultaneously adds constraints of resources such as memory, bandwidth and the like during backfill so as to improve backfill efficiency and backfill success rate. Therefore, the aim of reserving and backfilling the idle resources of the virtual machine in time to the maximum extent is achieved, the final completion time of the task is shortened, and QoS indexes such as the average waiting time delay of the task are reduced.
The technical scheme adopted by the invention is as follows: a cloud task multidimensional constraint backfill scheduling method based on a priority queue comprises the following steps:
step 1: the tasks in the waiting task queue are arranged in a descending order by taking the ratio of the task instruction length to the number of the applied processor cores as a task processing time factor and are stored in a common queue; the processing time factor is used for representing the predicted processing time of the independent task;
step 2: arranging virtual machines in the data center in a descending order according to the magnitude of the computing processing capacity of the virtual machines, and establishing a corresponding relation between the serial number of the virtual machine and the computing processing capacity value of the virtual machine in the data center;
and step 3: binding the task in the common queue in the step 1 to the virtual machine queue in the step 2 according to the estimated execution time, wherein the longer the execution time is, the better the performance of the bound virtual machine is, if the estimated execution time of the task distributed to the current virtual machine is less than or equal to the next virtual machine, the task is bound to the current virtual machine, otherwise, the task is bound to the current virtual machine, and the primary binding of the virtual machine is completed;
and 4, step 4: step 3, batch tasks on each virtual machine are entered, and a backfill weight coefficient obtained by dividing the square of the number of processor cores applied by each task by the ratio of the task instruction length is used as a key to establish a minimum binary heap to form a task priority queue; the backfill weight coefficient is characterized by the ratio of the square of the number of processor cores applied by each task divided by the length of the task instruction;
and 5: popping up a first task in the minimum binary heap, scanning a running task in the virtual machine, and backfilling if constraint conditions of the total processor core number, the total memory size and the total bandwidth size of the virtual machine are met at the same time, namely the task does not exceed the processing capacity, the memory and the bandwidth of the virtual machine after backfilling; if not, the tail of the binary heap queue is pressed again to float again;
step 6: and repeatedly executing the step 5 until all tasks in the binary heap are scheduled.
The computing processing capacity of the virtual machine is characterized by MIPS (Million Instructions Per Second, average execution speed of single-length fixed-point Instructions).
The invention has the beneficial effects that: the initial binding is finished by preferentially distributing the uncommitted tasks to the fastest virtual machine from large to small according to the predicted execution time, so that the maximum completion time of the tasks can be reduced; and establishing a task priority queue of a minimum binary heap for the tasks entering the virtual machine according to BFV (Backfill Values, BackFill weight coefficients), and adopting the data structure to quickly push the tasks with the minimum BFV value and the most urgent need to be refilled to the root node. The task with the smaller BFV is backfilled preferentially, so that the vacancy of the virtual machine can be fully reduced, the resource utilization rate is improved, and meanwhile, the average waiting time delay of the task can be reduced.
Drawings
FIG. 1 is a cloud task multidimensional constraint backfill scheduling architecture diagram based on a priority queue;
FIG. 2 is a flowchart of a cloud task multidimensional constraint backfill scheduling method based on a priority queue;
FIG. 3 is a diagram of a minimum binary heap structure of a task queue after a virtual machine is selected according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Fig. 1 is a diagram of a cloud task backfill scheduling architecture according to the present invention, where the whole architecture is composed of a waiting task queue and a data center, and the data center is composed of a data center agent (datacentrerbaker), a host and a virtual machine built on the host. Wherein the role of the data center agent is the cloud task scheduler.
Firstly, initializing a data center, and firstly starting a plurality of hosts by the data center; then, the task is submitted, and the data center can establish a corresponding number of virtual machines on the host; at the moment, tasks are already run on the virtual machine, and a waiting task queue is arranged outside the data center and is stored by using a common queue.
FIG. 2 is a detailed flow of the whole cloud task multidimensional constraint backfill scheduling method:
step 1: firstly, according to T in formula 1, aiming at task waiting queue which does not enter data centerratioAnd the tasks are sorted in descending order, so that the tasks with longer expected execution time are preferentially sorted in front of the queue.
Figure BDA0001333563520000041
Step 2: sequentially establishing an index table for the virtual machines on all the hosts in the data center, wherein key is the id of each virtual machine; value is MIPS, i.e. the processing power of the virtual machine processor core. And then the MIPS values of the virtual machines are arranged according to a descending order, so that the virtual machine with the best performance is arranged at the forefront of the index table. The statistically good index table is then submitted to a data center broker (datacentrerbower) and saved.
And step 3: and (3) binding the tasks in the common task queue in the step (1) to the virtual machines in the index table in the step (2) in sequence, calculating the accumulated execution time of the current virtual machine and the next virtual machine while binding, and selecting the virtual machine with the shortest accumulated execution time to bind.
And 4, step 4: and 3, establishing a minimum binary heap to form a priority queue according to the value of BFV by the batch tasks submitted to each virtual machine in the step 3.
Figure BDA0001333563520000042
After the selected virtual machines enter the data center, heap construction operation is performed on batch tasks on each virtual machine, a minimum binary heap data structure shown in fig. 3 is used, and the minimum binary heap is a complete binary tree with ordered heap. The nodes T1-T9 in FIG. 3 store BFV values of tasks, respectively. Wherein T1 is less than T2/T3, T2 is less than T4/T5, T3 is less than T6/T7, and T4 is less than T8. T1 is the root node with the minimum BFV value in the whole queue, wherein the index value of each left child node is 2 times that of the parent node, and the index value of the right child node is 2 times +1 times that of the parent node. Sequentially constructing a priority queue composed of minimum binary heaps
And 5: and scanning idle resources in the virtual machine, sequentially popping up a first task in the binary heap, scanning a running task in the virtual machine, and backfilling the task.
Step 5-1: because the root node in the minimum binary heap is the task with the minimum BFV value, if idle computing resources exist in the current virtual machine, the first task of the priority queue is popped up, and then whether the task meets the resource constraint condition or not is judged according to a formula 3 if the task is backfilled. And if so, sequentially backfilling. Wherein, PE is the number of processor cores, and RAM and BW are the memory occupation and bandwidth usage of the task respectively.
Figure BDA0001333563520000043
Step 5-2: if the popped task is found not to meet the resource constraint condition in step 5-1, the task is reinserted into the tail of the queue of the binary heap, then the child nodes below the root node are popped up and tried to be refilled, and after the refilling is successful, the task is floated to a proper position according to the definition requirement of the binary heap because the task inserted from the tail of the queue is possibly smaller than the parent node of the task.
Step 5-3: and according to the two substeps, backfilling and scheduling the submitted tasks of all the virtual machines in sequence, and finally, after the tasks are executed, destroying the virtual machines and finishing the whole task scheduling process.
The technical means disclosed in the invention scheme are not limited to the technical means disclosed in the above embodiments, but also include the technical scheme formed by any combination of the above technical features.

Claims (2)

1. A cloud task multidimensional constraint backfill scheduling method based on a priority queue is characterized by comprising the following steps,
step 1: the tasks in the waiting task queue are arranged in a descending order by taking the ratio of the task instruction length to the number of the applied processor cores as a task processing time factor and are stored in a common queue; the processing time factor is used for representing the predicted processing time of the independent task;
step 2: arranging virtual machines in the data center in a descending order according to the magnitude of the computing processing capacity of the virtual machines, and establishing a corresponding relation between the serial number of the virtual machine and the computing processing capacity value of the virtual machine in the data center;
and step 3: binding the tasks in the common task queue in the step 1 to the virtual machines in the index table in the step 2 in sequence, calculating the accumulated execution time of the current virtual machine and the next virtual machine while binding, and selecting the virtual machine with the shortest accumulated execution time to bind;
and 4, step 4: step 3, batch tasks on each virtual machine are entered, and a backfill weight coefficient obtained by dividing the square of the number of processor cores applied by each task by the ratio of the task instruction length is used as a key to establish a minimum binary heap to form a task priority queue; the backfill weight coefficient is characterized by the ratio of the square of the number of processor cores applied by each task divided by the length of the task instruction;
and 5: popping up a first task in the minimum binary heap, scanning a running task in the virtual machine, and backfilling if constraint conditions of the total processor core number, the total memory size and the total bandwidth size of the virtual machine are met at the same time, namely the task does not exceed the processing capacity, the memory and the bandwidth of the virtual machine after backfilling; if not, the tail of the binary heap queue is pressed again to float again;
step 6: and repeatedly executing the step 5 until all tasks in the binary heap are scheduled.
2. The method for multidimensional constraint backfill scheduling of cloud tasks based on priority queues according to claim 1, wherein the computing processing capacity of the virtual machine in the step 2 is characterized by MIPS.
CN201710500564.5A 2017-06-27 2017-06-27 Cloud task multidimensional constraint backfill scheduling method based on priority queue Active CN107341041B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710500564.5A CN107341041B (en) 2017-06-27 2017-06-27 Cloud task multidimensional constraint backfill scheduling method based on priority queue

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710500564.5A CN107341041B (en) 2017-06-27 2017-06-27 Cloud task multidimensional constraint backfill scheduling method based on priority queue

Publications (2)

Publication Number Publication Date
CN107341041A CN107341041A (en) 2017-11-10
CN107341041B true CN107341041B (en) 2020-08-11

Family

ID=60220835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710500564.5A Active CN107341041B (en) 2017-06-27 2017-06-27 Cloud task multidimensional constraint backfill scheduling method based on priority queue

Country Status (1)

Country Link
CN (1) CN107341041B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990339B (en) * 2019-10-15 2023-09-19 平安科技(深圳)有限公司 File read-write method, device and platform for distributed storage and readable storage medium
CN111080298B (en) * 2019-12-26 2023-12-29 电子科技大学 Block generation and transaction verification method suitable for energy block chain
CN113192322B (en) * 2021-03-19 2022-11-25 东北大学 Expressway traffic flow counting method based on cloud edge cooperation
CN113132265B (en) * 2021-04-16 2022-05-10 武汉光迅信息技术有限公司 Multi-stage scheduling method and device for multi-path Ethernet
CN113238841B (en) * 2021-05-11 2023-12-12 湖北碳聚生物科技有限责任公司 Task scheduling method based on cloud computing technology
CN117193963A (en) * 2023-08-03 2023-12-08 北京大学 Function feature-based server non-aware computing scheduling method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819540B (en) * 2009-02-27 2013-03-20 国际商业机器公司 Method and system for scheduling task in cluster
US8627442B2 (en) * 2011-05-24 2014-01-07 International Business Machines Corporation Hierarchical rule development and binding for web application server firewall
US9563470B2 (en) * 2013-12-23 2017-02-07 International Business Machines Corporation Backfill scheduling for embarrassingly parallel jobs
CN103761147B (en) * 2014-01-15 2017-11-21 清华大学 The management method and system of calculated examples in a kind of cloud platform

Also Published As

Publication number Publication date
CN107341041A (en) 2017-11-10

Similar Documents

Publication Publication Date Title
CN107341041B (en) Cloud task multidimensional constraint backfill scheduling method based on priority queue
CN109885397B (en) Delay optimization load task migration algorithm in edge computing environment
Wang et al. Load balancing task scheduling based on genetic algorithm in cloud computing
CN109788046B (en) Multi-strategy edge computing resource scheduling method based on improved bee colony algorithm
CN111694656B (en) Cluster resource scheduling method and system based on multi-agent deep reinforcement learning
CN110347504B (en) Many-core computing resource scheduling method and device
CN111104211A (en) Task dependency based computation offload method, system, device and medium
Tantalaki et al. Pipeline-based linear scheduling of big data streams in the cloud
CN111813506A (en) Resource sensing calculation migration method, device and medium based on particle swarm algorithm
CN113138860B (en) Message queue management method and device
CN109656713B (en) Container scheduling method based on edge computing framework
CN111343288B (en) Job scheduling method and system and computing device
CN109710372B (en) Calculation intensive cloud workflow scheduling method based on owl search algorithm
CN111209104A (en) Energy perception scheduling method for Spark application under heterogeneous cluster
CN114327811A (en) Task scheduling method, device and equipment and readable storage medium
CN108958919B (en) Multi-DAG task scheduling cost fairness evaluation method with deadline constraint in cloud computing
CN114721818A (en) Kubernetes cluster-based GPU time-sharing method and system
CN114675953A (en) Resource dynamic scheduling method, device, equipment and computer readable storage medium
CN112685162A (en) High-efficiency scheduling method, system and medium for heterogeneous computing resources of edge server
Aladwani Impact of selecting virtual machine with least load on tasks scheduling algorithms in cloud computing
CN111782627B (en) Task and data cooperative scheduling method for wide-area high-performance computing environment
Lee et al. An adaptive task scheduling system for Grid Computing
CN104731662B (en) A kind of resource allocation methods of variable concurrent job
CN110308991B (en) Data center energy-saving optimization method and system based on random tasks
CN115098240B (en) Multiprocessor application scheduling method and system and storage medium

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