WO2020206705A1 - 一种基于集群节点负载状态预测的作业调度方法 - Google Patents

一种基于集群节点负载状态预测的作业调度方法 Download PDF

Info

Publication number
WO2020206705A1
WO2020206705A1 PCT/CN2019/082593 CN2019082593W WO2020206705A1 WO 2020206705 A1 WO2020206705 A1 WO 2020206705A1 CN 2019082593 W CN2019082593 W CN 2019082593W WO 2020206705 A1 WO2020206705 A1 WO 2020206705A1
Authority
WO
WIPO (PCT)
Prior art keywords
job
cluster
node
resource
lstm
Prior art date
Application number
PCT/CN2019/082593
Other languages
English (en)
French (fr)
Inventor
张金泉
倪丽娜
禹继国
韩庆亮
杨振宇
张福新
Original Assignee
山东科技大学
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 山东科技大学 filed Critical 山东科技大学
Publication of WO2020206705A1 publication Critical patent/WO2020206705A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention belongs to the field of information technology processing, and in particular relates to a job scheduling method based on cluster node load state prediction.
  • the load level of Hadoop cluster nodes is relatively low during off-peak hours. In most cases, the computing power of the cluster will far exceed the amount of resources required for input computing tasks. This results in many computing nodes that may always be at a low level. The load is running, causing energy waste.
  • the present invention proposes a job scheduling method based on the prediction of the load status of cluster nodes, which is reasonable in design, overcomes the shortcomings of the prior art, and has good effects.
  • a job scheduling method based on cluster node load state prediction including the following steps:
  • Step 1 Training cluster data based on LSTM, specifically including the following steps:
  • INPUT Data CPU and MEM, seed seed, steps, cell state vector size S state ; among them, the seed seed is set by the user according to the composition of the cluster, and the number of steps is the number of model training, which is set by the user according to experience;
  • OUTPUT output the corresponding forecast sequence
  • Step 1.1 Perform data preprocessing
  • F c ⁇ f 1 , f 2 ,..., f n ⁇ is the CPU data of the original cluster node
  • F m ⁇ f 1 , f 2 ,..., f m ⁇ is the memory data
  • Step 1.3 Set the segmentation window to L. Through the segmentation window L, the segmented model input X and theoretical output Y are obtained; the segmented model input is recorded as:
  • Step 1.4 Establish an LSTM cell through S state ;
  • Step 1.5 Connect L LSTM cells in sequence to obtain a multilayer LSTM network LSTM net ;
  • Step 1.6 Initialize LSTM net through the seed seed
  • Step 1.7 Train LSTM net ; specifically include the following steps:
  • Step 1.7.2 Update LSTM net through the loss value
  • Step 1.7.3 Repeat steps 1.7.1 and 1.7.2steps times;
  • Step 1.8 Get the trained LSTM model
  • Step 2 Resource allocation process; specifically includes the following steps:
  • INPUT Prediction list of the first stage prediction results; User job set information Job info ;
  • Step 2.1 According to the prediction model, obtain the prediction result list Prediction list of the cluster node in the future period T;
  • Step 2.2 According to the threshold, the nodes are divided into sleeping queue SleepQueue and active queue AliveQueue;
  • Step 2.3 Continue to execute the node tasks in the sleep queue SleepQueue, no longer allocate the resources in its resource container Container to the job within this time period, and count the list of node resources in AliveQueue;
  • Step 2.4 Query Job info of the job set.
  • the job set is represented by the vector Job ⁇ time,resource,tag,runtime>, where time, resource, tag, runtime respectively represent the job request time, requested resource amount, job category and estimate time;
  • Step 2.5 Based on FIFO (First In First Out), select the job to pre-allocate resources; when selecting a job, first match the characteristics of the job and the node, and calculate the difference between the job type and the node match according to formula (1) , And get the job pre-allocation list through this value;
  • FIFO First In First Out
  • CPU job is the job CPU utilization rate
  • MEM job is the job memory utilization rate
  • CPU node is the historical average utilization rate of the CPU of the node
  • MEM node is the average utilization rate of the node memory
  • Step 2.6 Calculate the task allocation queue with the smallest energy consumption value
  • Step 2.7 Determine the job resource demand Job request and the cluster resource Hadoop resource . If the job resource demand Job request ⁇ the cluster resource Hadoop resource , go to step 2.3; if the job resource demand Job request ⁇ the cluster resource Hadoop resource , Activate the nodes in SleepQueue and recheck the amount of cluster resources until the preset conditions are met;
  • Step 2.8 Continue to predict the host state of the next period T, and update the prediction model
  • Step 2.9 Determine whether the job set is empty, that is, whether the job set Job_wait is equal to
  • the present invention divides the nodes of the cluster into a queue of active nodes and a queue of dormant nodes according to the load state of the prediction algorithm, and then dynamically activates dormancy according to the amount of resources required for computing Node in order to achieve the purpose of dynamically adjusting the cluster size; then it describes the algorithm flow, algorithm steps, and algorithm pseudo-code implementation, and then analyzes the energy saving effect of the algorithm; and introduces the process of experimental verification, including experiments The design of the data set, the selection of the data set, and the final quantitative analysis of the experimental results prove that the method of this application has practical energy-saving effects.
  • the present invention predicts the resource usage of the node and the task processing characteristics of the node through the historical data of the training cluster, and then selects the job matching its characteristics in the job queue to be processed for processing. To meet the time processing requirements of the job, do sleep operations on eligible hosts to reduce the number of active nodes in the cluster, thereby reducing the energy consumption of the cluster.
  • the invention effectively improves the resource utilization rate of cluster active nodes, while sleeping some hosts, the total energy consumption of the cluster is also significantly reduced, realizes the high efficiency and energy saving of the cluster and the improvement of cluster access performance, and is of great significance to the construction of a green and energy-saving data center .
  • Fig. 1 is a flow chart of the method for predicting and scheduling based on cluster node status according to the present invention.
  • Figure 2 is a graph of CPU utilization when the predicted data length in point_by_point_predictions is 5.
  • Figure 3 is a graph of CPU utilization when the predicted data length in full_predictions is 5.
  • Figure 4 is a graph of CPU utilization when the predicted data length in point_by_point_predictions is 8.
  • Figure 5 is a graph of CPU utilization when the predicted data length in full_predictions is 8.
  • Figure 6 is a schematic diagram of the experimental statistical results of CPU usage under different algorithms.
  • Figure 7 is a schematic diagram of experimental statistical results of memory usage under different algorithms.
  • Figure 8 is a schematic diagram of the total energy consumption values obtained under different algorithms.
  • the load of a certain node i in the Hadoop cluster is expressed as CPU load
  • the value range of the above parameters is [0,1], and the load of node i can be expressed as:
  • the average load at time t is the average load of the Hadoop cluster.
  • the calculation formula is:
  • the value of ⁇ should be adjusted according to the specific task type.
  • Calculation-intensive jobs can adjust the value of ⁇ c upwards, and I/O-intensive jobs can adjust the value of ⁇ o upwards.
  • CPU and memory are calculated as separate components, and disk reads are classified To other components.
  • the nodes that do not meet the threshold are put to sleep.
  • the number of nodes participating in the operation will decrease, and the load on the nodes will increase.
  • a part of the dormant nodes are activated to increase the computing power of the cluster. This method achieves the purpose of dynamically adjusting the scale of the nodes participating in the calculation according to the actual computing needs. Therefore, According to the needs of the task volume, it is meaningful to reduce the total energy consumption value of the cluster by sleeping some nodes.
  • the tasks processed by host A are closely related to memory, and the tasks processed by host B are CPU-intensive.
  • Job set JOB ⁇ job 1 , job 2 , job 3 , job 4 ⁇
  • job 1 and job 3 are CPU-intensive jobs
  • job 2 and job 4 are jobs that require more memory. It is a reasonable choice to first assign job 1 to host A for execution, and assign job 2 to host B for execution, so as to better balance the task processing capabilities of the nodes.
  • job 1 when A is executing job 1 , the CPU utilization of the node increases to 30%, and then job 3 is assigned to host A for execution. If host A is executing job 1 , the CPU utilization of its node increases to more than 50%. Not meeting the characteristics of continuing to execute CPU-intensive jobs, job 3 is assigned to host B for execution.
  • this application mainly considers the following aspects when considering task energy-saving scheduling:
  • YARN Yet Another Resource Negotiator, another resource coordinator scheduling model is divided into two layers. This application modifies the resource scheduler of the first layer, that is, updates the resource allocation strategy in the ResourceManager. In the second layer, ApplicationMaster allocates resources. At the same time, the number of divisions of processed files determines the number of application tasks. It is difficult to predict tasks with this granularity, and this application does not modify the strategy in the second layer.
  • Task processing characteristics that is, if a node's CPU utilization is low and memory utilization is high, the node is suitable for processing CPU-intensive tasks; if a node has high CPU utilization and low memory utilization, the node is suitable for processing memory Tasks with high occupancy rate.
  • this application is calculated by calculating the average value of the historical data of the Container. The advantage of assigning tasks in this way is that it can prevent a certain resource from being overloaded and reduce the quality of service, and it can better meet service requirements. At the same time, it can achieve load balancing of tasks on active nodes to a certain extent.
  • the purpose of scheduling is to select job scheduling with the goal of optimal energy consumption on the basis of meeting job processing requirements, while sleeping some nodes to reduce energy consumption, but also to meet the requirements of job completion time .
  • this application proposes an energy-saving scheduling algorithm of HES-Scheduler (Hadoop Energy-Saving Scheduler), which keeps the load of active nodes in the cluster within a preset interval while maintaining a queue of dormant nodes.
  • HES-Scheduler Hadoop Energy-Saving Scheduler
  • the nodes in the dormant queue are activated to increase the computing power of the cluster, thereby reducing the energy consumption of the cluster.
  • the algorithm is divided into two stages:
  • the prediction result of the host resource utilization status is obtained, and the prediction of node load is calculated according to formula (2), and the hosts in the cluster are classified into different queues according to different predicted load values.
  • the training loss function is designed based on the mean square error, which can be expressed as:
  • the main steps of the algorithm are to first process the data set, divide it into a training set and a test set proportionally, and then obtain the input and theoretical output of the model through the split window, use the S state to establish an LSTM cell , and initialize the LSTM network LSTM net through LSTM cell and L. Get the trained LSTM network through forward calculation
  • Algorithm 1 See Algorithm 1:
  • the energy consumption measurement module calculates the energy consumption value from t 1 to t 2 according to formula (5).
  • NodeManager sends information to ResourceManager in a period of 1 second
  • Zabbix's Agent probe sets a monitoring granularity of 5 seconds in this application, that is, when calculating energy consumption, resource data will be every 5 seconds Update once.
  • the total energy consumption value of the cluster from t 0 to t 1 is calculated by integrating the node power P(u(t)), as shown in formula (5):
  • Job CPU utilization rate is recorded as CPU job
  • memory utilization rate is recorded as MEM job
  • the historical average utilization rate of the CPU of the node is recorded as CPU node
  • the average utilization rate of node memory is recorded as MEM node .
  • the nodes of the cluster are divided into active nodes and dormant nodes according to the preset load threshold, and then query the resource request amount of the job set and job resource demand type and other information, based on the FIFO strategy, first calculate the job And the difference value of the node, the smaller the value, the better the matching degree; then according to the energy consumption calculation result of the energy consumption measurement module, select the node with the least estimated energy consumption to pre-allocate resources for the job, and update the job demand and cluster node resources If the job demand is not met, the nodes in the dormant queue are activated to increase the amount of resources in the cluster.
  • Algorithm 2 The specific algorithm description is shown in Algorithm 2:
  • This application proposes to maintain two host queues of the cluster: the active node queue AliveQueue and the sleeping node queue SleepQueue.
  • the time consumption of the algorithm is mainly to calculate the difference value of the node and the pre-allocation process of selecting the node with the lowest energy consumption for the job. Without considering the model training process of the first stage, the algorithm's time consumption The time complexity is O(nlogn).
  • the method of the present application does not increase the load of a certain node to a very high state, because according to research and data, when the load of the node is too high, the quality of service will decrease or even increase the probability that the node cannot work.
  • the method of this application balances the computing capabilities of the active nodes of the cluster, selects jobs suitable for its nodes according to the historical task processing characteristics of the host, and obtains the following formula according to the energy consumption calculation formula:
  • the energy consumption of a node in the time period t 0 to t 1 , P i needs to be calculated according to the actual environment, and further can be obtained:
  • the key factor affecting the energy consumption of the cluster is to reduce the number of nodes participating in the calculation within the time period while ensuring the completion time of the computing task, thereby effectively reducing the energy consumption. This is the significance of the proposed scheduling method based on the cluster node state prediction in this application .
  • the test environment is selected in a telecom operator's computer room, which consists of 13 nodes.
  • the configuration information of the nodes is shown in the following table:
  • the data is preprocessed.
  • Different data formats have different specific methods.
  • sequence_length the last value will be the output value of the model, and all the previous values will be the model Input historical data. You can choose whether to normalize, and get the normalized sequence data.
  • Model construction This part is mainly to implement the package implementation in the Keras architecture. At the same time, the parameters of each part are set, and the parameters can be adjusted continuously.
  • Model training This part is also encapsulated based on the Keras architecture, and batch_size and epoch need to be set. These two parameters can be used to obtain better values through repeated experiments. The setting of these two parameters is very important for the global convergence of the model.
  • multiple_predictions divides the original data into several different intervals. In each data interval, the actual data is first used for prediction, and then the predicted data is continuously classified into the known data as historical data, so as to continue to predict the next data .
  • full_predictions forwards multiple time-granularity predictions on the existing actual data. Due to the long forecast time, the actual data in the most recent time period is not used well, resulting in relatively stable forecast data, so this method cannot well reflect the trend of data changes.
  • point_by_point_predictions is the most conservative way. In this way, on the existing actual data, only one time granularity is predicted forward. Since there will not be very huge fluctuations in the actual production environment, this method will not produce large errors. However, the forecasting time is very limited and the data requirements are relatively high.
  • the first stage of the experiment needs to choose the appropriate sequence_length.
  • sequence_length 4
  • Figures 2 to 5 show the prediction results of sequence_length of 5 and 8 in point_by_point_predictions and full_predictions respectively.
  • the results show the data of the Slave1 node.
  • the CPU utilization data set of the host is used to predict the node's CPU utilization.
  • Hadoop cluster nodes are divided into active node AliveQueue and sleeping node SleepQueue. Initialize the queue at the beginning of the algorithm: SleepQueue is empty, and all cluster nodes are in AliveQueue. That is, all nodes in the cluster in the initial state are active nodes by default, and there are no sleeping nodes.
  • the algorithms used in the resource scheduling module of the Hadoop cluster in this application include Hadoop's default scheduling algorithm FIFO, Capacity Scheduler and Fair Scheduler. In the way of controlling variables, that is, in the same cluster environment (the cluster in this experiment), enter the same workload. Comparing the performance of its algorithms, the experimental results of this method are convincing.
  • This application records the data of key indicators of the Hadoop cluster, the results of CPU usage, memory usage, and job completion time. The following are the CPU utilization and memory utilization of the AliveQueue node:
  • the energy consumption calculation model establishes the relationship between key indicators of Hadoop cluster node resources and energy consumption.
  • the node power can be calculated by formula (8):
  • C 0 is a constant, representing other basic power that has nothing to do with CPU utilization and memory utilization
  • C ⁇ is the influence coefficient of CPU utilization on energy consumption
  • C ⁇ is the influence coefficient of memory utilization on energy consumption.
  • C 0 and C ⁇ are linear regression coefficient values obtained through a large number of model training, and the coefficient values obtained by different servers are different.
  • This application calculates the power of a node at t 0 , t 1 according to formula (9):
  • the energy consumption of node i during this time is:
  • the FIFO scheduling algorithm of the Hadoop cluster has the longest job completion time and the largest energy consumption value. Because during the entire scheduling period, except for the currently processed job, other jobs are in a waiting state, and unallocated Container resources are also in a waiting state, which reduces the efficiency of task execution. So the execution time is the longest, which is related to the drawbacks of the algorithm itself.
  • Fair scheduling algorithm is a fair resource scheduling method, but this strategy only pays attention to the fair sharing of memory, and the indicator data is too small, because the CPU resources also have a large weight, which affects the resource allocation and resource utilization of the cluster. It has not been well optimized and improved.
  • the Capacity algorithm maintains multiple job queues and improves parallelism. However, when the amount of jobs increases, resources cannot be allocated reasonably, and resource competition may occur, resulting in a decrease in job processing efficiency.
  • This application proposes an algorithm for predicting job scheduling based on the load status of cluster nodes.
  • the design idea of the algorithm is introduced.
  • the nodes of the cluster are classified as active according to the load status of the prediction algorithm
  • the queue of the node and the queue of the sleeping node; then the sleeping node is dynamically activated according to the amount of resources required by the calculation to achieve the purpose of dynamically adjusting the cluster size; then the algorithm flow, algorithm steps, and pseudo code implementation of the algorithm are described, and then
  • the energy-saving effect of the algorithm is analyzed; and the experimental verification process is introduced, including the design of the experiment and the selection of the data set.
  • the experimental results are quantitatively analyzed, which proves that the algorithm of this application has practical energy-saving effects.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于集群节点负载状态预测的作业调度方法,属于信息技术处理领域,本发明提出了基于集群节点负载状态预测作业调度算法,首先介绍了算法的设计思想,将集群的节点根据预测算法的负载状态分为活跃节点的队列和休眠节点的队列;然后根据计算需求的资源量动态地激活休眠节点,以达到动态调整集群规模的目的;接着描述了算法的流程,算法的步骤,以及算法的伪代码实现,然后对该算法的节能效果做了分析;并且介绍了实验验证的过程,包括实验的设计,数据集的选用,最后对实验结果进行了量化分析,证明了本申请的方法具有实际意义的节能效果。

