Resource Allocation in Heterogeneous Computing Systems

Slides:



Advertisements
Similar presentations
Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture.
Advertisements

CS6800 Advanced Theory of Computation
Exact and heuristics algorithms
By: Chris Klumph and Kody Willman. Types of Heuristics References Terminology Static Mappings 6 Example mappings 4 Graph chromosome mappings 1 Tree mapping.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Algorithm.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
16 Sep 04Transport Workshop at Queen's1 A numerical comparison of three heuristic methods for path reassignment for dynamic user equilibrium Ying-en Ge.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
What the senior design students have been doing By Chris Klumph and Kody Willman.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
A Fast Genetic Algorithm Based Static Heuristic For Scheduling Independent Tasks on Heterogeneous Systems Gaurav Menghani Department of Computer Engineering,
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Greedy Algorithms Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
Algorithm Design Techniques, Greedy Method – Knapsack Problem, Job Sequencing, Divide and Conquer Method – Quick Sort, Finding Maximum and Minimum, Dynamic.
Advanced Sorting 7 2  9 4   2   4   7
Introduction to Genetic Algorithms
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
SECTION 5 Full Vehicle Analysis.
Evolutionary Algorithms Jim Whitehead
Data Structures Lab Algorithm Animation.
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Chapter 5: Control Structure
Priority Queues Chuan-Ming Liu
Traffic Simulator Calibration
Chapter 6: Genetic Algorithms
Computer Science cpsc322, Lecture 14
Bin Packing Optimization

Prof. Marie desJardins September 20, 2010
Games with Chance Other Search Algorithms
Multi - Way Number Partitioning
Genetic Algorithms CPSC 212 Spring 2004.
CS621: Artificial Intelligence
Modified Crossover Operator Approach for Evolutionary Optimization
Selection Sort Sorted Unsorted Swap
Introduction to Computer Programming
Merge Sort 11/28/2018 2:18 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 2:21 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 8:16 AM The Greedy Method The Greedy Method.
Finding Functionally Significant Structural Motifs in Proteins
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Add Heuristic a b C D E Switch Cost
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Matthew Renner, Trish Beeksma, Patch Kenny
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
EE368 Soft Computing Genetic Algorithms.
Boltzmann Machine (BM) (§6.4)
Quadratic Sorts & Breaking the O(n2) Barrier
Searching for solutions: Genetic Algorithms
Artificial Intelligence CIS 342
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Steady state Selection
Alex Bolsoy, Jonathan Suggs, Casey Wenner
Population Methods.
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

Resource Allocation in Heterogeneous Computing Systems By Chris Klumph and Kody Willman Advisor: Professor H.J. Siegel

Resource allocation in a MMOG in a massive multiplayer online game (MMOG) multiple users are simultaneously connected at any given time a heterogeneous system includes varying computer capabilities varying communication times need to implement resource allocation heuristics for this heterogeneous system

Part of our problem … … all players connected directly to a MS vs. Mn-1 Mn Main Server … all players connected directly to a MS vs. players are connected to a MS directly or through SS M1 SS2 M3 M4 M5 SS6 Mn-1 Mn Main Server …

Goal of Project and Terminology given 200 players are directly connected to MS need to create different heuristics distribute the 200 players between MS and SS So RTmax time is as low as possible RTmax the maximum communication time between computers and MS heuristic way to allocate resources chromosome mapping of a possible solution of players and SS

For this problem Chris has worked on Genitor heuristic Kody has worked on Min-Min heuristic

Genitor Overview Genitor_matching_scheduling { initial_population_generation; ranking; while(stopping criteria not met) selection; crossover; mutation; } output best solution found; selection – selects 2 random parents in the hope of duplicating better chromosomes crossover – picks 2 random points within chromosomes, and swaps data points in between points mutation –randomly mutate elements within chromosomes ranking – determines which chromosome represents the best solution found, inserts into ranked list stopping criteria – 10,000 iterations with no change in best solution or 10 minutes

Chromosome Example Users 1 & 3 connected to SS which is user 2 6 2 Users 1 & 3 connected to SS which is user 2 Users 4 & 5 connected directly to MS Users 7, 8 connected to SS which is user 6 4 1 8 5 7 3 Player # 1 2 3 4 5 6 7 8 SS M

