Presentation is loading. Please wait.

Presentation is loading. Please wait.

Resource Allocation in Heterogeneous Computing Systems

Similar presentations


Presentation on theme: "Resource Allocation in Heterogeneous Computing Systems"— Presentation transcript:

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

2 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

3 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

4 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

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

6 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

7 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

8 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.

9 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

10 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

11 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

12 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

13 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; }

14 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

15 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

16 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

17 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

18 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

19 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?


Download ppt "Resource Allocation in Heterogeneous Computing Systems"

Similar presentations


Ads by Google