Description

一种基于集群节点负载状态预测的作业调度方法 技术领域
本发明属于信息技术处理领域,具体涉及一种基于集群节点负载状态预测的作业调度方法。
背景技术
Hadoop集群节点的负载水平在非峰值时间比较低,在大多数的情况下,集群的计算能力会远远超过输入计算任务所需要的资源量,这就导致了许多计算节点可能始终以一个较低的负载在运行,造成了能源浪费。
发明内容
针对现有技术中存在的上述技术问题,本发明提出了一种基于集群节点负载状态预测的作业调度方法,设计合理,克服了现有技术的不足,具有良好的效果。
为了实现上述目的,本发明采用如下技术方案:
一种基于集群节点负载状态预测的作业调度方法,包括如下步骤:
步骤1:基于LSTM训练集群数据,具体包括如下步骤:
INPUT:数据CPU和MEM、种子seed、步数steps、cell状态向量大小S state;其中,种子seed由用户根据集群的构成进行设置,步数steps是模型训练次数,由用户根据经验任意设置;
OUTPUT:输出对应的预测序列;
步骤1.1:进行数据的预处理;
根据预设比例分割F c和F m,得到训练集F train和测试集F test
其中,F c={f 1,f 2,...,f n}为原始集群节点的CPU数据,F m={f 1,f 2,...,f m}为内存数据;
步骤1.2:标准化训练集F train,得到F′ train={f′ 1,f′ 2,...,f′ m};
步骤1.3:将分割窗口设置为L,通过分割窗口L,得到分割后的模型输入X和理论输出Y;分割后的模型输入记为:
X={X 1,X 2,...,X p,...X L},其中,X p={f′ p,f′ p+1,…,f′ m-L+p-1}(p=1,2,…,L);
理论输出记为:Y={Y 1,Y 2,...,Y p,...,Y L},其中,Y p={f′ p+1,f′ p+2,...,f′ m-L+p};
步骤1.4:通过S state,建立LSTM cell
X经过输入隐藏层后,因为隐藏层包含了L个不间断时间LSTM cell,则输出记为:P={P 1,P 2,...,P p,...,P L},其中P p=LSTM forward(X p,C p-1,H p-1)(p=1,2,…,L),C p-1表示前一个cell的状态,H p-1表示前一个cell的输出,则C p-1,H p-1向量的大小为S state
步骤1.5:将L个LSTM cell依次连接,得到多层LSTM网络LSTM net
步骤1.6:通过种子seed,初始化LSTM net
步骤1.7:训练LSTM net;具体包括如下步骤:
步骤1.7.1:根据P p=LSTM forward(X p,C p-1,H p-1)(p=1,2,…,L)计算每层输出P p,然后计算损失函数loss;
Figure PCTCN2019082593-appb-000001
步骤1.7.2:通过loss值,更新LSTM net
步骤1.7.3:重复执行步骤1.7.1和1.7.2steps次;
步骤1.8:得到训练好的LSTM模型
Figure PCTCN2019082593-appb-000002
步骤2:资源分配过程;具体包括如下步骤:
INPUT:第一阶段的预测结果列表Prediction list;用户作业集信息Job info
OUTPUT:休眠队列SleepQueue;
步骤2.1:根据预测模型,得到集群节点未来周期T内的预测结果列表Prediction list
步骤2.2:根据阈值,将节点划分到休眠队列SleepQueue和活跃队列AliveQueue中;
步骤2.3:继续执行休眠队列SleepQueue中的节点任务,在该时间段内不再将其资源容器Container中的资源分配给作业,统计AliveQueue中的节点资源列表;
步骤2.4:查询作业集的信息Job info,作业集用向量Job<time,resource,tag,runtime>表示,其中time,resource,tag,runtime分别表示作业请求时间、请求资源量、作业类别和预估时间;
步骤2.5:基于FIFO(First In First Out,先进先出),选择作业预分配资源;选择作业时,首先匹配作业和节点的特征,根据公式(1),计算作业类型和节点的匹配差异程度difference的大小,并通过该值得到作业预分配列表;
Figure PCTCN2019082593-appb-000003
其中,CPU job为作业CPU利用率,MEM job为作业内存利用率,CPU node为节点的CPU历史平均利用率,MEM node为节点内存平均利用率;
步骤2.6:计算得到能耗值最小的任务分配队列;
步骤2.7:判断作业资源需求量Job request和集群资源量Hadoop resource,如果作业资源需求量Job request<集群资源量Hadoop resource,则执行步骤2.3;如果作业资源需求量Job request≥集群资源量Hadoop resource,则激活SleepQueue中的节点,重新检查集群资源量,直到满足预设条件;
步骤2.8:继续预测下一周期T的主机状态,更新预测模型;
步骤2.9:判断作业集是否为空,即作业集Job_wait是否等于
Figure PCTCN2019082593-appb-000004
若:判断结果是
Figure PCTCN2019082593-appb-000005
则结束节能调度过程;
或判断结果是
Figure PCTCN2019082593-appb-000006
则执行步骤2.3。
本发明所带来的有益技术效果:
本发明针对目前集群的计算能力会远超于计算需求的情况,将集群的节点根据预测算法的负载状态分为活跃节点的队列和休眠节点的队列,然后根据计算需求的资源量动态地激活休眠节点,以达到动态调整集群规模的目的;接着描述了算法的流程,算法的步骤,以及算法的伪代码实现,然后对该算法的节能效果做了分析;并且介绍了实验验证的过程,包括实验的设计,数据集的选用,最后对实验结果进行了量化分析,证明了本申请的方法具有实际意义的节能效果。
本发明通过训练集群的历史数据,预测其节点的资源使用情况及节点的任务处理特征,然后在待处理的作业队列中选择符合其特征的作业进行处理。在满足作业的时间处理要求上,对符合条件的主机进行休眠操作以降低集群的活跃节点数目,从而降低集群的能耗值。
本发明有效提高了集群活跃节点的资源利用率,同时休眠了部分主机,集群能耗总量也显著降低,实现了集群高效节能与集群访问性能的提升,对于建设绿色节能的数据中心具有重要意义。
附图说明
图1为本发明基于集群节点状态预测调度方法的流程图。
图2为point_by_point_predictions中预测数据长度为5时CPU利用率图。
图3为full_predictions中预测数据长度为5时CPU利用率图。
图4为point_by_point_predictions中预测数据长度为8时CPU利用率图。
图5为full_predictions中预测数据长度为8时CPU利用率图。
图6为不同算法下CPU使用率实验统计结果示意图。
图7为不同算法下内存使用率实验统计结果示意图。
图8为不同算法下得到的能耗值总量示意图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
1、负载分析和节点任务处理特征
为了完成任务的节能调度,需要感知计算节点的资源消耗情况,同时在获得待处理任务的资源消耗特点的前提下,改进资源分配策略。
1.1、节点负载分析
衡量不同类型的处理任务的负载影响,用参数θ表示。用θ c表示CPU分量的影响,用θ m表示内存分量的影响,用θ o表示系统其他分量的影响。
(1)单个节点负载
假设Hadoop集群中某个节点i的负载表示为
Figure PCTCN2019082593-appb-000007
CPU的负载用
Figure PCTCN2019082593-appb-000008
表示,内存的负载用
Figure PCTCN2019082593-appb-000009
表示,磁盘读取和网络流量等其他的系统负载用
Figure PCTCN2019082593-appb-000010
表示。以上参数的取值范围[0,1],节点i的负载量可表示为:
Figure PCTCN2019082593-appb-000011
(2)集群平均负载
一个具有n个节点的集群,在t时刻的平均负载即为Hadoop集群的平均负载,计算公式为:
Figure PCTCN2019082593-appb-000012
其中,θ的取值应该根据具体的任务类型做相应的调整。计算密集型的作业可以将θ c的取值向上调整,I/O密集型的作业可以将θ o取值向上调整,在计算时将CPU和内存作为单独的分量计算,磁盘读取被归类到其它分量。
根据以上负载分析可知,在任务计算量不改变的情况下,减少n的个数,会在一定程度上提高集群的平均负载。集群的整体负载较低的情况下,如果不考虑Hadoop集群为了任务分配的平衡而耗费的资源外,集群所有节点在负载不高的情况下同时运行,会造成能源浪费。
假设将集群一部分节点的负载率维持在预设阈值以上,将不满足该阈值的节点休眠,在 集群计算任务需求量稳定的情况下,参与运行的节点数量将会变少,而在节点负载增加的情况下,为了达到更好的服务质量,激活一部分已经休眠的节点以增加集群的计算能力,这种方式就达到了根据实际的计算需要,动态地调整集群参与计算的节点规模的目的,因此根据任务量的需要,将一部分节点进行休眠操作对降低集群的能耗值总量是有意义的。
1.2、节点的任务执行特点分析
首先考虑以下情况:主机A的CPU历史平均利用率25%,内存利用率40%;主机B的CPU历史平均利用率40%,内存利用率25%。主机A和主机B的资源利用率的高低是没有明确的比较标准的,即不能直接比较主机A和主机B资源利用率的好坏,但是可以得到主机的任务处理特征:
主机A处理的任务和内存关系紧密,主机B处理的任务是CPU密集型的。
作业集JOB={job 1,job 2,job 3,job 4},作业的调度按照作业集中的顺序进行处理。假设job 1和job 3是CPU密集型作业,job 2和job 4是内存需要较多的作业。先将job 1分配到A主机上执行,将job 2分配到B主机上执行是合理的选择,以此更好地平衡节点的任务处理能力。假设A在执行job 1时候,节点的CPU利用率增长到30%,然后将job 3分配到主机A上执行,如果主机A在执行job 1时,其节点的CPU利用率增加到50%以上,不满足继续执行CPU密集型作业的特征,将作业job 3分配到主机B上执行。
经过以上分析,本申请在考虑任务节能调度的时候,主要考虑以下几个方面:
(1)YARN(Yet Another Resource Negotiator,另一种资源协调者)调度模型分为两层,本申请针对第一层的资源调度器进行修改,即在ResourceManager中更新资源分配策略。而第二层是ApplicationMaster进行分配资源,同时,被处理文件的划分数目决定了应用程序任务的数量。对该粒度的任务预测比较困难,本申请未在第二层进行策略修改。
(2)根据集群节点的未来的一段时间状态,即通过模型预测未来周期的集群节点资源使用率,对负载预测较低的节点不再分配新的计算任务,符合休眠阈值后进行休眠操作,进而降低集群参与计算的节点数量,达到降低能耗的目的。同时根据集群节点的任务处理特征分配Container的思想,也可以在一定程度上平衡集群资源的利用。
(3)任务处理特征,即如果某节点的CPU利用率低,内存利用率高,该节点适合处理CPU密集型的任务;如果某节点CPU利用率高,内存利用率低,该节点适合处理内存占用率高的任务。为了简化节点的特征的计算过程,本申请是通过计算Container历史数据的平均值计算得出的。如此分配任务的优点是可以防止某种资源过载导致服务质量下降,可以更好的 满足服务需求,同时在一定程度上做到了任务在活跃节点上的负载均衡。
(4)调度的目的是要在满足作业处理需求的基础上,以能耗最优的目标选择作业调度,同时休眠一部分节点以达到降低能耗的目的,但是同时也要满足作业完成时间的要求。
2、节能算法描述
根据以上分析,本申请提出HES-Scheduler(Hadoop Energy-Saving Scheduler)的节能调度算法,该算法保持集群活跃节点的负载在预设区间内,同时维护一个休眠节点的队列,当集群的计算资源不足进而导致服务质量下降时,激活休眠队列的节点以增加集群的计算能力,以此减少集群的能耗。算法分为两个阶段:
(1)第一阶段:训练预测模型:
基于LSTM训练历史数据,得到主机资源利用率状态预测结果,从而根据公式(2)计算节点负载的预测情况,根据不同的预测负载值,将集群中的主机分类到不同队列中。
定义1原始集群节点的CPU数据记为:F c={f 1,f 2,...,f n},内存数据记为:F m={f 1,f 2,...,f m},划分的训练集和测试集表示为F train和F test。标准化后的数据集记为F′ train={f′ 1,f′ 2,...,f′ m}。
定义2分割窗口设置为L,则分割后的模型输入记为:
X={X 1,X 2,...,X p,...X L},其中,X p={f′ p,f′ p+1,…,f′ m-L+p-1}(p=1,2,…,L);
理论输出记为:Y={Y 1,Y 2,...,Y p,...,Y L},其中,Y p={f′ p+1,f′ p+2,...,f′ m-L+p};
定义3 X经过输入隐藏层后,因为隐藏层包含了L个不间断时间LSTM cell,则输出记为:P={P 1,P 1,...,P},P p=LSTM forward(X p,C p-1,H p-1)。C p-1表示前一个cell的状态,H p-1表示前一个cell的输出,C p-1,H p-1向量的大小为S state
定义4基于均方误差设计训练损失函数,可以表示为:
Figure PCTCN2019082593-appb-000013
算法主要步骤是先处理数据集,按比例划分为训练集和测试集,然后通过分割窗口得到模型的输入和理论输出,利用S state建立LSTM cell,并且通过LSTM cell和L初始化LSTM网络LSTM net。通过前向计算得到训练好的LSTM网络
Figure PCTCN2019082593-appb-000014
具体的描述见算法1:
Figure PCTCN2019082593-appb-000015
Figure PCTCN2019082593-appb-000016
(2)第二阶段,资源分配过程:
根据用户提交的作业状态和第一阶段中的预测结果,以能耗最优的目标进行作业调度。能耗度量模块根据公式(5)计算t 1到t 2时间段的能耗值。默认情况下NodeManager向ResourceManager以1秒为周期发送信息,而Zabbix的Agent探针,在本申请中设置5秒的监控粒度,也就是说,在进行能耗计算时,资源的数据会每5秒更新一次。
集群在t 0到t 1期间的总能耗值,用E表示,通过对节点的功率P(u(t))进行积分计算,如公式(5)所示:
Figure PCTCN2019082593-appb-000017
定义5作业CPU利用率记为CPU job,内存利用率记为MEM job,节点的CPU历史平均利用率记为CPU node,节点内存平均利用率记为MEM node,作业类型和节点的匹配差异程度difference,如公式(1)所示:
Figure PCTCN2019082593-appb-000018
通过算法1得到的预测结果列表,根据预设的负载阈值将集群的节点划分为活跃节点和 休眠节点,然后查询作业集的资源请求量和作业资源需求类型等信息,基于FIFO策略,先计算作业和节点的difference值,该值越小匹配度越好;然后根据能耗度量模块的能耗计算结果,选择预估能耗最小的节点为作业预分配资源,更新作业需求量和集群节点资源的关系,如果不满足作业需求量,则激活休眠队列中的节点以增加集群的资源量。具体的算法描述见算法2:
Figure PCTCN2019082593-appb-000019
(3)算法的流程如图1所示;
(4)核心伪代码实现见算法3:
Figure PCTCN2019082593-appb-000020
Figure PCTCN2019082593-appb-000021
3、节能效果分析
本申请提出维护集群的两个主机队列:活跃节点队列AliveQueue和休眠节点队列SleepQueue。首先分析算法的时间复杂度,算法的时间消耗主要是计算节点的difference值和为作业选择能耗最低节点的预分配资源过程,在不考虑第一阶段的模型训练过程的情况下,该算法的时间复杂度为O(nlogn)。
然后考虑两种极端的作业量输入情况:
(1)随着集群输入的作业量不断减少,集群的总体负载不断降低,如果集群同时运行这么多的主机,就会有很大的能源浪费。通过该节能算法,LSTM训练的预测模型会有更多节点的资源利用率处于阈值以下,满足该条件的主机就不会再分配新的计算任务,加入到SleepQueue里。
(2)假如Hadoop集群的计算能力要求提高,输入的计算任务的规模和数量不断增加,算法在检测到集群的资源不足以满足计算需求的资源量时,激活SleepQueue休眠的主机以增加集群的计算能力,并将其放到AliveQueue队列中增加集群总的资源量。
但是本申请的方法并不会将某个节点的负载增加到很高的状态,因为据研究和数据表明,在节点负载过高的情况下,会产生服务质量下降甚至增加节点不能工作的概率。本申请方法平衡集群活跃节点的计算能力,根据主机的历史任务处理特征选择适合其节点的作业,根据能耗计算公式得到以下公式:
E i=P i*(t 1-t 0)=P iT i     (6);
某节点在时间段t 0到t 1的能耗,P i需要根据实际的环境计算,进一步可得:
Figure PCTCN2019082593-appb-000022
影响集群能耗的关键因素是在保证计算任务完成时间的情况下,减少时间段内参与计算的节点数量,进而有效地降低能耗,这是本申请提出基于集群节点状态预测调度方法的意义所在。
4、实验结果和分析
为了检验算法的可行性和合理性,设计了本组实验:采用内存密集型作业WordCount,Sort和CPU密集型作业Pi,TeraGen两种类型的工作负载。为不同的工作负载设置不同的资源请求量和任务处理标签,标签即为CPU密集型和内存密集型,同时包含待处理任务对不同类型资源需求的预估值。
4.1实验环境和数据集
首先要搭建Hadoop集群,在集群安装Hadoop2.4.1,并在每个节点安装Zabbix探针,该探针的作用是实时收集集群的指标数据。为了获得较为精确的训练结果,将探针的数据收集粒度设置为5s,即每隔5s的时间将数据集群节点的指标数据存储在SERVER端的数据库。Hadoop的搭建和配置过程,Zabbix的探针收集数据的方式以及数据传输的安全性保证不是本申请的研究重点。
测试环境选在电信运营商某机房,由13个节点组成的集群,节点的配置信息见下表:
表1节点配置表
Tab.1 Node configuration
Figure PCTCN2019082593-appb-000023
在Hadoop集群的主机上抓取了CPU使用率和内存使用率两类数据,每一类数据时间粒度为5s,总计16428条记录。
(1)CPU训练数据原始记录:
表2 CPU原始训练数据记录示例
Tab.2 CPU Original training data record example
Figure PCTCN2019082593-appb-000024
(2)内存训练数据示例:
表3内存原始训练数据记录示例
Tab.3 Memory original training data record example
Figure PCTCN2019082593-appb-000025
4.2实验过程
(1)LSTM训练集群数据
1.首先进行数据的预处理,不同数据格式具体方式不同,对于Hadoop集群的.csv文件,以CPU数据为例,截取数据的有效数值部分,去除特殊标记并数值化。
2.将数据转化为预测序列:按照实验前设定的序列长度(sequence_length),相邻的sequence_length个数值构成一个序列,在此最后一个值将作为模型的输出值,而之前的所有值作为模型输入的历史数据。可以选择是否要进行归一化,得到归一化之后的序列数据。
3.进行数据的混洗:选择数据集中90%的数据作为训练数据,10%作为验证数据。将训练数据进行混洗。之后通过切片操作,确定训练集和验证集的输入、输出数据。
4.模型的构建:这一部分主要是应用Keras架构中的封装实现。同时将各个部分的参数设定好,各项参数后续可以不断调整。
5.模型训练:这一部分也是基于Keras架构的封装,需要设置好batch_size和epoch,这两个参数可通过重复实验获得较佳的值。这两个参数的设置对模型的全局收敛非常重要。
当上述的步骤完成后,利用验证数据集,试验训练好的模型,将会产生三个结果,分别标注为:
1)multiple_predictions(多重预测)
2)full_predictions(完全预测)
3)point_by_point_predictions(逐点预测)
具体来说,multiple_predictions将原始数据划分为几个不同的区间,在每个数据区间,都首先使用实际数据进行预测,之后不断将预测数据归入已知数据作为历史数据,从而继续预测下一个数据。
full_predictions在已有的实际数据上,向前进行多个时间粒度的预测。由于预测时间长,没有较好地利用最近时间段的实际数据,导致预测数据比较稳定,所以这种方式不能很好地反映数据的变化趋势。
point_by_point_predictions是最保守的方式。这种方式在已有的实际数据上,只向前进行一个时间粒度的预测。由于实际生产环境中不会产生非常巨大的涨落,这种方式不会产生较大的误差。但是预测时间非常有限,对数据要求比较高。
(2)完成节能作业调度
前面介绍了作业部分采用内存密集型作业WordCount,Sort和CPU密集型作业Pi和TeraGen两种类型。当作业被提交时,等待队列中的作业会有不同的资源需求,其中有的作业可能被人为地认定不合理的资源请求量,这些任务可被Hadoop系统发现并且停止运行此类作业,在本申请中不考虑这种情况。下表是本实验中的详细的资源请求量:
表4工作负载信息
Tab.4 Workload information
Figure PCTCN2019082593-appb-000026
4.3结果与分析
实验的第一阶段需要选择合适的sequence_length。实验过程中分别测试了sequence_length为4、5、8、9、17和18时,模型的预测结果。图2至图5给出了sequence_length分别为5和8在point_by_point_predictions和full_predictions中的预测结果,结果展示的是Slave1节点的数据,使用主机的CPU利用率数据集,用于预测周期时间内该节点的CPU利用率。
在本实验环境下选择sequence_length为5的预测结果,如图2和图3所示,横坐标代表时间,纵坐标代表资源利用率的百分比。分析以上的结果,full_predictions的预测结果看起来非常稳定,不能反映实际CPU的变化趋势,借鉴意义比较低。multiple_predictions根据预测数据长度的不同,表现差异相当大。因此没有将其输出的结果图放在本申请中。point_by_point_predictions预测在对应的区间中,能大致反映实际数据的涨落趋势,是三项预测结果中与实际数据差异最小的,基本上能够反映数据的变动;对于某些细节的变化,也能产生相应的预测,但这种预测方式在实际应用时限性最大。本申请中主机状态值的预测主要使用point_by_point_predictions的主机状态预测结果集。
在第一阶段完成后,就获得了Hadoop集群各个节点在预测周期时间内的CPU和内存利用率的预测结果,从而可以根据负载计算结果和预设的阈值将主机分类到不同的队列。Hadoop集群节点分为活跃节点AliveQueue和休眠节点SleepQueue,在算法开始阶段先初始化队列:SleepQueue为空,所有集群节点在AliveQueue中。即初始状态集群所有的节点默认为活跃节点,无休眠节点。
在本申请Hadoop集群的资源调度模块应用的算法,包括Hadoop默认的调度算法FIFO,Capacity Scheduler和Fair Scheduler。在控制变量的方式下,即在相同的集群环境(本实验的集群),输入同样的工作负载。比较其算法的性能,这种方法的实验结果是有说服力的。
本申请记录了Hadoop集群的关键指标的数据、CPU使用率、内存使用率和作业完成时间的结果。以下为AliveQueue节点的CPU利用率和内存使用率:
(1)CPU使用率实验统计结果如图6所示。
(2)内存使用率实验统计结果如图7所示。
能耗计算模型建立了Hadoop集群节点资源的关键指标和能耗之间的关系。
节点功率可以用公式(8)进行计算:
P=C 0+C α*U cpu+C β*U mem(0≤U cpu≤1,0≤U mem≤1)    (8)
其中,C 0是常数,代表与CPU利用率和内存使用率无关的其他基本功率,C α是CPU的利用率对能耗的影响系数,C β是内存的利用率对能耗的影响系数,C 0和C β是通过大量模型训练得出的线性回归的系数值,不同的服务器得到的系数值是不同的。
本申请根据公式(9)计算一个节点在t 0,t 1这段时间点的功率:
Figure PCTCN2019082593-appb-000027
节点i在这段时间的能耗值为:
Figure PCTCN2019082593-appb-000028
分别计算出Hadoop集群中各个节点的能耗值,求和即得到整个集群在时间段t 0,t 1的能耗数据。
在计算量化的数值之前,从图6和图7中可以直观地发现:Hadoop的默认调度算法FIFO,任务执行期间整个集群的CPU使用率和内存使用率是最低的,在整个作业执行过程中始终维持在20%左右,但是作业的执行时间相比其他的算法来说更长。Capacity Scheduler和Fair Scheduler算法的执行时间相比较FIFO来说缩短了一些,同时集群的资源利用率比FIFO提高了。本申请提出的算法HES-Scheduler,在作业完成时间上表现一般,活跃节点的资源利用率都在60%左右。在计算能耗时需要统计SleepQueue队列里休眠状态的起始时间,同时在计算总的能耗值时,休眠节点的能耗也需要计算在内(计算SleepQueue的能耗,从该节点的工作开始时间到其休眠的时间段)。
各个算法的能耗值如下表所示(单位:千焦耳,时间单位:mins):
表格5能耗值分时段统计值
Tab.5 Time interval statistics of energy consumption
Figure PCTCN2019082593-appb-000029
从上表可以看出,不同的调度算法在不同的时间段能耗值得消耗量不同,这与不同算法 的资源分配策略相关。同时由于作业对不同类型的计算资源需求的不同,也可能导致不同时间段上的能耗差异。根据上表计算各个算法的能耗值总量如下表所示:
表格6能耗值总量统计
Tab.6 Time statistics of energy consumption
Figure PCTCN2019082593-appb-000030
从表6以及图8可以分析出:
1)Hadoop集群的FIFO调度算法,在作业完成时间最长,能耗值的耗费量最大。因为在整个调度期间,除了当前被处理作业外,其他作业均处于等待的状态,未分配的Container资源也处于等待状态,降低了任务执行的效率。所以执行时间最长,这与该算法本身的弊端有关。
2)在作业的执行时间上,HES-Scheduler和Capacity和Fair调度算法相差不大。Fair调度算法是资源公平的调度方法,但是该策略只关注了内存的公平共享,关注的指标数据过少,因为CPU的资源也有很大的权重,从而影响了集群的资源分配,资源的利用率也没有很好地得到优化改进。Capacity算法维护多个作业队列,提高了并行性,但是作业量增加时,资源不能合理分配,资源竞争的情况有可能出现,导致作业处理效率下降。
3)HES-Scheduler算法在整个任务执行期间,集群活跃节点的CPU利用率和内存利用率一直维持在较高的状态。这与提高活跃节点负载,降低集群参与计算节点数量的设计思想是吻合的。
小结
本申请提出了基于集群节点负载状态预测作业调度算法,首先介绍了算法的设计思想,针对目前集群的计算能力会远超于计算需求的情况,将集群的节点根据预测算法的负载状态分为活跃节点的队列和休眠节点的队列;然后根据计算需求的资源量动态地激活休眠节点,以达到动态调整集群规模的目的;接着描述了算法的流程,算法的步骤,以及算法的伪代码实现,然后对该算法的节能效果做了分析;并且介绍了实验验证的过程,包括实验的设计,数据集的选用,最后对实验结果进行了量化分析,证明了本申请的算法具有实际意义的节能效果。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (1)

  1. 一种基于集群节点负载状态预测的作业调度方法,其特征在于:包括如下步骤:
    步骤1:基于LSTM训练集群数据,具体包括如下步骤:
    INPUT:数据CPU和MEM、种子seed、步数steps、cell状态向量大小S state;其中,种子seed由用户根据集群的构成进行设置,步数steps是模型训练次数,由用户根据经验任意设置;
    OUTPUT:输出对应的预测序列;
    步骤1.1:进行数据的预处理;
    根据预设比例分割F c和F m,得到训练集F train和测试集F test
    其中,F c={f 1,f 2,...,f n}为原始集群节点的CPU数据,F m={f 1,f 2,...,f m}为内存数据;
    步骤1.2:标准化训练集F train,得到F′ train={f′ 1,f′ 2,...,f′ m};
    步骤1.3:将分割窗口设置为L,通过分割窗口L,得到分割后的模型输入X和理论输出Y;分割后的模型输入记为:
    X={X 1,X 2,...,X p,...X L},其中,X p={f′ p,f′ p+1,…,f′ m-L+p-1}(p=1,2,...,L);
    理论输出记为:Y={Y 1,Y 2,...,Y p,...,Y L},其中,Y p={f′ p+1,f′ p+2,...,f′ m-L+p};
    步骤1.4:通过S state,建立LSTM cell
    X经过输入隐藏层后,因为隐藏层包含了L个不间断时间LSTM cell,则输出记为:P={P 1,P 2,...,P p,...,P L},其中P p=LSTM forward(X p,C p-1,H p-1)(p=1,2,…,L),C p-1表示前一个cell的状态,H p-1表示前一个cell的输出,则C p-1,H p-1向量的大小为S state
    步骤1.5:将L个LSTM cell依次连接,得到多层LSTM网络LSTM net
    步骤1.6:通过种子seed,初始化LSTM net
    步骤1.7:训练LSTM net;具体包括如下步骤:
    步骤1.7.1:根据P p=LSTM forward(X p,C p-1,H p-1)(p=1,2,…,L)计算每层输出P p,然后计算损失函数loss;
    Figure PCTCN2019082593-appb-100001
    步骤1.7.2:通过loss值,更新LSTM net
    步骤1.7.3:重复执行步骤1.7.1和1.7.2steps次;
    步骤1.8:得到训练好的LSTM模型
    Figure PCTCN2019082593-appb-100002
    步骤2:资源分配过程;具体包括如下步骤:
    INPUT:第一阶段的预测结果列表Prediction list;用户作业集信息Job info
    OUTPUT:休眠队列SleepQueue;
    步骤2.1:根据预测模型,得到集群节点未来周期T内的预测结果列表Prediction list
    步骤2.2:根据阈值,将节点划分到休眠队列SleepQueue和活跃队列AliveQueue中;
    步骤2.3:继续执行休眠队列SleepQueue中的节点任务,在该时间段内不再将其资源容器Container中的资源分配给作业,统计AliveQueue中的节点资源列表;
    步骤2.4:查询作业集的信息Job info,作业集用向量Job<time,resource,tag,runtime>表示,其中time,resource,tag,runtime分别表示作业请求时间、请求资源量、作业类别和预估时间;
    步骤2.5:基于先进先出,选择作业预分配资源;选择作业时,首先匹配作业和节点的特征,根据公式(1),计算作业类型和节点的匹配差异程度difference的大小,并通过该值得到作业预分配列表;
    Figure PCTCN2019082593-appb-100003
    其中,CPU job为作业CPU利用率,MEM job为作业内存利用率,CPU node为节点的CPU历史平均利用率,MEM node为节点内存平均利用率;
    步骤2.6:计算得到能耗值最小的任务分配队列;
    步骤2.7:判断作业资源需求量Job request和集群资源量Hadoop resource,如果作业资源需求量Job request<集群资源量Hadoop resource,则执行步骤2.3;如果作业资源需求量Job request≥集群资源量Hadoop resource,则激活SleepQueue中的节点,重新检查集群资源量,直到满足预设条件;
    步骤2.8:继续预测下一周期T的主机状态,更新预测模型;
    步骤2.9:判断作业集是否为空,即作业集Job_wait是否等于
    Figure PCTCN2019082593-appb-100004
    若:判断结果是
    Figure PCTCN2019082593-appb-100005
    则结束节能调度过程;
    或判断结果是
    Figure PCTCN2019082593-appb-100006
    则执行步骤2.3。
