180 likes | 325 Views
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
E N D
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
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
Things that need to happen first… • Increase usability • Add ability to do distributed computation
GOALS!!! Create a system for load balancing 0-dimensional simulations of social networks
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
Distributed Computing • Must be able to use multiple machines. • All load balancing research is IMPOSSIBLE until this is implemented…
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
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
Load balancing of social simulations • Centralized: use properties of the graph • Slave level: each one adjusts its load according to the work its doing
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
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
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
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
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
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
Acknowledgements Trinity University Department of Computer Science Advisor: Dr. Mark Lewis For being awesome and feeding us snacks: Becky and Rosie!