expanding the case framework to facilitate load balancing of social network simulations
DESCRIPTION
Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations. Amara Keller, Martin Kelly, Aaron Todd. Unbalanced Loads. Introduction. S patial Simulations (previous work) Each agent has a location in space at all times Ex. Traffic flow, migration patterns - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/2.jpg)
Unbalanced Loads
![Page 3: Expanding the CASE Framework to Facilitate Load Balancing of Social Network Simulations](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/5681649f550346895dd688da/html5/thumbnails/18.jpg)
Acknowledgements
Trinity University Department of Computer Science
Advisor: Dr. Mark Lewis
For being awesome and feeding us snacks:Becky and Rosie!