Enhanced Node Utilization and Responsiveness for Parallel Workload Based On Priority Consolidation in the Cloud

The cloud computing environment contains remote data centers which work for run the complex applications. Many complex applications require parallel processing capabilities effectively to run the parallel jobs using virtualization technologies. A parallel job often requires a certain number of nodes to run, to schedule parallel job in data centres. A set of nodes is likely to be fragmented by parallel jobs with different node number requirement. An important consideration in this environment is to improve response time, throughput and utilization. In Existing approach, each nodes computing capacity is partition into two tier using priority based consolidation. The foreground VM tier runs higher priority jobs and Background VM tier runs low priority jobs. This leads to low system utilization and large job wait times. To overcome this, the proposed approach is to effectively partition the data centre node into k-tiers for improved node utilization and responsiveness. KEYWORDS— Cloud computing, parallel job scheduling, resource consolidation, CMCBF, SS I.INTRODUCTION Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility (like the electricity grid) over a network. The cloud computing paradigm promises a cost-effective solution for running business applications through the use of virtualization technologies, highly scalable distributed computing, and data management techniques as well as a pay-as-you-go pricing model. In recent years, it also offers high-performance computing capacity for applications to solve complex problems. Improving resource utilization is essential for achieving cost effectiveness. Low utilization has long been an issue in data centers. Servers in a typical data center are operated at 10 to 50 percent of their maximum utilization level. 10 to 20 percent utilization is common in data centers. For a data center, or a subset of servers in a data center that mainly handles applications with high-performance computing needs and runs parallel jobs most of the time, the problem can be significant. There are two factors that may reduce the utilization of nodes that run parallel jobs: 1. A parallel job often requires a certain number of nodes to run. A set of nodes is likely to be fragmented by parallel jobs with different node number requirement. If the number of available nodes cannot satisfy the requirement of an incoming job, these nodes may remain idle [4], [5], [6]. 2. Typical parallel programming models, such as BSP [7]often involve computing, communication, and synchronization phase. A process in a parallel job may frequently wait for the data from other processes. During waiting, the utilization of the node is low. Based The most basic but popular batch scheduling algorithm for parallel jobs is first come first serve (FCFS) [8]. Each job specifies the number of nodes required and the scheduler processes jobs according to the order of their arrival. When there is a sufficient number of nodes to process the job at the head of the queue, the scheduler dispatches the job to run on these nodes; otherwise, it waits till jobs currently running finish and release enough nodes for the job. FCFS ISSN(Online): 2320-9801 ISSN (Print): 2320-9798 International Journal of Innovative Research in Computer and Communication Engineering (An ISO 3297: 2007 Certified Organization) Vol.2, Special Issue 1, March 2014 Proceedings of International Conference On Global Innovations In Computing Technology (ICGICT’14) Organized by Department of CSE, JayShriram Group of Institutions, Tirupur, Tamilnadu, India on 6 & 7 March 2014 Copyright @ IJIRCCE www.ijircce. com 2028 may cause node fragmentation and methods such as backfilling [9] and Gang scheduling [10] were proposed to improve it. However, they do not target on the utilization degradation caused by parallelization itself. II. LITERATURE REVIEW There have been many efforts on scheduling mechanisms for parallel jobs in clusters. FCFS is the basic but popularly used batch scheduling. Backfilling[9],which was developed as the EASY for IBM SP1, is a technique that allows short/small jobs to use idle nodes while the job at the head of the queue does not have enough number of nodes to run. Backfilling can improve node utilization, but it requires each job to specify its maximum execution time so that only jobs that will not delay the start of the job at the head of the queue are backfilled. Furthermore, a pre-empted job is often given a reservation for a future time to run. Different methods of assigning reservations differentiate several variances of backfilling techniques [9]Backfilling techniques address the low-utilization problem caused by different node number requirements of parallel jobs. However, backfilling does not deal with low resource utilization due to parallel jobs themselves. 1) Parallel and Distributed Simulation in the Cloud Cloud computing offers the ability to transparently provide computing services remotely to users through the Internet, freeing them of the burdens associated with managing computing resources and facilities. It offers the potential to make parallel and distributed simulation capabilities much more widely accessible to users who are not experts in this technology and do not have ready access to high performance computing platforms. However, services hosted within the “cloud” can incur significant performance degradations. In here the analysing approach is the potential benefits and technical challenges that arise in utilizing cloud platforms for parallel and distributed simulations and a potential solution approach. 2) Backfilling Using Runtime Predictions Rather Than User Estimates The most commonly used scheduling algorithm for parallel supercomputers is FCFS with backfilling, as originally introduced in the EASY scheduler. Backfilling means that short jobs are allowed to run ahead of their time provided they do not delay previously queued jobs (or at least the first queued job). In here the run time job predictions are too short so the concept name divorcing kill-time from the runtime prediction is used. To make this work, predictions need to be corrected adaptively if proved wrong. The end result is a surprisingly simple scheduler we call EASY++, which requires minimal deviations from current practices (e.g. using FCFS as the basis), and behaves exactly like EASY as far as users are concerned. Nevertheless it achieves significant improvements in performance, predictability, and accuracy, and we argue it can (and in our opinion should) replace the default currently in use on production systems. In addition, our techniques can be used to enhance any backfilling algorithm previously suggested. 3) An integrated approach to parallel scheduling using gang-scheduling, backfilling, and migration In this work Effective scheduling strategies to improve response times, throughput, and utilization are an important consideration in large supercomputing environments. Parallel machines in these environments have traditionally used space-sharing strategies to accommodate multiple jobs at the same time by dedicating the nodes to a single job until it completes. This approach, however, can result in low system utilization and large job wait times. This paper discusses three techniques that can be used beyond simple space sharing to improve the performance of large parallel systems. The first technique we analyze is backfilling, the second is gang scheduling, and the third is migration. The main contribution of this paper is an analysis of the effects of combining the above techniques. Using extensive simulations based on detailed models of realistic workloads, the benefits of combining the various techniques are shown over a spectrum of performance criteria. ISSN(Online): 2320-9801 ISSN (Print): 2320-9798 International Journal of Innovative Research in Computer and Communication Engineering (An ISO 3297: 2007 Certified Organization) Vol.2, Special Issue 1, March 2014 Proceedings of International Conference On Global Innovations In Computing Technology (ICGICT’14) Organized by Department of CSE, JayShriram Group of Institutions, Tirupur, Tamilnadu, India on 6 & 7 March 2014 Copyright @ IJIRCCE www.ijircce. com 2029 III. EXISTING SYSTEM In previous versions cpu takes responsiveness as the top priority and need non-trivial effort to make them work for data centres in the cloud era. In this work, we propose a priority-based method to consolidate parallel workloads in the cloud. We leverage virtualization technologies to partition the computing capacity of each node into two tiers, the foreground VM tier (with high CPU priority) and the background VM tier (with low CPU priority). We provide scheduling algorithms for parallel jobs to make efficient use of the two tier VMs to improve the responsiveness of these jobs. By improving resource utilization for datacentres that run parallel jobs, particularly we intend to make use of the remaining computing capacity of datacentre nodes that run parallel processes with low resource utilization to improve the performance of parallel job scheduling. The parallel jobs we deal with have the following characteristics: 1) The job execution time is unknown. 2) Saving and restoring the state of a job is relatively cheap with checkpoint support. 3) The CPU usage of the processes of a job can be estimated either during design phase or through the historical data CMBF Algorithm: CMBF schedules jobs to run according to their arrival time when there is enough number of nodes. When the number of idle nodes is not sufficient for a job, another job with a later arrival time but smaller node number requirement may be scheduled to run via backfilling. To avoid starving a preempted job, CMBFuses the following policy: a preempted job is scheduled to run whenever it sees the total number of nodes tha