Elastic neural network method for load prediction in cloud computing grid

ABSTRACT


INTRODUCTION
According to the National Institute of Standards and Technology (NIST): "Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources [1]. Cloud is a huge scale distributed computing, transferring computer operations and storage from desktop and portable PCs to a huge hosting center [1], where resources could be easily used remotely, with effective cost [2], [3]. Data centers use Virtual Machine (VM) for integration of different solutions [4]. Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-a-a-Service (SaaS) are the offered types of market services among cloud.
Many millions of online devices are connected through the Internet, where using cloud computing service industries is increasing every day [4]. Cloud computing involves sharing supplies, software, which supposed to reduced functioning cost, regarding the time needed to process data, adjust the system permanence according to demands changes in the system as it goes. Load balancers are part of cloud structure; its goal is to forward incoming request to the customer who demands the service. Depending on availability and existing load, the load balancer task is to apply scheduling algorithm to decide the best server that could handle the request [5]. It gets an update on client's server's status and current job. If one server is overloaded with tasks, then it is redirected to another server to keep load balanced [6][7]. In this paper, the objective of load scheduling is minimizing the average shift time of a set of online loads, where shifting time represents the total elapsed time for a load application from load submission to load completion, including waiting time and execution time.
As elaborated in [8], load computing is a good way to understand job parallelism where each job requires a single processor for execution and different tasks might run concurrently or follow superiority restrictions. On the other side, parallel programs are written with some message-passing library, e.g., MPI [9], are a classic way to accomplish data parallelism.
A load model can be used to describe the scheduling job to keep balance among the cloud VMs. As the high-performance computing platform evolves into grid and cloud environments, the underlying speed-heterogeneous multi-cluster design [10] makes mixed-parallel load scheduling more laborious and difficult than traditional task-parallel loads scheduling because of the resource division issue [11] experienced by parallel task distribution. In [12], Online Load Management was proposed as the first step to tackling such problems. ANN is widely used in different aspects and applications [17], in this work, we propose an Elastic Artificial Neural Network (EANN) framework, which formalizes the online-load scheduling process into job allocation. The job-clustering phase manages the job load within a server. The job rearrangement phase allows some jobs reallocations to different servers to handle the request to increase resource utilization on other servers. The job allocation phase assigns a proper set of resources to a job.
We live in the cloud era, where users of the cloud are increasing fast, that caused heavy job on cloud servers which made the load balancing as an urgent issue of cloud computing. The core goal of load balancing is to allocate the job consistently to the whole cloud to guarantee no overloaded or underloaded servers exists in the entire network [13]. Load balancing algorithms' goal is to monitor the nodes for underloading or overloading and take appropriate action to normalize the load among VMs. So that utilization of resources is better. Many load controlling techniques, like ASKALON [14], DAGman [15], have developed systems to manage load uses in both parallel and distributed systems. Some existing load management systems, e.g., DAGman and [16], make sure the execution of a load does not violate the precedence constraints among tasks but pay little attention to improving scheduling time. Other systems focus on completing task scheduling within loads to enhance desired final time, e.g. [17].
The rest of the paper covers. Section 2 discusses related work of load balancing; Section 3 discusses the proposed system, including Load balancing, suggested framework, algorithm to predict cloud load, server's classification used in Cloud computing. Section 4 shows simulation and results of the suggested system. Section 5 has the conclusion with some ideas for future work.

RESEARCH METHODOLOGY
Explaining research chronological, including research design, research procedure (in the form of algorithms, Pseudocode or other), how to test and data acquisition [18], [19]. The description of the course of research should be supported references so that the explanation can be accepted scientifically [20], [21].
Whenever there is a certain job on the Cloud, the load balancer sends the job request through the suggested algorithm to be clustered to which server to be sent [22]. K-means clustering is one of the simplest clustering algorithms used for unsupervised learning problems, MacQueen, 1967 introduced it, it works mainly on minimizing the distance between the cluster center and the data point. K-means is used in this research appointing jobs as data points on the server and based on the processor type and speed to cluster these jobs. After determining hard disk capacity, another clustering is done based on their cost per hour. An operator node to manage node performance exists, its job is to supervise the node then report utilization and send it to manager controller, the manager is a cluster management system aimed at decreasing the effort done to manage cluster resources while refining the facility of customer's demand and manage resources. The manager waits until the whole cluster is empty before looking for work from other clusters. Figure 1 [7] shows system model, where the manager controller sends a report as input which is used in prediction algorithm.

