CN104333569A - Cloud task scheduling algorithm based on user satisfaction - Google Patents

Cloud task scheduling algorithm based on user satisfaction Download PDF

Info

Publication number
CN104333569A
CN104333569A CN201410491004.4A CN201410491004A CN104333569A CN 104333569 A CN104333569 A CN 104333569A CN 201410491004 A CN201410491004 A CN 201410491004A CN 104333569 A CN104333569 A CN 104333569A
Authority
CN
China
Prior art keywords
task
cloud
user
tasks
virtual machine
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.)
Pending
Application number
CN201410491004.4A
Other languages
Chinese (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.)
Tongji University
Original Assignee
Tongji University
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 Tongji University filed Critical Tongji University
Priority to CN201410491004.4A priority Critical patent/CN104333569A/en
Publication of CN104333569A publication Critical patent/CN104333569A/en
Priority to PCT/CN2015/089512 priority patent/WO2016045515A1/en
Pending legal-status Critical Current

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]

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

一种基于用户满意度的云任务调度算法,该算法主要包含虚拟机和云任务的参数归一化、欧式距离的计算、资源选择、欧式距离更新,计算任务的用户满意度,计算单个云任务的资源使用成本和所有任务执行完后系统的总成本等几个阶段。本发明算法从用户的角度出发,将任务分配到最合适的资源中,更好满足用户对CPU、完成时间、带宽等多方面的需求,同时有效降低用户使用资源的成本。在云计算中,对于用户关心的是付出的成本和得到的服务质量是否合理匹配,使用户的需求得到较高程度满足。与现有技术相比,本发明给出了一种有效的策略让用户获得更好的服务质量。

A cloud task scheduling algorithm based on user satisfaction, which mainly includes parameter normalization of virtual machines and cloud tasks, calculation of Euclidean distance, resource selection, update of Euclidean distance, calculation of user satisfaction of tasks, and calculation of a single cloud task There are several stages such as the cost of resource usage and the total cost of the system after all tasks are executed. The algorithm of the present invention allocates tasks to the most suitable resources from the user's point of view, better meets the user's requirements for CPU, completion time, bandwidth and other aspects, and at the same time effectively reduces the user's cost of using resources. In cloud computing, what users care about is whether the cost paid and the quality of service received are reasonably matched, so that the needs of users can be satisfied to a high degree. Compared with the prior art, the present invention provides an effective strategy to allow users to obtain better service quality.

Description

基于用户满意度的云任务调度算法Cloud task scheduling algorithm based on user satisfaction

技术领域technical field

本发明涉及云任务调度算法。The invention relates to a cloud task scheduling algorithm.

背景技术Background technique

云计算是并行计算、分布式计算和网格计算的综合发展,是一种商业计算模型,它能把从前需要高性能计算机才能完成的任务分布在大量廉价计算机构成的资源池上,使各种应用系统能够根据需要获取计算能力、存储空间和信息服务。然而,在实现这些服务的同时,需要考虑一个问题,即不同的用户对云计算资源的使用有不同的需求,如CPU、内存、完成时间、带宽、使用费用等,如何通过一种有效的策略让用户获得更好的服务质量。云计算的任务调度算法是解决上述问题的途径之一。Cloud computing is the comprehensive development of parallel computing, distributed computing and grid computing. The system can obtain computing power, storage space and information services as needed. However, while implementing these services, a problem needs to be considered, that is, different users have different requirements for the use of cloud computing resources, such as CPU, memory, completion time, bandwidth, usage fees, etc., how to adopt an effective strategy Allow users to obtain better service quality. The task scheduling algorithm of cloud computing is one of the ways to solve the above problems.

传统的任务调度算法注重服务器的效率,例如以最优完成时间为目标的任务调度方法,虽然具有较好的完成效率,但是可能导致计算能力强的资源使用率高,使系统负载不均衡;负载均衡算法能够提供有效的方法来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,然而,传统的任务调度算法都忽略了用户任务的服务质量需求,不能很好的对资源进行按需分配。The traditional task scheduling algorithm focuses on the efficiency of the server. For example, the task scheduling method with the goal of optimal completion time, although it has good completion efficiency, may lead to high resource usage with strong computing power, which makes the system load unbalanced; load The balance algorithm can provide an effective method to expand the bandwidth of network devices and servers, increase throughput, strengthen network data processing capabilities, and improve network flexibility and availability. However, traditional task scheduling algorithms ignore the quality of service requirements of user tasks , cannot allocate resources on demand very well.

发明内容Contents of the invention

在对云任务调度技术的研究过程中形成了许多经典的调度算法,它们多从云资源提供商的角度出发,考虑最优完成时间、最低能耗、节点负载均衡、资源可用性和可靠性、系统利用率等参数,而本发明提出的算法着重从用户的角度,考虑任务完成时间、成本、成本和服务质量的匹配程度、用户使用资源的满意度等参数,同时也考虑了系统的负载均衡。In the research process of cloud task scheduling technology, many classic scheduling algorithms have been formed. They mostly start from the perspective of cloud resource providers, considering optimal completion time, minimum energy consumption, node load balancing, resource availability and reliability, system Utilization rate and other parameters, while the algorithm proposed by the present invention focuses on parameters such as task completion time, cost, matching degree of cost and service quality, user satisfaction with resource use from the perspective of users, and also considers system load balancing.

云计算使用虚拟化技术将底层的物理资源以虚拟机的形式封装,让虚拟机来执行用户的任务。调度问题是将用户的任务以一定的优化目标为原则与资源进行映射,云计算简化了任务与资源的匹配,使任务所需资源以一台虚拟机的形式体现,所以对资源的搜索转化为对某一台虚拟机进行搜索。Cloud computing uses virtualization technology to encapsulate the underlying physical resources in the form of virtual machines, allowing virtual machines to perform user tasks. The scheduling problem is to map the user's tasks with resources based on a certain optimization goal. Cloud computing simplifies the matching of tasks and resources, and makes the resources required by the tasks reflected in the form of a virtual machine. Therefore, the search for resources is transformed into Search for a virtual machine.

