A Genetic Algorithm for Workload Scheduling In Cloud Based e-Learning Octavian Morariu Cristina Morariu Theodor Borangiu University Politehnica Bucharest.

Slides:



Advertisements
Similar presentations
Crew Pairing Optimization with Genetic Algorithms
Advertisements

Evaluating the Cost-Benefit of Using Cloud Computing to Extend the Capacity of Clusters Presenter: Xiaoyu Sun.
Hadi Goudarzi and Massoud Pedram
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
SLA-Oriented Resource Provisioning for Cloud Computing
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
Copyright 2007, Information Builders. Slide 1 Workload Distribution for the Enterprise Mark Nesson, Vashti Ragoonath June, 2008.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Study of a Paper about Genetic Algorithm For CS8995 Parallel Programming Yanhua Li.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Introduction to Evolutionary Computation  Genetic algorithms are inspired by the biological processes of reproduction and natural selection. Natural selection.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
HeteroPar 2013 Optimization of a Cloud Resource Management Problem from a Consumer Perspective Rafaelli de C. Coutinho, Lucia M. A. Drummond and Yuri Frota.
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
Genetic Algorithm.
How to Resolve Bottlenecks and Optimize your Virtual Environment Chris Chesley, Sr. Systems Engineer
Network Aware Resource Allocation in Distributed Clouds.
November , 2009SERVICE COMPUTATION 2009 Analysis of Energy Efficiency in Clouds H. AbdelSalamK. Maly R. MukkamalaM. Zubair Department.
Heterogeneity and Dynamicity of Clouds at Scale: Google Trace Analysis [1] 4/24/2014 Presented by: Rakesh Kumar [1 ]
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
Genetic Algorithms by using MapReduce
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.
Energy Aware Consolidation for Cloud Computing Srikanaiah, Kansal, Zhao Usenix HotPower 2008.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
VGreen: A System for Energy Efficient Manager in Virtualized Environments G. Dhiman, G Marchetti, T Rosing ISLPED 2009.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Authors: Mianyu Wang, Nagarajan Kandasamy, Allon Guez, and Moshe Kam Proceedings of the 3 rd International Conference on Autonomic Computing, ICAC 2006,
Biologically inspired algorithms BY: Andy Garrett YE Ziyu.
June 30 - July 2, 2009AIMS 2009 Towards Energy Efficient Change Management in A Cloud Computing Environment: A Pro-Active Approach H. AbdelSalamK. Maly.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Full and Para Virtualization
CS 8625 High Performance Computing Dr. Hoganson Copyright © 2003, Dr. Ken Hoganson CS8625 Class Will Start Momentarily… CS8625 High Performance.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Aneka Cloud ApplicationPlatform. Introduction Aneka consists of a scalable cloud middleware that can be deployed on top of heterogeneous computing resources.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-2.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Chapter 3 : Designing a Consolidation Strategy MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design Study Guide (70-443)
Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Developing resource consolidation frameworks for moldable virtual machines in clouds Author: Liang He, Deqing Zou, Zhang Zhang, etc Presenter: Weida Zhong.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Genetic Algorithms.
Tao Zhu1,2, Chengchun Shu1, Haiyan Yu1
Secrets to Fast, Easy High Availability for SQL Server in AWS
Virtual laboratories in cloud infrastructure of educational institutions Evgeniy Pluzhnik, Evgeniy Nikulchev, Moscow Technological Institute
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Chapter 6: CPU Scheduling
Bin Packing Optimization

20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Module 5: CPU Scheduling
Smita Vijayakumar Qian Zhu Gagan Agrawal
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Cloud Computing Architecture
Boltzmann Machine (BM) (§6.4)
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

A Genetic Algorithm for Workload Scheduling In Cloud Based e-Learning Octavian Morariu Cristina Morariu Theodor Borangiu University Politehnica Bucharest

A resource view on Public(large)/Private(small) Clouds ● Public Clouds – Amazon, Microsoft Azure, Google – General purpose – Unlimited resources ● Private Clouds – More specific purpose – Limited resources – Request based provisioning of resources ● The fact that private clouds have a more specific purpose offers an opportunity to generate near optimal scheduling for workloads

Resource allocation ● Public Clouds: FIFS – No approval process involved ● Private Clouds: Request/Approve model – Cloud administrator has to assure workload distribution/capacity when approving requests for cloud resources – Approval Process implies using a reservation model for resources

Application of small clouds ● Software Testing ● Product Support ● Product Development ● Data mining and reporting ● Proof of concepts ● e-Learning