EANN design for load prediction
To forecast expected resource requests, we need to look inside a VM and analyze logs of pending requests. To do this, VMs modifications are required, which might be difficult. The prediction is built on the historical log behaviors of VMs. The algorithm deploys an artificial neural network to predict load balancing in the cloud; this is achieved by training neural network on a big dataset containing different load situations. Back Propagation learning algorithm was used during EANN training phase so that it can manage incoming jobs to the cloud. The suggested EANN consist of three tiers; the first tier is input, presenting the current job for N nodes. The second is the hidden tier, while the third is output tier, which signifies the balanced job for N nodes. Each node in the input tier act for either the current server's job or the current average job of a cluster of servers where its given a number. On the other hand, the equivalent node in the output tier represents either server's job or cluster's regular job after balancing correspondingly.
The system proposed is an intelligent technique, where the values of the neural network connection weights are modified within training phase, using a reformed optimization methodology; it consists of building an elastic artificial neural network (EANN) based on modified adaptive smoothing errors (MASE). Then to adjust the neural network connection weights during the training phase. The algorithm uses EANN technique work on reducing errors.
First, we need to determine average with weights by a predetermined scheme, where the expected and detected load at a given period p as seen in (1). D(p) = c* D(p -1) + (1 -c) * O(p); 0 < c < 1 (1) as c indicates, the balance among steadiness and approachability. EANN is used to predict the load of CPU on a defined server. We group the time c =0.5 and use it to predict the next minute load and compare it with the current minute.
The next step is monitoring decreased usage; we need to work on the observed values which are higher by 69% normally.
If balance values groups within [0 to 1], then the balance is within the desired range. We give c -1 rate, so that value we get from equation (1) is converted as (2) The predicted value is concluded based on historical behaviors on the cloud.

EANN architecture
The suggested system includes three tiers, neurons in the first, second, and third tiers. EANN as shown in Figure 2  Phase 3: Create a group B relates server node s corresponds to the neuron n.
where Xi is the location route of neuron n and the associations related to Sq can shield server node n. Phase 4: If group S is unfilled, iterate this procedure by picking another random server node.
n∈Sq Phase 5: alter the chosen sites of neuron and next ones according to: Xn * =Xn * +α(Xs−Xn) Else, go back to step (2). The mean squared error (MSE) between the predicted and the required result represents the fitness of the input.
The factor δ z and the activation h t of the hidden neuron H t , determines adjustment made to the value of V st and error factors be outlined in (8).

RESULTS AND ANALYSIS
In this section, it is explained the results of research and at the same time is given the comprehensive discussion. The experiments were conducted on a cloud simulator. In cloud simulator, the cloudsim, that aids modeling, and simulation of Cloud computing systems and application settings. It provisions both system and behavior modeling of Cloud system components such as data centers, virtual machines (VMs) and resource provisioning policies. Using the load balancing parameters of virtual machine and data center, we have examined on cloudsim-3.0 a cloud-computing simulator and evaluate the performance of the suggested method using job assigning to the cloud subset. Figure 4 represents the load balancing in each cloud partition, and the proposed approaches such as EANN based load balancing algorithm shows improved results than the existing techniques. In the beginning simulator first, generates the input workload consisting of a set of workflows arriving at different time instants in an online manner.

1205
For each task of a workflow, the number of processors required to execute it is set by picking up a random number within a pre-configured range according to a specified probability distribution. Each experiment invokes 20 runs, of which each simulates 100 online workflows in a multi-cluster environment composed of 5 clusters each containing 50-70 processors. EANN algorithm is used to give best possible allocation results. Set p=16 s for example and a set of demands on service is D, where clustered sets represented by C1, C2, C3. The outcome of 92 iterations was balanced and reasonable node allocation. Task allocation using EANN goes as Association C1={S7, S15, S20}, that is, servers S7, S15, and S15 are elected to track demand D1. Coalition C2={S2, S6, S22}, that is, servers S2, S6, and S22 are elected to track demand D2. Coalition C3={S8, S17, S18}, that is, servers S8, S17, and S18 are elected to track demand D3. Results are shown in Table 1. The predicted value, which is done with the help of past input value is clearly shown in Figure 3. The predicted value provides a higher efficiency of output. Since the predicted value provides greater efficiency, the mean square error is slightly high. As Figure 3 illustrates output if the rate=0.7, and this is selected on account of least error calculation for our jobs prediction on VM, where this result enhances the prediction accuracy and work for the benefit of better scheduling in the next step. The load migration before and after is given in Figure 4, as we can see that over a period the number of jobs executed comparing to available VMs is becoming reasonable after migrating jobs around. The result of predicted jobs is keeping the balance of different servers as equal as possible. Figure 5 gives the graphical demonstration of the load balancing in each cloud partition and the suggested approach EANN based load balancing algorithm shows the better results than the other techniques like Ant colony and Honey behavior.

CONCLUSION
Load prediction is needed for allocating data center resources depending on applications demands. The fluctuation of demand will be less detected using our approach. The system is managing resources and avoids overload. The suggested technique uses some of the design processes of a load balancing. EANN forecast the request then accordingly assign resources according to the request. That maintains the active servers according to current demand. This paper, suggested a new effective load balancing technique-using EANN based load-balancing technique to achieve detectable enhancements in resource deployment and availability among cloud-computing atmosphere.
For future, to further improve the balancing performance of load in cloud environments, for instance, the proactive job allocation method could be extended to consider multiple running tasks for simultaneous preemption and would increase the probability for high-priority tasks to start execution earlier and thus improve the overall system performance. For the shortest-workflow-first policy, other metrics for prioritizing workflows could be investigated in addition to the remaining execution time used in this paper.