1 / 18

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

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

levana
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Unbalanced Loads

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

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

  5. Things that need to happen first… • Increase usability • Add ability to do distributed computation

  6. GOALS!!! Create a system for load balancing 0-dimensional simulations of social networks

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

  8. Distributed Computing • Must be able to use multiple machines. • All load balancing research is IMPOSSIBLE until this is implemented…

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

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

  11. Load balancing of social simulations • Centralized: use properties of the graph • Slave level: each one adjusts its load according to the work its doing

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

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

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

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

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

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

  18. Acknowledgements Trinity University Department of Computer Science Advisor: Dr. Mark Lewis For being awesome and feeding us snacks: Becky and Rosie!

More Related