18
Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Embed Size (px)

Citation preview

Page 1: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations

Amara Keller, Martin Kelly, Aaron Todd

Page 2: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Unbalanced Loads

Page 3: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Introduction

• Spatial Simulations (previous work)– Each agent has a location in space at all times• Ex. Traffic flow, migration patterns

– Use kd trees to assign slaves to regions of space to distribute work

Page 4: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Introduction

• Social Simulations (our focus)– 0-dimensional simulations are not spatial in nature• Ex. Social networks like Facebook

– No concern about physical locations• Give each agent an ID

– How to distribute work???• Load balancing could depend on simulation• Create load balancing heuristic for ALL simulations

Page 5: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Things that need to happen first…

• Increase usability• Add ability to do distributed computation

Page 6: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

GOALS!!!

Create a system for load balancing 0-dimensional simulations of social networks

Page 7: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

CASE Usability

• Create an easier to use system of simulation configuration

• Create a visual client to manipulate simulation configuration once configuration mechanism is in place

• Create a configuration file for the visual client that would tell the client necessary information for it to initialize a simulation

• Create a standardized system to log simulation data while simulation is running

• Allow CASE to import GIS data

Page 8: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Distributed Computing

• Must be able to use multiple machines.• All load balancing research is IMPOSSIBLE until

this is implemented…

Page 9: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Load balancing of 0-dimensional Social Simulations

• Relatively unexplored• Load balancing of spatial simulations has been

done… but kd tress have been used to split spatial regions

• Social simulations are constantly changing– Agents are not available by location– Friends are changing

• Must partition agents in a “good” way, even while simulation is running

Page 10: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Proposed Solutions

• Usability– CASE will load XML configuration files– Import GIS data into CASE

• Distributed computing– Scala uses Java’s RMI libraries super important!

• Load balancing of social simulations

Page 11: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Load balancing of social simulations

1. Centralized: use properties of the graph2. Slave level: each one adjusts its load

according to the work its doing

Page 12: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Load balancing of social simulations

• Both approaches have same goal– Equal processor load on each slave– Maximal intraslave communication– Minimized interslave communication

• Both attempt to partition the graph into clusters and distribute clusters– Ideal clusters have a large amount of interconnection

and few connections to other clusters• Ex. clique

Page 13: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Partitioning approaches

• Centralized approaches– Adapt spatial method of recursive bisection

partitioning to a non-spatial graph– Partition based on minimum cuts in the graph• Implementation of Ford-Fulkerson method

– Simulation starts• Use bottom-up approach- look for agents to move

– Shift cut line with algorithm

Page 14: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Partitioning approaches

• Slave-based approaches– No central organization– Slaves figure out when they are over or under worked– Agents can have the ability to respond to both

network and processor load– Requires slaves to have a good heuristic to govern

how load should be passed around– Have slave store a record of how much “work” an

agent has been doing and what slaves they communicate with most

Page 15: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Partitioning Approaches

• Shadowing– Agents can be in multiple places at once• Single agent receives messages from every agent in the

simulation but spends very little time processing these messages

– Allows the agent to exist in two places until it chooses the optimal one

Page 16: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Proposed Experiment Domain

• Create a set of test simulations with knowledge of optimal distribution

• Test using small and large amounts of agents• Create a set of test simulations where optimal

distribution is unknown and attempt to understand distribution– All agents on one slave– Create a static social network of clique grouped agents

equal to number of slaves– Change cliques

Page 17: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Proposed Timeline

• Initial Tasks– Continue literature review– Improve core functionality of CASE

• Intermediate Tasks– Explore approaches to load balancing problem

• Final Tasks– Test and tweak selected load balancing algorithm

• Wrap Up– Finalize the test set and prepare final paper and

presentation

Page 18: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations Amara Keller, Martin Kelly, Aaron Todd

Acknowledgements

Trinity University Department of Computer Science

Advisor: Dr. Mark Lewis

For being awesome and feeding us snacks:Becky and Rosie!