为了实现调度算法,本发明首先对云任务、虚拟机以及任务分类进行了描述:In order to realize the scheduling algorithm, the present invention firstly describes cloud tasks, virtual machines and task classification:

●虚拟机用七元组表示:●The virtual machine is represented by a seven-tuple:

vmi=<idi,peNumi,rami,bwi,Ccpu/num,Cmem/MB,Cbw/Mbps>   (1)vm i =<id i ,peNum i ,ram i ,bw i ,C cpu/num ,C mem/MB ,C bw/Mbps > (1)

七元组分别表示虚拟机的ID、CPU个数、内存、带宽以及CPU、内存和带宽的单位价格。The seven-tuple represents the ID of the virtual machine, the number of CPUs, the memory, the bandwidth, and the unit price of the CPU, memory, and bandwidth.

●云任务用八元组表示:●Cloud tasks are represented by octets:

ti=<idi,typei,leni,exppei,exprami,expbwi,si,costi>   (2)t i =<id i ,type i ,len i ,exppe i ,expram i ,expbw i ,s i ,cost i > (2)

八元组分别表示云任务的ID、类型、任务大小、期待CPU个数、期待内存、期待带宽、任务的用户满意度以及执行任务的成本。The octet represents the ID, type, task size, expected number of CPUs, expected memory, expected bandwidth, user satisfaction of the task, and cost of executing the task, respectively, of the cloud task.

●云任务类型:本发明主要考虑以下QoS参数:Cloud task type: the present invention mainly considers the following QoS parameters:

a)完成时间:对于实时性要求的云任务,需要在尽可能少的时间内完成,与之对应的就是CPU和执行速度这两个资源。a) Completion time: For cloud tasks with real-time requirements, they need to be completed in as little time as possible, corresponding to the two resources of CPU and execution speed.

b)带宽:当云任务对通信带宽要求较高时,例如多媒体流需求,需要优先考虑带宽要求。b) Bandwidth: When cloud tasks have high communication bandwidth requirements, such as multimedia streaming requirements, bandwidth requirements need to be prioritized.

c)内存:当云任务对内存要求较高时,需要优先考虑内存需求。c) Memory: When cloud tasks have high memory requirements, priority should be given to memory requirements.

针对不同的云任务需求,按照不同的QoS参数来衡量用户满意度,为此,本发明设计了一个权重向量,它表示了云平台对于不同资源的价值认可度,使用权重向量来调整选择虚拟机资源的性能比参数,以此来更好的提高用户使用资源的满意度。例如,对于实时性或对时间敏感的云任务来说,希望用最小的完成时间来完成任务,因此需要计算能力强的资源,所以赋予CPU较大的权重。设第i类任务的权重向量表示为:For different cloud task requirements, user satisfaction is measured according to different QoS parameters. For this reason, the present invention designs a weight vector, which represents the value recognition degree of the cloud platform for different resources, and uses the weight vector to adjust and select the virtual machine Resource performance ratio parameters, in order to better improve user satisfaction with resources. For example, for real-time or time-sensitive cloud tasks, it is hoped to complete the task with the minimum completion time, so resources with strong computing power are needed, so the CPU is given a greater weight. Let the weight vector of the i-th task be expressed as:

ei=[ei1,ei2,ei3]   (3)ei=[ei 1 ,ei 2 ,ei 3 ] (3)

其中ei1,ei2,ei3分别对应CPU、内存、带宽的权重,且Among them, ei 1 , ei 2 , and ei 3 correspond to the weights of CPU, memory, and bandwidth respectively, and

&Sigma;&Sigma; jj == 11 33 eiei jj == 11 -- -- -- (( 44 ))

基于用户满意度的云任务调度算法的思想如下:对于一堆给定的云任务,选出系统中目前优先级最高的云任务,对其进行参数归一化,然后将此归一化后的云任务和系统中的所有虚拟机(事先所有的虚拟机已参数归一化)计算欧氏距离,计算欧氏距离时,根据云任务的类型及系统对各个参数的价值认可程度,赋予不同的性能参数不同的权重,将当前的云任务绑定到欧氏距离值最小的虚拟机上。为了均衡系统的负载同时保证所有任务的完成时间,当虚拟机被绑定一个云任务后,更新其欧式距离列表,降低下一个云任务被分配到相同虚拟机上的可能性。当前任务执行完后,计算其用户满意度和资源使用成本,所有任务执行完后,计算所有云任务的综合满意度和系统的总成本。The idea of the cloud task scheduling algorithm based on user satisfaction is as follows: For a given set of cloud tasks, select the cloud task with the highest priority in the system, normalize its parameters, and then normalize the normalized cloud task Calculate the Euclidean distance between the cloud task and all virtual machines in the system (all the virtual machines have been normalized in advance). When calculating the Euclidean distance, according to the type of cloud task and the degree of recognition of the value of each parameter by the system, different values are given. Different weights of performance parameters bind the current cloud task to the virtual machine with the smallest Euclidean distance value. In order to balance the load of the system and ensure the completion time of all tasks, when a virtual machine is bound to a cloud task, its Euclidean distance list is updated to reduce the possibility that the next cloud task will be assigned to the same virtual machine. After the current task is executed, calculate its user satisfaction and resource usage cost. After all tasks are executed, calculate the comprehensive satisfaction of all cloud tasks and the total cost of the system.

本发明需要保护的技术方案表征为:The technical solution to be protected in the present invention is characterized by:

一种基于用户满意度的云任务调度算法,其特征在于,包括如下步骤:A kind of cloud task scheduling algorithm based on user satisfaction, it is characterized in that, comprises the steps:

步骤1,资源参数归一化。Step 1, resource parameter normalization.

将任务和虚拟机的性能参数都归一化到[0,1]区间,令集合Xij={X1j,…,Xtj}j为性能参数的个数,为虚拟机的同类性能参数的集合,其归一化值为:Normalize the performance parameters of tasks and virtual machines to the [0,1] interval, let the set X ij ={X 1j ,...,X tj }j be the number of performance parameters, and be the number of similar performance parameters of virtual machines collection whose normalized value is:

GXij=(curXij-minXij)/(maxXij-minXij)   (5)GX ij =(curX ij -minX ij )/(maxX ij -minX ij ) (5)

其中,i为任务的个数,j为性能参数的个数,curXij为性能当前值,minXij为同类性能参数集合中的最小值,maxXij为同类性能参数集合中的最大值。Among them, i is the number of tasks, j is the number of performance parameters, curX ij is the current value of performance, minX ij is the minimum value in the same performance parameter set, and maxX ij is the maximum value in the same kind of performance parameter set.

步骤2,计算欧式距离。Step 2, calculate the Euclidean distance.

在经过参数归一化处理后虚拟机的参数向量为X={X1,X2,X3},云任务的参数向量为Y={Y1,Y2,Y3}。考虑CPU、内存和带宽三个性能参数,根据云任务的类型得到权重向量W={W1,W2,W3}。则欧式距离的计算公式为:After parameter normalization processing, the parameter vector of the virtual machine is X={X 1 , X 2 , X 3 }, and the parameter vector of the cloud task is Y={Y 1 , Y 2 , Y 3 }. Considering the three performance parameters of CPU, memory and bandwidth, the weight vector W={W 1 ,W 2 ,W 3 } is obtained according to the type of cloud task. The formula for calculating the Euclidean distance is:

DD. ii == &Sigma;&Sigma; jj == 11 33 WW jj ** (( Xx jj -- YY jj )) 22 -- -- -- (( 66 ))

其中Xj表示第i个虚拟机中第j个资源的归一化参数值;Yj表示任务对第j种资源的期待值;Wj表示第j种资源的权重。Where X j represents the normalized parameter value of the jth resource in the i-th virtual machine; Y j represents the expected value of the task for the j-th resource; W j represents the weight of the j-th resource.

步骤3,选择资源。Step 3, select resources.

每个任务选择与其欧式距离最小的虚拟机执行任务,采用控制空闲的虚拟机的方法进行负载平衡,每个虚拟机维护一张欧式距离表,当某个任务被成功分配到某台虚拟机执行后,需要更新欧式距离表,增加某类资源和该虚拟机之间的欧式距离,更新公式为:Each task selects the virtual machine with the smallest Euclidean distance to execute the task, and uses the method of controlling idle virtual machines for load balancing. Each virtual machine maintains a Euclidean distance table. When a task is successfully assigned to a virtual machine for execution After that, the Euclidean distance table needs to be updated to increase the Euclidean distance between a certain type of resource and the virtual machine. The update formula is:

Di′=Di(1+1/n),n为虚拟机的个数   (7)D i ′=D i (1+1/n), n is the number of virtual machines (7)

步骤4,计算用户满意度。Step 4, calculate user satisfaction.

在任务完成后,考虑每个任务的完成情况,包括任务的完成时间和各个任务的用户满意度,以及所有任务的综合满意度。单个任务的用户满意度为:After the task is completed, consider the completion of each task, including the completion time of the task and the user satisfaction of each task, as well as the overall satisfaction of all tasks. The user satisfaction of a single task is:

sthe s ii == &Sigma;&Sigma; jj == 11 33 WW jj lnln (( actact jj // expexp jj )) -- -- -- (( 88 ))

其中,si为任务i的用户满意度;Wj为第j项性能参数的权重;actj为任务对第j项性能参数的实际消耗;expj为云任务对第j项性能的用户期待值。Among them, s i is the user satisfaction of task i; W j is the weight of the jth performance parameter; act j is the actual consumption of the jth performance parameter by the task; exp j is the user expectation of the jth performance of the cloud task value.

当0≤|si|≤0.5时,则认为用户对云任务i的资源分配很满意;当0.5<|si|≤1时,则认为用户对云任务i的资源分配比较满意;当|si|>1时,则认为用户对云任务i的资源分配不满意;当|si|的值很大时,则认为用户对云任务i的资源分配非常不满意。When 0≤|s i |≤0.5, it is considered that the user is satisfied with the resource allocation of cloud task i; when 0.5<|s i |≤1, it is considered that the user is satisfied with the resource allocation of cloud task i; when | When s i | > 1, it is considered that the user is not satisfied with the resource allocation of cloud task i; when the value of |s i | is large, it is considered that the user is very dissatisfied with the resource allocation of cloud task i.

所有云任务的用户综合满意度为:The comprehensive user satisfaction of all cloud tasks is:

SS == &Sigma;&Sigma; ii == 11 tt || sthe s ii || -- -- -- (( 99 ))

其中si为第i个任务的用户满意度;t为所有云任务的个数。在云计算系统中,S的值越小,说明该系统所有用户和云计算服务提供商所提供的服务的满意度越高。Where s i is the user satisfaction of the i-th task; t is the number of all cloud tasks. In a cloud computing system, the smaller the value of S, the higher the satisfaction of all users of the system and the services provided by the cloud computing service provider.

步骤5,计算成本。Step 5, calculate the cost.

在执行完每个云任务后,计算执行任务所花费的成本。虚拟机按照单位对资源计费,任务消费的全部费用costi为:After each cloud task is executed, the cost of executing the task is calculated. Virtual machines are billed for resources by unit, and the total cost of task consumption cost i is:

coscos tt ii == CC cpucpu // numnum ** PP 11 ++ CC memmeme MBMB ** PP 22 ++ CC bwbw // MbpsMbps ** PP 33 -- -- -- (( 1010 ))

其中,Pi为资源数量,C为单位资源价格。Among them, P i is the resource quantity, and C is the unit resource price.

执行所有云任务后,系统的总成本为:After performing all cloud tasks, the total cost of the system is:

CC == &Sigma;&Sigma; ii == 11 tt coscos tt ii -- -- -- (( 1111 ))

其中costi为第i个任务的成本;t为所有云任务的个数。在云计算系统中,C的值越小,说明该系统执行所有云任务所花费的成本越小。Where cost i is the cost of the i-th task; t is the number of all cloud tasks. In a cloud computing system, the smaller the value of C, the smaller the cost of the system to perform all cloud tasks.

本发明算法从用户的角度出发,将任务分配到最合适的资源中,更好满足用户对CPU、完成时间、带宽等多方面的需求,同时有效降低用户使用资源的成本。在云计算中,对于用户关心的是付出的成本和得到的服务质量是否合理匹配,使用户的需求得到较高程度满足。与现有技术相比,本发明给出了一种有效的策略让用户获得更好的服务质量。The algorithm of the present invention allocates tasks to the most suitable resources from the user's point of view, better meets the user's requirements for CPU, completion time, bandwidth and other aspects, and at the same time effectively reduces the user's cost of using resources. In cloud computing, what users care about is whether the cost paid and the quality of service received are reasonably matched, so that the needs of users can be satisfied to a high degree. Compared with the prior art, the present invention provides an effective strategy to allow users to obtain better service quality.

附图说明Description of drawings

图1基于用户满意度的云任务调度算法流程图。Figure 1. Flow chart of cloud task scheduling algorithm based on user satisfaction.

图2基于用户满意度的云任务调度算法的仿真结果。Fig. 2 Simulation results of cloud task scheduling algorithm based on user satisfaction.

图3最优完成时间调度算法的仿真结果。Fig. 3 Simulation results of optimal completion time scheduling algorithm.

图4任务完成时间对比。Figure 4 Comparison of task completion time.

图5任务用户满意度对比。Figure 5 Comparison of task user satisfaction.

图6任务执行成本对比。Figure 6 Comparison of task execution costs.

具体实施方式Detailed ways

在云计算中,对于用户而言并不是很关心系统的性能,他们关心的是付出的成本和得到的服务质量是否合理匹配,出于使用户的需求得到较高程度满足的考虑,本发明提出一种基于用户满意度的云任务调度算法。该算法从用户的角度出发,将任务分配到最合适的资源中,更好满足用户对CPU、完成时间、带宽等多方面的需求,同时有效降低用户使用资源的成本。最后,本发明使用CloudSim平台将算法进行仿真,并将算法与目前较常用的最优完成时间调度算法进行对比,验证算法在用户满意度和资源使用成本方面的有效性。In cloud computing, users are not very concerned about the performance of the system. What they care about is whether the cost paid and the quality of service obtained are reasonably matched. In order to satisfy the needs of users to a higher degree, the present invention proposes A cloud task scheduling algorithm based on user satisfaction. From the user's point of view, the algorithm allocates tasks to the most appropriate resources to better meet the user's needs for CPU, completion time, bandwidth, etc., while effectively reducing the cost of using resources for users. Finally, the present invention uses the CloudSim platform to simulate the algorithm, and compares the algorithm with the currently more commonly used optimal completion time scheduling algorithm to verify the effectiveness of the algorithm in terms of user satisfaction and resource usage costs.

以下结合附图的算法流程图对本发明作进一步的说明。The present invention will be further described below in conjunction with the algorithm flow chart of the accompanying drawings.

图1为本发明的算法流程图。如图所示,算法主要包含虚拟机和云任务的参数归一化、欧式距离的计算、资源选择、欧式距离更新,计算任务的用户满意度,计算单个云任务的资源使用成本和所有任务执行完后系统的总成本等几个阶段。Fig. 1 is the algorithm flowchart of the present invention. As shown in the figure, the algorithm mainly includes parameter normalization of virtual machines and cloud tasks, calculation of Euclidean distance, resource selection, update of Euclidean distance, calculation of user satisfaction of tasks, calculation of resource usage cost of a single cloud task, and execution of all tasks The total cost of the system after the completion of several stages.

步骤1,资源参数归一化。为了更方便的进行欧式距离的计算,本发明将任务和虚拟机的性能参数都归一化到[0,1]区间,令集合Xij={X1j,…,Xtj}j为性能参数的个数,为虚拟机的同类性能参数的集合,其归一化值为:Step 1, resource parameter normalization. In order to calculate the Euclidean distance more conveniently, the present invention normalizes the performance parameters of tasks and virtual machines to the interval [0,1], and sets X ij ={X 1j ,...,X tj }j as performance parameters The number of is a collection of similar performance parameters of the virtual machine, and its normalized value is:

GXij=(curXij-minXij)/(maxXij-minXij)   (5)GX ij =(curX ij -minX ij )/(maxX ij -minX ij ) (5)

其中,i为任务的个数,j为性能参数的个数,curXij为性能当前值,minXij为同类性能参数集合中的最小值,maxXij为同类性能参数集合中的最大值。Among them, i is the number of tasks, j is the number of performance parameters, curX ij is the current value of performance, minX ij is the minimum value in the same performance parameter set, and maxX ij is the maximum value in the same kind of performance parameter set.

步骤2,计算欧式距离。在经过参数归一化处理后虚拟机的参数向量为X={X1,X2,X3},云任务的参数向量为Y={Y1,Y2,Y3}。本发明主要考虑CPU、内存和带宽三个性能参数,根据云任务的类型得到权重向量W={W1,W2,W3}。则欧式距离的计算公式为:Step 2, calculate the Euclidean distance. After parameter normalization processing, the parameter vector of the virtual machine is X={X 1 , X 2 , X 3 }, and the parameter vector of the cloud task is Y={Y 1 , Y 2 , Y 3 }. The present invention mainly considers three performance parameters of CPU, memory and bandwidth, and obtains a weight vector W={W 1 , W 2 , W 3 } according to the type of cloud task. The formula for calculating the Euclidean distance is:

DD. ii == &Sigma;&Sigma; jj == 11 33 WW jj ** (( Xx jj -- YY jj )) 22 -- -- -- (( 66 ))

其中Xj表示第i个虚拟机中第j个资源的归一化参数值;Yj表示任务对第j种资源的期待值;Wj表示第j种资源的权重。Where X j represents the normalized parameter value of the jth resource in the i-th virtual machine; Y j represents the expected value of the task for the j-th resource; W j represents the weight of the j-th resource.

任务与虚拟机之间的欧式距离越小,说明任务选择该虚拟机能够获得相对较好的用户满意度,同时也能够更好的满足云计算提供商对不同资源的价值认可需求。The smaller the Euclidean distance between the task and the virtual machine, it means that the task chooses the virtual machine to obtain relatively better user satisfaction, and at the same time, it can better meet the value recognition needs of cloud computing providers for different resources.

步骤3,选择资源。每个任务选择与其欧式距离最小的虚拟机执行任务,但考虑到系统的负载均衡问题,避免所有任务同时分配到一台能力很强大的虚拟机上,同时为了尽量满足任务完成时间的最优化,采用控制空闲的虚拟机的方法进行负载平衡,于是每个虚拟机维护一张欧式距离表,当某个任务被成功分配到某台虚拟机执行后,需要更新欧式距离表,增加某类资源和该虚拟机之间的欧式距离,更新公式为:Step 3, select resources. Each task selects the virtual machine with the smallest Euclidean distance to perform the task, but considering the load balancing problem of the system, it is avoided to assign all tasks to a powerful virtual machine at the same time, and in order to meet the optimization of the task completion time as much as possible, The method of controlling idle virtual machines is used for load balancing, so each virtual machine maintains a Euclidean distance table. When a task is successfully assigned to a virtual machine for execution, the Euclidean distance table needs to be updated to add certain types of resources and The Euclidean distance between the virtual machines, the update formula is:

Di′=Di(1+1/n),n为虚拟机的个数   (7)D i ′=D i (1+1/n), n is the number of virtual machines (7)

资源选择过程如下:The resource selection process is as follows:

1.Fori=1 to m1. For i=1 to m

2 Select VM by parameter of ti to VMi;(所有任务相同性能组成向量)2 Select VM by parameter of t i to VM i ; (all tasks have the same performance to form a vector)

3 For i=1 to t3 For i=1 to t

4 For j=1 to 34 For j=1 to 3

5 Compute GXij(参数归一化处理);5 Compute GX ij (parameter normalization processing);

6 For i=1 to t6 For i=1 to t

7计算任务与虚拟机的欧式距离Di7 Calculate the Euclidean distance D i between the task and the virtual machine;

8 Select min Di8 Select min D i ;

9 Bind ti to VM which has the min Di9 Bind t i to VM which has the min D i ;

10 End;10 End;

步骤4,计算用户满意度。在任务完成后,需要考虑每个任务的完成情况。包括任务的完成时间和各个任务的用户满意度,以及所有任务的综合满意度。单个任务的用户满意度为:Step 4, calculate user satisfaction. After the task is completed, the completion of each task needs to be considered. Including task completion time and user satisfaction of each task, as well as the overall satisfaction of all tasks. The user satisfaction of a single task is:

sthe s ii == &Sigma;&Sigma; jj == 11 33 WW jj lnln (( actact jj // expexp jj )) -- -- -- (( 88 ))

其中,si为任务i的用户满意度;Wj为第j项性能参数的权重;actj为任务对第j项性能参数的实际消耗;expj为云任务对第j项性能的用户期待值。Among them, s i is the user satisfaction of task i; W j is the weight of the jth performance parameter; act j is the actual consumption of the jth performance parameter by the task; exp j is the user expectation of the jth performance of the cloud task value.

当0≤|si|≤0.5时,则认为用户对云任务i的资源分配很满意;当0.5<|si|≤1时,则认为用户对云任务i的资源分配比较满意;当|si|>1时,则认为用户对云任务i的资源分配不满意;当|si|的值很大时,则认为用户对云任务i的资源分配非常不满意。When 0≤|s i |≤0.5, it is considered that the user is satisfied with the resource allocation of cloud task i; when 0.5<|s i |≤1, it is considered that the user is satisfied with the resource allocation of cloud task i; when | When s i | > 1, it is considered that the user is not satisfied with the resource allocation of cloud task i; when the value of |s i | is large, it is considered that the user is very dissatisfied with the resource allocation of cloud task i.

所有云任务的用户综合满意度为:The comprehensive user satisfaction of all cloud tasks is:

SS == &Sigma;&Sigma; ii == 11 tt || sthe s ii || -- -- -- (( 99 ))

其中si为第i个任务的用户满意度;t为所有云任务的个数。在云计算系统中,S的值越小,说明该系统所有用户和云计算服务提供商所提供的服务的满意度越高。Where s i is the user satisfaction of the i-th task; t is the number of all cloud tasks. In a cloud computing system, the smaller the value of S, the higher the satisfaction of all users of the system and the services provided by the cloud computing service provider.

步骤5,计算成本。在执行完每个云任务后,需要计算执行任务所花费的成本。虚拟机按照单位对资源计费,因此,任务消费的全部费用costi为:Step 5, calculate the cost. After each cloud task is executed, the cost of executing the task needs to be calculated. The virtual machine bills the resource according to the unit. Therefore, the total cost i of task consumption is:

coscos tt ii == CC cpucpu // numnum ** PP 11 ++ CC memmeme MBMB ** PP 22 ++ CC bwbw // MbpsMbps ** PP 33 -- -- -- (( 1010 ))

其中,Pi为资源数量,C为单位资源价格。Among them, P i is the resource quantity, and C is the unit resource price.

执行所有云任务后,系统的总成本为:After performing all cloud tasks, the total cost of the system is:

CC == &Sigma;&Sigma; ii == 11 tt coscos tt ii -- -- -- (( 1111 ))

其中costi为第i个任务的成本;t为所有云任务的个数。在云计算系统中,C的值越小,说明该系统执行所有云任务所花费的成本越小。Where cost i is the cost of the i-th task; t is the number of all cloud tasks. In a cloud computing system, the smaller the value of C, the smaller the cost of the system to perform all cloud tasks.

步骤6,算法仿真。本发明模拟的云环境由5个虚拟机节点构成,在节点上建立资源代理,并建立10个模拟用户任务。仿真中主要考察以下几个方面:所有云任务的完成时间、单个云任务的用户满意度、所有任务的综合满意度、单个任务的执行成本、系统执行所有云任务的成本,在本仿真中资源的单位价格均为1(实际使用时可自行设置)。图2为基于用户满意度的云任务调度算法的仿真结果。图3为最优完成时间调度算法的仿真结果。Step 6, algorithm simulation. The simulated cloud environment of the present invention is composed of 5 virtual machine nodes, resource agents are established on the nodes, and 10 simulated user tasks are established. The simulation mainly examines the following aspects: the completion time of all cloud tasks, the user satisfaction of a single cloud task, the overall satisfaction of all tasks, the execution cost of a single task, and the cost of executing all cloud tasks by the system. The unit price of each is 1 (you can set it yourself in actual use). Figure 2 shows the simulation results of the cloud task scheduling algorithm based on user satisfaction. Figure 3 is the simulation result of the optimal completion time scheduling algorithm.

从图4中可以看出,最优完成时间算法中,最后完成的是任务3,总完成时间为334.62ms,而基于用户满意度的云任务调度算法中,最后完成的是任务7,总完成时间为389.92ms。本发明的调度算法在完成时间上不如经典的最优时间调度算法,但也比较接近。It can be seen from Figure 4 that in the optimal completion time algorithm, task 3 is the last to be completed, and the total completion time is 334.62 ms. In the cloud task scheduling algorithm based on user satisfaction, task 7 is the last to be completed, and the total completion time is 334.62 ms. The time is 389.92ms. The scheduling algorithm of the present invention is not as good as the classic optimal time scheduling algorithm in terms of completion time, but it is also relatively close.

从图5可以看出,基于用户满意度的云任务调度算法中大部分任务的满意度以及总的用户满意度都要优于最优完成时间调度算法。这个结果体现出了本发明所设计的算法的有效性。It can be seen from Figure 5 that the satisfaction of most tasks and the total user satisfaction in the cloud task scheduling algorithm based on user satisfaction are better than the optimal completion time scheduling algorithm. This result reflects the validity of the algorithm designed by the present invention.

从图6可以看出,基于用户满意度的云任务调度算法中大部分任务的执行成本都要低于最优完成时间调度算法,基于用户满意度的云任务调度算法的系统总成本为25587单位,最优完成时间调度算法的系统总成本为30432单位。这个结果体现出了基于用户满意度的云任务调度算法在节约成本上具有优势。It can be seen from Figure 6 that the execution cost of most tasks in the cloud task scheduling algorithm based on user satisfaction is lower than that of the optimal completion time scheduling algorithm, and the total system cost of the cloud task scheduling algorithm based on user satisfaction is 25587 units , the total system cost of the optimal completion time scheduling algorithm is 30432 units. This result reflects that the cloud task scheduling algorithm based on user satisfaction has advantages in cost saving.

通过以上的仿真结果分析,相比于最优完成时间任务调度算法,基于用户满意度的云任务调度算法能够在保证良好的任务完成时间的基础上,更好的满足不同用户的需求,提高用户的满意度,同时也能有效的节约执行成本。Through the analysis of the above simulation results, compared with the optimal completion time task scheduling algorithm, the cloud task scheduling algorithm based on user satisfaction can better meet the needs of different users and improve user satisfaction while ensuring a good task completion time. Satisfaction, but also can effectively save implementation costs.

本发明的创新点Innovation of the present invention

1)从用户使用云计算资源的满意程度的角度设计云任务调度算法。1) Design a cloud task scheduling algorithm from the perspective of user satisfaction with cloud computing resources.

2)调度算法在保证任务的完成时间的条件下,通过动态的任务分配策略,能更好的满足不同需求的用户,并且能够得到良好的用户满意度和系统的整体满意度,能有效的节约系统的执行成本。2) The scheduling algorithm can better satisfy users with different needs through a dynamic task allocation strategy under the condition of ensuring the completion time of the task, and can obtain good user satisfaction and overall system satisfaction, which can effectively save System implementation costs.