Optimum Workload Scheduling ● Takes into considerations the primary factors that affect performance in a virtualized environments and the dependency between them. ● Defining workload types – CPU intensive – IO intensive ● Memory over-commitment (VMWare) – Allows allocation of more memory to the virtual machines than is actually available in the physical machine, if the virtual machines are running similar operating systems ● IO profile of a workload has a great impact on virtualization performance

Cloud Computing in E-Learning (VCL Model) ● VCL (Virtual Computing Laboratory) University of North Carolina ● Usage model is based on the workload types: – Single Seat (VCL-Desktop) – Multiple Synched Seats (VCL-Class) – Servers (VCL-Server) – Research Clusters (VCL-Research) – High Performance Computing Clusters (VCL-HPC) ● Resources allocated: on-demand (“now”) model, or by reservation

Considered Scenario Workloads are provisioned and de- provisioned automatically based on a pre-generated schedule The student can use the workload to complete the laboratory activities during the scheduled time slot and when this time slot expires, the scheduler would stop the workload, de-provision it and store it in its current state. The workload for the next student is prepared, provisioned and started.

Request Model Planned Scheduling Requests these are submitted by the professors before the learning cycle starts and based on these requests the weekly schedule will be generated One-Off Scheduling Requests these can be submitted at any time by professors and are subject to manual approval by cloud administrators according to the existing load.

Genetic Algorithm Prototype Data objects and LabInstace data structure The central object LabInstance contains a reference to a Professor object, a StudentGroup, a Laborator and holds information about the duration of the class and how many times it does repeat in the week. The Laborator object contains a reference to a WorkloadType instance, which stores the workload characteristics in terms of CPU profile, IO profile and operating system details. The StudentGroup class contains the name of the student group and the number of students.

The Fitness Function (Hard Conditions) ● Total Load: Iterates all the time slots and computes a sum of all workloads that are scheduled in that time slot. If the total load scheduled is less than the maximum estimated capacity of the cloud, then 10 points are awarded. ● Student Group Overlap: Checks that there is no overlap in the schedule for the same student group. In other words, it assures that a student group is not scheduled twice in the same time slot. If the condition is fulfilled for all student groups, then 7 points are awarded.

The Fitness Function (Soft Conditions) ● Memory Over-commitment: This condition checks that for each time slot that only a single set of WorkloadType are scheduled. For each slot that fulfills this condition 3 points are awarded. When all time slots are evaluated, the score is divided by the number of time slots and added to the global score. ● CPU Intensive: Iterates the time slots and checks that no more than two CPU intensive WorkloadTypes are scheduled at the same time. For each time slot that passes this check one point is awarded. The score is again divided by the number of time slots and added to the global score. ● IO Intensive: Checks that for each time slot there are no more than two IO intensive WorkloadTypes scheduled. ● Uniform Distribution: Computes a factor characterizing the distribution of workloads. The factor is computed by first calculating the average number of workloads scheduled across all time slots and then by evaluating the difference between the calculated average and the number of workloads scheduled. A threshold of 20 workloads is considered acceptable, so if the threshold is respected across all time slots, 5 points are added to the global score.

The Selection Operation Done in two steps: 1. Computing the fitness value for each individual in the population 2. Sorting the population based on the results The best 65% individuals are selected for crossover operation

Crossover Operation Represents the combination of two Schedule instances that produce an offspring. The crossover operation is implemented by generating a random number X (crossover point) between 1 and N, where N is the number of LabInstances. The offspring will inherit the schedule of the first parent from LabInstance1 to LabInstanceX and the schedule of the second parent from LabInstanceX+1 to LabInstanceN.

The Mutation Operation ● Is applied to a randomly chosen subset of individuals in each generation ● Consists in rescheduling of one LabInstance from the data structure. The new schedule is generated by randomly assigning a new time slot for the selected LabSchedule instance. Both the LabSchedule instance and the new time slot are selected and generated randomly.

Genetic Algorithm Structure ● Step1: generateInitialPopulation() ● Step2: while (best individual fitness < min_fitness){ ● Step3: do_crossover(best 65% individuals) ● Step4: calculate_fitness(offsprings) ● Step5: remove_worst(worst 35% individuals) ● Step6: calculate_best_individual_fitness ● Step7: }

Experimental Results Load distribution for Windows (in gray)/Linux (in black)

Experimental Results CPU intensive (in gray)/IO intensive (in black)

Thank You