Amazon EC2 support for distributed simulation in GUI

Posted on Wednesday 26 March 2008

As described in this paper, the GUI interface to the Sunflower Simulator provides facilities for splitting up your simulations of networks of processing elements over multiple hosts—indeed, the GUI was implemented specifically to enable this.

The GUI now has built-in support for Amazon EC2, letting you instantiate a new simulation engine via a menu item. For those lucky enough to have EC2 accounts, you first have to provide your EC2 credentials to the GUI via the ec2setkeys GUI-only command. You can then use the EC2 menu to instantiate a new simulation engine / processor on an EC2 server. There is a lot of technical legwork going on behind the scenes to make this happen; more on that in a later post.

Here are some screenshots of the process of connecting to a new Sunflower simulation engine instantiated on an Amazon EC2 server (after entering your EC2 credentials):

Select “New Sunflowersim EC2 Engine” from the EC2 pulldown menu:

Request goes out behind the scenes to Amazon Ec2, to instantiate a new Linux server, to startup a Sunflower simulation engine on it, returning the address of the instantiated server:

The GUI then connects to this newly instantiated simulation engine, on the pay-per-compute Ec2 server:

The remote engine is connected to the GUI:

The notation under each box in the right side of the GUI, is node number “@” host number, and there is now a new node 0 on the remote host. Issuing the version command to this node tells you that it is hosted on a Linux machine:

You can now load code into the processor, and it runs on the remote server. You can also instantiate more processors on the same remote host, or instantiate more remote hosts.

NOTE: There is currently no built-in support to kill the remote instances, so you will have to use the EC2 tools to do this manually!

Sorry, the comment form is closed at this time.