PCT/CN2019/082593 2019-04-10 2019-04-15 一种基于集群节点负载状态预测的作业调度方法 WO2020206705A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910282535.5A CN110096349B (zh) 2019-04-10 2019-04-10 一种基于集群节点负载状态预测的作业调度方法
CN201910282535.5 2019-04-10

Publications (1)

Publication Number Publication Date
WO2020206705A1 true WO2020206705A1 (zh) 2020-10-15

Family

ID=67444584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/082593 WO2020206705A1 (zh) 2019-04-10 2019-04-15 一种基于集群节点负载状态预测的作业调度方法

Country Status (2)

Country Link
CN (1) CN110096349B (zh)
WO (1) WO2020206705A1 (zh)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256418A (zh) * 2020-10-26 2021-01-22 清华大学深圳国际研究生院 一种大数据任务调度方法
CN112395052A (zh) * 2020-12-03 2021-02-23 华中科技大学 一种面向混合负载基于容器的集群资源管理方法及系统
CN112416596A (zh) * 2020-12-01 2021-02-26 新华三人工智能科技有限公司 一种节点调度方法、装置及设备
CN112416578A (zh) * 2020-11-05 2021-02-26 中山大学 一种基于深度强化学习的容器云集群资源利用优化方法
CN112506663A (zh) * 2020-12-17 2021-03-16 华南理工大学 基于去噪和误差修正的云服务器cpu负载预测方法、系统和介质
CN112799844A (zh) * 2021-02-02 2021-05-14 中国矿业大学(北京) 一种异构环境下时空型混合负载调度优化方法
CN112925608A (zh) * 2021-02-26 2021-06-08 平安付科技服务有限公司 基于机器学习的智能扩缩容方法、装置、设备及存储介质
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN113377541A (zh) * 2021-06-22 2021-09-10 云知声智能科技股份有限公司 集群资源分配与回收方法、装置、电子设备和存储介质
CN113505879A (zh) * 2021-07-12 2021-10-15 中国科学技术大学 一种基于多注意力特征记忆模型的预测方法和装置
CN113590294A (zh) * 2021-07-30 2021-11-02 北京睿芯高通量科技有限公司 一种自适应的和规则制导的分布式调度方法
CN113626282A (zh) * 2021-07-16 2021-11-09 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113760553A (zh) * 2021-09-09 2021-12-07 中山大学 一种基于蒙特卡洛树搜索的混部集群任务调度方法
CN113778646A (zh) * 2021-08-22 2021-12-10 物产中大公用环境投资有限公司 一种基于执行时间预测的任务层级调度方法及装置
CN113961320A (zh) * 2021-09-16 2022-01-21 大连华锐重工集团股份有限公司 一种自适应增益集群调度控制方法
CN113962142A (zh) * 2021-09-26 2022-01-21 西安交通大学 一种基于两段式lstm的数据中心温度预测方法及系统
CN113986557A (zh) * 2021-11-15 2022-01-28 北京航空航天大学 一种面向全流量采集的存储负载均衡方法及系统
CN114126019A (zh) * 2021-11-30 2022-03-01 北京邮电大学 一种基于能效优化的前传光网络动态资源映射方法及系统
CN114740964A (zh) * 2022-03-29 2022-07-12 武汉烽火技术服务有限公司 基于lstm的服务器节能方法、装置、设备及存储介质
CN115495231A (zh) * 2022-08-09 2022-12-20 徐州医科大学 一种高并发任务复杂场景下的动态资源调度方法及系统
CN115562870A (zh) * 2022-10-25 2023-01-03 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN115586952A (zh) * 2022-09-09 2023-01-10 上海交通大学 空间在轨数据中心的计算流程控制系统
CN115809148A (zh) * 2023-01-16 2023-03-17 中国华能集团清洁能源技术研究院有限公司 一种面向边缘计算的负载均衡任务调度方法及装置
CN116628068A (zh) * 2023-07-25 2023-08-22 杭州衡泰技术股份有限公司 一种基于动态窗口的数据搬运方法、系统及可读存储介质
CN116820897A (zh) * 2023-08-31 2023-09-29 山东省地质测绘院 一种集群计算机运行调度控制方法
CN117112180A (zh) * 2023-09-27 2023-11-24 广州有机云计算有限责任公司 一种基于任务的集群自动化控制方法
CN117221328A (zh) * 2023-10-24 2023-12-12 国电南瑞科技股份有限公司 一种基于态势感知的服务调度方法及系统
CN117251380A (zh) * 2023-11-10 2023-12-19 中国人民解放军国防科技大学 一种面向单调流式图的优先级异步调度方法及系统
CN117311992A (zh) * 2023-11-28 2023-12-29 南京亚信软件有限公司 基于既定资源预测并自动动态平衡集群内部资源的方法
CN117539643A (zh) * 2024-01-09 2024-02-09 上海晨钦信息科技服务有限公司 信用卡清分清算平台、批量任务处理方法及服务器
CN117592236A (zh) * 2023-12-05 2024-02-23 北京大数据先进技术研究院 一种数据共享网络策略演化预测方法、装置和产品
CN117707747A (zh) * 2024-02-06 2024-03-15 山东省计算中心(国家超级计算济南中心) 基于资源使用率预测的作业超量分配调度方法及系统
CN117807425A (zh) * 2024-03-01 2024-04-02 创略智造(河北)工业设计有限公司 一种智能数据分析方法及系统
CN117851107A (zh) * 2024-03-08 2024-04-09 中科鉴芯(北京)科技有限责任公司 可动态扩容的分布式自动测试向量生成方法、装置及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618861A (zh) * 2019-09-16 2019-12-27 山东科技大学 一种Hadoop集群节能系统
CN110825520B (zh) * 2019-10-18 2023-08-29 山东省计算中心(国家超级计算济南中心) 一种实现资源高效利用的集群极速弹性伸缩方法
CN110928689B (zh) * 2019-12-05 2020-08-25 中国人民解放军军事科学院国防科技创新研究院 面向分布式强化学习训练的自适应资源管理方法及装置
CN111045807B (zh) * 2019-12-17 2024-05-14 深圳前海环融联易信息科技服务有限公司 基于zookeeper任务处理的方法、装置、计算机设备及存储介质
CN110955527B (zh) * 2019-12-17 2022-05-10 湖南大学 一种基于cpu核数预测实现并行任务调度的方法和系统
CN113051025B (zh) * 2019-12-27 2024-05-31 阿里巴巴集团控股有限公司 容器集群资源管理方法、装置与设备
CN111400045B (zh) * 2020-03-16 2023-09-05 杭州海康威视系统技术有限公司 一种负载均衡方法及装置
CN112235383B (zh) * 2020-10-09 2024-03-22 腾讯科技(深圳)有限公司 容器服务集群节点调度方法及装置、服务器、存储介质
CN112580291B (zh) * 2020-12-14 2021-09-14 青岛青软晶尊微电子科技有限公司 一种进行集成电路实验的方法和设备
CN112905333B (zh) * 2021-01-23 2024-04-26 招商新智科技有限公司 用于分布式视频智能分析平台的算力负载调度方法及装置
CN113157421B (zh) * 2021-04-29 2024-04-09 浙江工业大学 一种基于用户作业流程的分布式集群资源调度方法
CN114327023B (zh) * 2021-12-30 2023-08-15 上海道客网络科技有限公司 一种Kubernetes集群的节能方法、系统、计算机介质和电子设备
CN117094613B (zh) * 2023-08-14 2024-05-10 华北电力大学 一种应用于综合能源系统的模型构建方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108039A (zh) * 2013-01-25 2013-05-15 暨南大学 一种低能耗集群环境下的服务质量保证方法
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
US20180101313A1 (en) * 2016-10-07 2018-04-12 Prophetstor Data Services, Inc. Method for extending life expectancy of disks in cloud-based service system and system using the same
CN108874542A (zh) * 2018-06-07 2018-11-23 桂林电子科技大学 基于神经网络的Kubernetes调度优化方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262216B2 (en) * 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
CN108170529A (zh) * 2017-12-26 2018-06-15 北京工业大学 一种基于长短期记忆网络的云数据中心负载预测方法
CN108845874B (zh) * 2018-06-25 2023-03-21 腾讯科技(深圳)有限公司 资源的动态分配方法及服务器
CN108924214A (zh) * 2018-06-27 2018-11-30 中国建设银行股份有限公司 一种计算集群的负载均衡方法、装置及系统
CN108845886B (zh) * 2018-07-27 2022-03-08 中南大学 基于相空间的云计算能耗优化方法和系统
CN109101395A (zh) * 2018-07-27 2018-12-28 曙光信息产业(北京)有限公司 一种基于lstm的高性能计算集群应用监控方法及系统
CN109165093B (zh) * 2018-07-31 2022-07-19 宁波积幂信息科技有限公司 一种计算节点集群弹性分配系统及方法
CN109358959A (zh) * 2018-10-23 2019-02-19 电子科技大学 基于预测的数据分布式协同处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108039A (zh) * 2013-01-25 2013-05-15 暨南大学 一种低能耗集群环境下的服务质量保证方法
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
US20180101313A1 (en) * 2016-10-07 2018-04-12 Prophetstor Data Services, Inc. Method for extending life expectancy of disks in cloud-based service system and system using the same
CN108874542A (zh) * 2018-06-07 2018-11-23 桂林电子科技大学 基于神经网络的Kubernetes调度优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GU WEI: "Dynamic Load Balancing Algorithm Using Time Series Prediction", INDUSTRIAL CONTROL COMPUTER, vol. 25, no. 12, 31 December 2012 (2012-12-31), pages 86 - 87, XP055741912 *

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256418A (zh) * 2020-10-26 2021-01-22 清华大学深圳国际研究生院 一种大数据任务调度方法
CN112256418B (zh) * 2020-10-26 2023-10-24 清华大学深圳国际研究生院 一种大数据任务调度方法
CN112416578A (zh) * 2020-11-05 2021-02-26 中山大学 一种基于深度强化学习的容器云集群资源利用优化方法
CN112416578B (zh) * 2020-11-05 2023-08-15 中山大学 一种基于深度强化学习的容器云集群资源利用优化方法
CN112416596A (zh) * 2020-12-01 2021-02-26 新华三人工智能科技有限公司 一种节点调度方法、装置及设备
CN112395052B (zh) * 2020-12-03 2024-02-06 华中科技大学 一种面向混合负载基于容器的集群资源管理方法及系统
CN112395052A (zh) * 2020-12-03 2021-02-23 华中科技大学 一种面向混合负载基于容器的集群资源管理方法及系统
CN112506663A (zh) * 2020-12-17 2021-03-16 华南理工大学 基于去噪和误差修正的云服务器cpu负载预测方法、系统和介质
CN112799844A (zh) * 2021-02-02 2021-05-14 中国矿业大学(北京) 一种异构环境下时空型混合负载调度优化方法
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN112925608B (zh) * 2021-02-26 2023-05-30 平安付科技服务有限公司 基于机器学习的智能扩缩容方法、装置、设备及存储介质
CN112925608A (zh) * 2021-02-26 2021-06-08 平安付科技服务有限公司 基于机器学习的智能扩缩容方法、装置、设备及存储介质
CN113377541A (zh) * 2021-06-22 2021-09-10 云知声智能科技股份有限公司 集群资源分配与回收方法、装置、电子设备和存储介质
CN113505879B (zh) * 2021-07-12 2024-02-02 中国科学技术大学 一种基于多注意力特征记忆模型的预测方法和装置
CN113505879A (zh) * 2021-07-12 2021-10-15 中国科学技术大学 一种基于多注意力特征记忆模型的预测方法和装置
CN113626282A (zh) * 2021-07-16 2021-11-09 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113626282B (zh) * 2021-07-16 2023-12-22 济南浪潮数据技术有限公司 云计算物理节点负载监控方法、装置、终端及存储介质
CN113590294A (zh) * 2021-07-30 2021-11-02 北京睿芯高通量科技有限公司 一种自适应的和规则制导的分布式调度方法
CN113590294B (zh) * 2021-07-30 2023-11-17 北京睿芯高通量科技有限公司 一种自适应的和规则制导的分布式调度方法
CN113778646A (zh) * 2021-08-22 2021-12-10 物产中大公用环境投资有限公司 一种基于执行时间预测的任务层级调度方法及装置
CN113778646B (zh) * 2021-08-22 2024-04-05 物产中大公用环境投资有限公司 一种基于执行时间预测的任务层级调度方法及装置
CN113760553B (zh) * 2021-09-09 2024-04-26 中山大学 一种基于蒙特卡洛树搜索的混部集群任务调度方法
CN113760553A (zh) * 2021-09-09 2021-12-07 中山大学 一种基于蒙特卡洛树搜索的混部集群任务调度方法
CN113961320A (zh) * 2021-09-16 2022-01-21 大连华锐重工集团股份有限公司 一种自适应增益集群调度控制方法
CN113962142B (zh) * 2021-09-26 2024-04-19 西安交通大学 一种基于两段式lstm的数据中心温度预测方法及系统
CN113962142A (zh) * 2021-09-26 2022-01-21 西安交通大学 一种基于两段式lstm的数据中心温度预测方法及系统
CN113986557B (zh) * 2021-11-15 2023-09-12 北京航空航天大学 一种面向全流量采集的存储负载均衡方法及系统
CN113986557A (zh) * 2021-11-15 2022-01-28 北京航空航天大学 一种面向全流量采集的存储负载均衡方法及系统
CN114126019B (zh) * 2021-11-30 2024-04-23 北京邮电大学 一种基于能效优化的前传光网络动态资源映射方法及系统
CN114126019A (zh) * 2021-11-30 2022-03-01 北京邮电大学 一种基于能效优化的前传光网络动态资源映射方法及系统
CN114740964A (zh) * 2022-03-29 2022-07-12 武汉烽火技术服务有限公司 基于lstm的服务器节能方法、装置、设备及存储介质
CN115495231B (zh) * 2022-08-09 2023-09-19 徐州医科大学 一种高并发任务复杂场景下的动态资源调度方法及系统
CN115495231A (zh) * 2022-08-09 2022-12-20 徐州医科大学 一种高并发任务复杂场景下的动态资源调度方法及系统
CN115586952B (zh) * 2022-09-09 2023-09-29 上海交通大学 空间在轨数据中心的计算流程控制系统
CN115586952A (zh) * 2022-09-09 2023-01-10 上海交通大学 空间在轨数据中心的计算流程控制系统
CN115562870B (zh) * 2022-10-25 2023-07-21 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN115562870A (zh) * 2022-10-25 2023-01-03 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN115809148A (zh) * 2023-01-16 2023-03-17 中国华能集团清洁能源技术研究院有限公司 一种面向边缘计算的负载均衡任务调度方法及装置
CN115809148B (zh) * 2023-01-16 2023-05-16 中国华能集团清洁能源技术研究院有限公司 一种面向边缘计算的负载均衡任务调度方法及装置
CN116628068A (zh) * 2023-07-25 2023-08-22 杭州衡泰技术股份有限公司 一种基于动态窗口的数据搬运方法、系统及可读存储介质
CN116820897A (zh) * 2023-08-31 2023-09-29 山东省地质测绘院 一种集群计算机运行调度控制方法
CN116820897B (zh) * 2023-08-31 2023-11-21 山东省地质测绘院 一种集群计算机运行调度控制方法
CN117112180B (zh) * 2023-09-27 2024-03-29 广州有机云计算有限责任公司 一种基于任务的集群自动化控制方法
CN117112180A (zh) * 2023-09-27 2023-11-24 广州有机云计算有限责任公司 一种基于任务的集群自动化控制方法
CN117221328A (zh) * 2023-10-24 2023-12-12 国电南瑞科技股份有限公司 一种基于态势感知的服务调度方法及系统
CN117251380B (zh) * 2023-11-10 2024-03-19 中国人民解放军国防科技大学 一种面向单调流式图的优先级异步调度方法及系统
CN117251380A (zh) * 2023-11-10 2023-12-19 中国人民解放军国防科技大学 一种面向单调流式图的优先级异步调度方法及系统
CN117311992A (zh) * 2023-11-28 2023-12-29 南京亚信软件有限公司 基于既定资源预测并自动动态平衡集群内部资源的方法
CN117311992B (zh) * 2023-11-28 2024-02-13 南京亚信软件有限公司 基于既定资源预测并自动动态平衡集群内部资源的方法
CN117592236A (zh) * 2023-12-05 2024-02-23 北京大数据先进技术研究院 一种数据共享网络策略演化预测方法、装置和产品
CN117539643B (zh) * 2024-01-09 2024-03-29 上海晨钦信息科技服务有限公司 信用卡清分清算平台、批量任务处理方法及服务器
CN117539643A (zh) * 2024-01-09 2024-02-09 上海晨钦信息科技服务有限公司 信用卡清分清算平台、批量任务处理方法及服务器
CN117707747A (zh) * 2024-02-06 2024-03-15 山东省计算中心(国家超级计算济南中心) 基于资源使用率预测的作业超量分配调度方法及系统
CN117707747B (zh) * 2024-02-06 2024-05-24 山东省计算中心(国家超级计算济南中心) 基于资源使用率预测的作业超量分配调度方法及系统
CN117807425A (zh) * 2024-03-01 2024-04-02 创略智造(河北)工业设计有限公司 一种智能数据分析方法及系统
CN117807425B (zh) * 2024-03-01 2024-05-10 创略智造(河北)工业设计有限公司 一种智能数据分析方法及系统
CN117851107A (zh) * 2024-03-08 2024-04-09 中科鉴芯(北京)科技有限责任公司 可动态扩容的分布式自动测试向量生成方法、装置及系统

