190 likes | 282 Views
What the senior design students have been doing. By Chris Klumph and Kody Willman. Resource allocation in a MMOG. in a m assive m ultiplayer o nline g ame (MMOG) multiple users are simultaneously connected at any given time. this is a heterogeneous system varying computer capacity
E N D
What the senior design students have been doing By Chris Klumph and Kody Willman
Resource allocation in a MMOG • in a massive multiplayer online game (MMOG) multiple users are simultaneously connected at any given time. • this is a heterogeneous system • varying computer capacity • varying communication times • implementing static resource allocation heuristics for this type of heterogeneous system is what the senior design students are doing.
For this problem Chris has worked on Kody has worked on • Genitor heuristic • Min-Min heuristic
Previously implemented GA Overview GA_matching_scheduling() { initial population generation; evaluation; while(stopping criteria not met) { selection; crossover; mutation; evaluation; } output best solution found; } • population of 200 players by 100 chromosomes • evaluation using Min-Min • stopping criteria of 1000 iterations or no change in solution • two parent selection by 50 times each iteration to generate new population • two point crossover • 1%-3% chance of mutation • output best solution
GA Original • initial population generation • 1-Secondary Server • 0-Player • evaluation • Min-Min • while stopping criteria not met
GA original Point 1 Point 2 • selection • crossover • two point Swap the 3-6 portion
GA original • mutation • evaluation • Min-Min Randomly Swap numbers
GA original • output best solution however this solution does not guarantee the optimal solution is even considered therefore we decided to remake it
New: Genitor GA • initial population generation • -2 – connected to main server(MS) as a player • -1 – a secondary server(SS) • 1-8 – connected to that SS • evaluation • solve each line by giving Rank(R) • while stopping criteria not met
Genitor GA • selection • crossover • two point Point 1 Point 2 swap the 3-6 portion
Genitor GA in each line do the players match up with the actual SS? • fixing – line not always valid randomly assign the players to the known SS or randomly make new SS
Genitor GA • mutation • fixing – line not always valid • evaluation • solve each line Randomly Swap numbers Evaluate rank, then sort into mapping
Genitor GA • drop lowest ranking • repeat until criteria are met • output best solution at location Rank 1 Questions?
Min-Min Overview considering all unmapped tasks while(there are unmapped tasks) { find task with overall minimum completion time; assign task to corresponding machine; update machines and completion times; } • ours involves • 200 players or tasks • run a Min-Min • run Phase1 • run Phase2 • compare completion times • output best solution
Min-Min • no players connected to MS, only SS • 3 types of players • SS – Secondary Servers • MP – Mapped player • UP – Unmapped player find minimum connection time connect update repeat for all unmapped players
Min-Min Phase1 • start with all users unmapped • randomly pick k users (between 1-10) to be initial SS • finish the mapping with the Min-Min heuristic
Min-Min Phase1 • find the user with the largest round trip time • if user is SS • no players connected • remap as player with better connection time • if user is MP • 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
Min-Min Phase2 • start with the end mapping from Phase1 • find the user with the largest round trip time • if user is SS • means no players connected • consider swapping user in as its SS and making it a player with better overall connection time or • consider swapping with all other SS with smaller overall round trip time
Min-Min Phase2 • if user is MP • consider swapping this user with all other non-SS users • always keep smallest overall round trip time • repeat 1000 iterations or no improvement • output best solution Questions?