Initial Population and Ranking Player # 1 2 3 4 5 6 7 8 M SS 9 10 initial population generation M – connected to main server(MS) as a player SS– player is a secondary server 1-8 – player is connected to that SS randomly generates 200 chromosomes ranking (R#) create ranked list based on each chromosome’s RTmax Each mapping is created durring the initial population phase. Stopping criteria is 300,000 iterations.

Selection and Crossover two parents roulette wheel selection crossover - two point R# Player # 1 2 3 4 5 6 7 8 M SS 9 10 Point 1 Point 2 R# 1 2 3 4 5 6 7 8 M SS Choose the parents randomly using Roulette Selection swap the 3 through 6 portion R# 1 2 3 4 5 6 7 8 M SS

Crossover Fixing fixing – line not always valid Player # 1 2 3 4 5 6 7 8 M SS 9 10 check that all players match up to valid SS or MS R# 1 2 3 4 5 6 7 8 M SS randomly assign the players to the known SS or to MS If it was a SS, find all that were connected to it and randomly reassign to another SS (individually) If you are now connected to a SS that isn’t a -1 (ie invalid) then randomly assign yourself to another valid SS. R# 1 2 3 4 5 6 7 8 M SS

Mutation randomly swap numbers 0.1% chance Player # 1 2 3 4 5 6 7 8 M SS 9 10 11 12 randomly swap numbers 0.1% chance R# Player # 1 2 3 4 5 6 7 8 M SS 9 10 R# 1 2 3 4 5 6 7 8 M SS 6->7 rank each chromosome, then sort into mapping R# 1 2 3 4 5 6 7 8 9 M SS

Repeat and Final Output Player # 1 2 3 4 5 6 7 8 M SS 9 10 11 12 R# Player # 1 2 3 4 5 6 7 8 M SS 9 10 drop two lowest-ranking chromosomes repeat until 10,000 iteration of no change in best solution or 10 minutes output best solution at location Rank 1 done

Min-Min Overview have 200 players or tasks run a greedy Min-Min (used as base comparison) run Phase1 run Phase2 compare completion times output best solution considering all unmapped tasks while(there are unmapped tasks) { find task with single overall minimum computation plus connection time; assign task to corresponding machine; update machines and computation and connection times; }

Min-Min Introduction no players connected to MS, only SS 1 2 3 4 5 6 7 8 9 10 Type UP no players connected to MS, only SS 3 types of players UP – unmapped player SS – secondary servers M – mapped to MS 1-10 – player mapped to that SS find player with minimum connection plus computation time connect player update connection and computation times repeat for all unmapped players P# 1 2 3 4 5 6 7 8 9 10 Type M SS

Greedy Min-Min Base start with all users unmapped randomly pick k users (between 1-10) to be initial SS finish the mapping with a modified Min-Min heuristic not able to create more SS than k randomly generated P# 1 2 3 4 5 6 7 8 9 10 Type UP P# 1 2 3 4 5 6 7 8 9 10 Type UP SS P# 1 2 3 4 5 6 7 8 9 10 Type SS M

Phase 1 implementation find the user with the largest RTmax if user is SS or M no other players connected remap as player connected to SS with a better RTmax if user is connect to SS remap as player to different SS with better connection time or remap as SS with better connection time repeat for 1000 iterations or no update P# 1 2 3 4 5 6 7 8 9 10 Type SS M P# 1 2 3 4 5 6 7 8 9 10 Type SS M

Phase 2 set up start with the end mapping from Phase 1 find the set of all the SS from the set of SS find the SS with the largest α α is highest computation plus highest communication p is the number of players connected to that SS µ is the computational constant for that SS Comm(SS, MS) is the communication time from SS to the MS α = (p)² x µ + 2 x Comm(SS, MS) P# 1 2 3 4 5 6 7 8 9 10 Type SS M

Phase 2 implementation try swapping all mapped players into the set of SS in the α SS location remap with the modified Min-Min if mapped player gives a better round trip time make that mapped player a SS repeat 1000 iterations or no improvement output best solution P# 1 2 3 4 5 6 7 8 9 10 Type SS M P# 1 2 3 4 5 6 7 8 9 10 Type SS M

Future Work continue to modify current heuristics to get better results could possibly implement other types of heuristics consider making it a dynamic application where players can join, play, and then leave budget have not needed to buy equipment or programs still have full budgeted amount of $100 sponsors no sponsors currently Questions?