Claims (1)

1., based on a cloud task scheduling algorithm for user satisfaction, it is characterized in that, comprise the steps:
Step 1, resource parameters normalization
The performance parameter of task and virtual machine is all normalized to [0,1] interval, order set X ij={ X 1j..., X tjj is the number of performance parameter, be the set of the similar performance parameter of virtual machine, its normalized value is:
GX ij=(curX ij-minX ij)/(maxX ij-minX ij) (5)
Wherein, i is the number of task, and j is the number of performance parameter, curX ijfor performance currency, minX ijfor the minimum value in similar performance parameter sets, maxX ijfor the maximum in similar performance parameter sets.
Step 2, calculates Euclidean distance
Be X={X at the parameter vector of virtual machine after parameter normalization process 1, X 2, X 3, the parameter vector of cloud task is Y={Y 1, Y 2, Y 3; Consider CPU, internal memory and bandwidth three performance parameters, obtain weight vectors W={W according to the type of cloud task 1, W 2, W 3, then the computing formula of Euclidean distance is:
D i = &Sigma; j = 1 3 W j * ( X j - Y j ) 2 - - - ( 6 )
Wherein X jrepresent the normalized parameter value of a jth resource in i-th virtual machine; Y jexpression task is to the expected value of jth kind resource; W jrepresent the weight of jth kind resource;
Step 3, selects resource
Each task choosing and the minimum virtual machines performing tasks of its Euclidean distance, the method controlling idle virtual machine is adopted to carry out load balance, each virtual machine safeguards an Euclidean distance table, after certain task is successfully assigned to certain virtual machine execution, need to upgrade Euclidean distance table, increase the Euclidean distance between certain class resource and this virtual machine, more new formula is:
D i'=D i(1+1/n), n is the number (7) of virtual machine
Step 4, calculates user satisfaction
After task completes, consider the performance of each task, comprise the deadline of task and the user satisfaction of each task, and the comprehensive satisfaction of all tasks; The user satisfaction of individual task is:
s i = &Sigma; j = 1 3 W j ln ( act j / exp j ) - - - ( 8 )
Wherein, s ifor the user satisfaction of task i; W jfor the weight of jth item performance parameter; act jfor task is to the actual consumption of jth item performance parameter; exp jfor cloud task is to user's expected value of jth item performance;
When 0≤| s i| when≤0.5, then think that the Resourse Distribute of user to cloud task i is felt quite pleased; Work as 0.5<|s i| when≤1, then think that the Resourse Distribute of user to cloud task i is satisfied; When | s i| during >1, then think that user is unsatisfied with the Resourse Distribute of cloud task i; When | s i| value very large time, then think that user is very dissatisfied to the Resourse Distribute of cloud task i;
User's comprehensive satisfaction of all cloud tasks is:
S = &Sigma; i = 1 t | s i | - - - ( 9 )
Wherein s iit is the user satisfaction of i-th task; T is the number of all cloud tasks;
Step 5, assesses the cost
After executing each cloud task, calculate spent cost of executing the task; Virtual machine according to unit to resource charging, task consumption full payment cost ifor:
cos t i = C cpu / num * P 1 + C mem MB * P 2 + C bw / Mbps * P 3 - - - ( 10 )
Wherein, P ifor resource quantity, C is unit resource price;
After performing all cloud tasks, the total cost of system is:
C = &Sigma; i = 1 t cos t i - - - ( 11 )
Wherein cost iit is the cost of i-th task; T is the number of all cloud tasks.
CN201410491004.4A 2014-09-23 2014-09-23 Cloud task scheduling algorithm based on user satisfaction Pending CN104333569A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410491004.4A CN104333569A (en) 2014-09-23 2014-09-23 Cloud task scheduling algorithm based on user satisfaction
PCT/CN2015/089512 WO2016045515A1 (en) 2014-09-23 2015-09-14 Cloud task scheduling algorithm based on user satisfaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410491004.4A CN104333569A (en) 2014-09-23 2014-09-23 Cloud task scheduling algorithm based on user satisfaction

Publications (1)

Publication Number Publication Date
CN104333569A true CN104333569A (en) 2015-02-04

Family

ID=52408218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410491004.4A Pending CN104333569A (en) 2014-09-23 2014-09-23 Cloud task scheduling algorithm based on user satisfaction

Country Status (2)

Country Link
CN (1) CN104333569A (en)
WO (1) WO2016045515A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016045515A1 (en) * 2014-09-23 2016-03-31 同济大学 Cloud task scheduling algorithm based on user satisfaction
CN108196948A (en) * 2017-12-28 2018-06-22 东华大学 A kind of mysorethorn example type combination optimum choice method based on Dynamic Programming
CN108268313A (en) * 2016-12-30 2018-07-10 杭州华为数字技术有限公司 The method and apparatus of data processing
CN110247802A (en) * 2019-06-19 2019-09-17 北京百度网讯科技有限公司 For the resource allocation method and device of cloud service stand-alone environment
CN110750355A (en) * 2019-08-26 2020-02-04 北京丁牛科技有限公司 Control system, control method and device
CN111813543A (en) * 2020-06-18 2020-10-23 浙江大华技术股份有限公司 Adaptive scheduling method, device and computer-readable storage medium
CN113157427A (en) * 2020-01-07 2021-07-23 中科寒武纪科技股份有限公司 Task migration method and device, computer equipment and readable storage medium
CN116302451A (en) * 2023-05-18 2023-06-23 广州豪特节能环保科技股份有限公司 Offline energy-saving scheduling method and system for cloud computing data center

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240813B (en) * 2018-08-21 2021-12-24 广东工业大学 Task scheduling and task migration method in mobile cloud computing
CN110308967B (en) * 2019-06-06 2023-05-30 东南大学 A Hybrid Cloud-Based Workflow Cost-Latency Optimal Task Allocation Method
CN110362952B (en) * 2019-07-24 2022-12-20 张�成 Rapid calculation task shunting method
CN112084015B (en) * 2020-08-28 2023-08-15 西藏宁算科技集团有限公司 Cloud computing-based simulation cloud platform building system and method
CN112084034B (en) * 2020-09-18 2024-05-24 杭州电子科技大学 MCT scheduling method based on edge platform layer adjustment coefficient
CN112416516A (en) * 2020-11-20 2021-02-26 中国电子科技集团公司第二十八研究所 Cloud data center resource scheduling method for resource utility improvement
CN113608848B (en) * 2021-07-28 2024-02-27 西北大学 Cloud-edge cooperative edge computing task allocation method, system and storage medium
CN115759510B (en) * 2022-11-15 2023-06-23 南京航空航天大学 A matching method of cloud manufacturing tasks and machining manufacturing services
CN116149236B (en) * 2023-04-04 2023-10-27 深圳市特区建发科技园区发展有限公司 Application operation and maintenance management intelligent monitoring system and method based on block chain
CN117714452B (en) * 2023-12-14 2024-08-20 摩尔线程智能科技(北京)有限责任公司 Traffic load balancing method, system and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365727A (en) * 2013-07-09 2013-10-23 南京大学 Host load forecasting method in cloud computing environment
CN103916438A (en) * 2013-01-06 2014-07-09 上海计算机软件技术开发中心 Cloud testing environment scheduling method and system based on load forecast

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333569A (en) * 2014-09-23 2015-02-04 同济大学 Cloud task scheduling algorithm based on user satisfaction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916438A (en) * 2013-01-06 2014-07-09 上海计算机软件技术开发中心 Cloud testing environment scheduling method and system based on load forecast
CN103365727A (en) * 2013-07-09 2013-10-23 南京大学 Host load forecasting method in cloud computing environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱健琛等: "一种类欧氏距离-负载平衡的云任务调度算法", 《计算机仿真》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016045515A1 (en) * 2014-09-23 2016-03-31 同济大学 Cloud task scheduling algorithm based on user satisfaction
CN108268313A (en) * 2016-12-30 2018-07-10 杭州华为数字技术有限公司 The method and apparatus of data processing
CN108196948A (en) * 2017-12-28 2018-06-22 东华大学 A kind of mysorethorn example type combination optimum choice method based on Dynamic Programming
CN110247802A (en) * 2019-06-19 2019-09-17 北京百度网讯科技有限公司 For the resource allocation method and device of cloud service stand-alone environment
CN110247802B (en) * 2019-06-19 2022-04-19 北京百度网讯科技有限公司 Resource configuration method and device for cloud service single-machine environment
CN110750355A (en) * 2019-08-26 2020-02-04 北京丁牛科技有限公司 Control system, control method and device
CN110750355B (en) * 2019-08-26 2022-03-25 北京丁牛科技有限公司 Control system, control method and device
CN113157427A (en) * 2020-01-07 2021-07-23 中科寒武纪科技股份有限公司 Task migration method and device, computer equipment and readable storage medium
CN113157427B (en) * 2020-01-07 2024-03-15 中科寒武纪科技股份有限公司 Method, device, computer equipment and readable storage medium for task migration
CN111813543A (en) * 2020-06-18 2020-10-23 浙江大华技术股份有限公司 Adaptive scheduling method, device and computer-readable storage medium
CN116302451A (en) * 2023-05-18 2023-06-23 广州豪特节能环保科技股份有限公司 Offline energy-saving scheduling method and system for cloud computing data center
CN116302451B (en) * 2023-05-18 2023-08-08 广州豪特节能环保科技股份有限公司 Offline energy-saving scheduling method and system for cloud computing data center

Also Published As

Publication number Publication date
WO2016045515A1 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
CN104333569A (en) Cloud task scheduling algorithm based on user satisfaction
CN102780759B (en) Based on the cloud computing resource scheduling method in regulation goal space
CN112286677B (en) An optimized deployment method for IoT applications for resource-constrained edge cloud
CN110308967B (en) A Hybrid Cloud-Based Workflow Cost-Latency Optimal Task Allocation Method
CN103218737B (en) A kind of based on multi dimensional resource pricing method in the mobile cloud computing environment of two day market
Tian et al. User preference-based hierarchical offloading for collaborative cloud-edge computing
Zhang et al. Heterogeneity aware dominant resource assistant heuristics for virtual machine consolidation
CN104536804A (en) Virtual resource dispatching system for related task requests and dispatching and distributing method for related task requests
CN108123998B (en) Heuristic request scheduling method for latency-sensitive applications in multi-cloud data centers
CN104407912A (en) Virtual machine configuration method and device
Srinivasa et al. Game theoretic resource allocation in cloud computing
Li et al. Computation offloading and service allocation in mobile edge computing
CN113132471B (en) Cloud service budget optimization scheduling method, device, equipment and storage medium
de Souza Toniolli et al. Resource allocation for multiple workflows in cloud-fog computing systems
Tseng et al. An energy efficient vm management scheme with power-law characteristic in video streaming data centers
CN117687759A (en) Task scheduling method, device, processing equipment and readable storage medium
AU2017100412A4 (en) Cloud task scheduling algorithm based on user satisfaction
Zhang et al. Deadline constrained task scheduling based on standard-PSO in a hybrid cloud
CN106802822A (en) A kind of cloud data center cognitive resources dispatching method based on moth algorithm
Rawat et al. Learning-based task scheduling using big bang big crunch for cloud computing environment
Sharma et al. Multi-faceted job scheduling optimization using Q-learning with ABC in cloud environment
Li et al. A hierarchical cloud pricing system
Chen et al. A new heuristic scheduling strategy lbmm in cloud computing
Tan et al. Edge-centric pricing mechanisms with selfish heterogeneous users
Gill et al. A computation offloading scheme for performance enhancement of smart mobile devices for mobile cloud computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150204