Also Published As

Publication number Publication date
CN110096349B (zh) 2020-03-06
CN110096349A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
WO2020206705A1 (zh) 一种基于集群节点负载状态预测的作业调度方法
WO2021179462A1 (zh) 基于改进量子蚁群算法的Spark平台任务调度方法
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
CN101488098B (zh) 基于虚拟计算技术的多核计算资源管理系统
US9218213B2 (en) Dynamic placement of heterogeneous workloads
CN109271015B (zh) 一种降低大规模分布式机器学习系统能耗的方法
CN109861850B (zh) 一种基于sla的无状态云工作流负载均衡调度的方法
CN106951059A (zh) 基于dvs与改进蚁群算法的云数据中心节能方法
CN104298550A (zh) 一种面向Hadoop的动态调度方法
WO2020248226A1 (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
CN112835698A (zh) 一种基于异构集群的请求分类处理的动态负载均衡方法
CN111752708A (zh) 一种基于深度学习的存储系统自适应参数调优方法
CN107566535B (zh) 基于Web地图服务并发访问时序规则的自适应负载均衡方法
CN114816715B (zh) 一种面向跨地域的流计算延迟优化方法及装置
CN117349026B (zh) 一种用于aigc模型训练的分布式算力调度系统
CN110519386B (zh) 云环境下基于数据聚类的弹性资源供应方法和装置
CN115686792A (zh) 任务调度方法、装置、电子设备、存储介质及产品
CN109976879B (zh) 一种基于资源使用曲线互补的云计算虚拟机放置方法
Zhang et al. An energy-aware host resource management framework for two-tier virtualized cloud data centers
Yang et al. Design of kubernetes scheduling strategy based on LSTM and grey model
CN116389591A (zh) 一种基于跨域分布式处理系统及调度优化方法
Sun et al. Based on QoS and energy efficiency virtual machines consolidation techniques in cloud
Yakubu et al. Priority based delay time scheduling for quality of service in cloud computing networks
CN115086249A (zh) 一种基于深度强化学习的云数据中心资源分配方法
Li et al. SLA‐Aware and Energy‐Efficient VM Consolidation in Cloud Data Centers Using Host State 3rd‐Order Markov Chain Model

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: 19923763

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19923763

Country of ref document: EP

Kind code of ref document: A1