Supporting Simulations on the Cloud using Workflows & Virtual

Supporting Simulations on the
Cloud using Workflows & Virtual
Gary Polhill
Macaulay Land Use Research Institute
Edoardo Pignotti
Computing Science, University of Aberdeen
 The SwarmCloud project
 Social simulation & the Cloud
 A virtualised simulation environment
 Facilitating access with workflows
 Workflows on the Grid/Cloud
 Conclusions
The SwarmCloud Project
 Goal: to enable the FEARLUS simulation model to be
run on National Grid Service infrastructure
 What’s so hard about that?
 FEARLUS is written in Obj-C for the Swarm libraries—
notoriously difficult to install
Numbers of pre-requisite libraries
 Can be sensitive to particular versions of libraries and Unix
 Typical Grid use-cases involve running a script
 e.g. Model calibration
 Other software environments for social simulation
exhibit the same issues (barrier to adoption)
How can social simulation benefit from the
 Enabling large-scale distributed simulations
 e.g. Fraser et al. (2009 Science), Birkin et al. (2009
SSCoRe), Tang & Bennett (2009 US-IALE)
 More challenging because of managing agent
interactions across node boundaries
 Enabling multiple runs of smaller-scale models for:
 Exploring parameter space
 Experimenting with algorithmic variants
 Trying different scenarios
 Increasing sensitivity (more runs with different seeds)
 ‘Embarrassingly Parallel’
Software dependencies
 Swarm software
dependencies shown
 ‘worst-case’
 Java not immune
 Pre-requisite jars can be
required (with version
 JRE version sensitivity
 Obvious problems for
programs/libraries using
The solution: A virtualised simulation environment:
 We used a lightweight version of Centos 5.2 to create
a virtualised simulation environment containing
Swarm, MASON and RePast
 Compressed image ~1GB in size
 The simulation environment was created using Sun’s
VirtualBox virtualisation software
 Binaries available under a Personal Use and Evaluation
Virtualisation on the Cloud
 The virtualisation approach relies on the Cloud host
making virtualisation facilities available
 The National Grid Service is testing a virtualisation
service based on Xen/EUCALYPTUS at Oxford
 Xen: Open Source standard for virtualisation
 EUCALYPTUS (Elastic Utility Computing Architecture
Linking Your Programs To Useful Systems): Open-source
system for implementing clouds
Provides an authentication layer, and manages virtual
machines using ec2 tools
Facilitating access: Workflows
 Virtualisation provides a replicable environment
for compiling and running a social simulation
 ‘User interface’ not very friendly
 Access via ssh
 Kepler workflow tool used to design simulation
Upper Deeside Case-study
Workflows on the CLOUD
 We have developed a number of Kepler
workflow activities based on the ec2 tools:
 Authenticate a user on the Cloud
 Upload simulationBox to a node manager
 Create instances of simulationBox on the Cloud
 Query for available simulationBox instances on the Cloud
 Compile a new simulation model on a simulationBox instance
 Run the model multiple time across different VM instances
 Collect and analyse results, saving them on the local machine
 Our Kepler libraries can be downloaded from
Compile a simulation model
Run an experiment
 For Cloud infrastructure supplying virtualisation
services it is possible to run social simulations with
specific computing requirements
 Access is facilitated through workflows that can be
shared amongst people
 Website:
 ESSA 2009 Tutorial on simulationBox
 Large Scale Social Simulation
Special Interest Group (ESSA)
 SwarmFest 2010

similar documents