AmazonEC2: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
OpenSees can run '''Sequentially''' and in '''Parallel''' on the resources provided by [http://aws.amazon.com/ec2/ Amazon EC2]. '''Amazon EC2''' is the largest and most widely used cloud service provider. Once you are set up with Amazon and have installed some software from MIT, the running of the applications is trivial. For example, 6 commands from the terminal and you could be running a parallel application on a remote Amazon EC2 cluster of a few thousand nodes for a few dollars an hour. And it might not cost you anything, i.e. it could be '''FREE!''' Students and Educators can get [http://aws.amazon.com/education/awseducate/ free hours] through the education program and
OpenSees can run '''Sequentially''' and in '''Parallel''' on the resources provided by [http://aws.amazon.com/ec2/ Amazon EC2]. '''Amazon EC2''' is the largest and most widely used cloud service provider. Once you are set up with Amazon and have installed some software from MIT, the running of the applications is trivial. For example, 7 commands from the terminal and you could be running a parallel application on a remote Amazon EC2 cluster of a few thousand nodes for a few dollars an hour. And it might not cost you anything, i.e. it could be '''FREE!''' Students and Educators can get [http://aws.amazon.com/education/awseducate/ free hours] through the education program and and for those in Industry get a limited amount of resources [http://aws.amazon.com/free/ free for the first 12 months].
and for those in Industry get a limited amount of resources [http://aws.amazon.com/free/ free for the first 12 months].


The following are the 6 commands you would issue from a terminal/dos prompt while you are located in the directory containing the main script to run, Example.tcl, using OpenSeesMP on a 100 node Amazon Cluster and obtain the results that the application generates in the results folder back to the results folder in your current directory. Utilizing Amazon bidding process, see ([http://aws.amazon.com/ec2/purchasing-options/spot-instances/ Amazon Spot pricing], you could run such a 100 node machine for as little as $1.03 an hour ($0.0103 a node at time of writing) !
The following are the 7 commands you would issue from a terminal/dos prompt while you are located in the directory containing the main script to run, Example.tcl, using OpenSeesMP on a 100 node Amazon Cluster and obtain the results that the application generates in the results folder back to the results folder in your current directory. Utilizing Amazon bidding process, see ([http://aws.amazon.com/ec2/purchasing-options/spot-instances/ Amazon Spot pricing], you could run such a 100 node machine for as little as $1.03 an hour ($0.0103 a node at time of writing) !


<pre>
<pre>
Line 8: Line 7:
starcluster put smallcluster ./ /root
starcluster put smallcluster ./ /root
starcluster sshmaster smallcluster
starcluster sshmaster smallcluster
mpiexec -n 100 OpenSeesMP Example.tcl; exit
mpiexec -n 100 OpenSeesMP Example.tcl;  
exit
starcluster get smallcluster /root/results ./
starcluster get smallcluster /root/results ./
starcluster terminate smallcluster
starcluster terminate smallcluster
Line 16: Line 16:


The following [http://opensees.berkeley.edu/OpenSees/code/SmallMP.zip zip file] contains an Example to try out.
The following [http://opensees.berkeley.edu/OpenSees/code/SmallMP.zip zip file] contains an Example to try out.
And here is a [http://opensees.berkeley.edu/OpenSees/videos/AmazonEC2.mp4 video], at the end of which I demonstrate the process.


The initial set-up to enable this requires that:
The initial set-up to enable this requires that:
* You log in with a credit card and obtain an [http://aws.amazon.com/ec2/ Amazon EC2 account] using their detailed [http://star.mit.edu/cluster/docs/latest/installation.html install instructions].
* You log in with a credit card and obtain an [http://aws.amazon.com/ec2/ Amazon EC2 account] using their detailed [http://star.mit.edu/cluster/docs/latest/installation.html install instructions].
* You correctly install the [http://star.mit.edu/cluster/ StarCluster Software from MIT] on your computer.  
* You correctly install the [http://star.mit.edu/cluster/ StarCluster Software from MIT] on your computer.  
* Lastly you use the AMI that we have created for you in the StarCluster config file. The Amazon Ec2 AMI to specify is '''ami-e9ff1182''' and is available in the US East Region.  
* Lastly you use the AMI that we have created for you in the StarCluster config file. The Amazon EC2 AMI to specify is '''ami-e9ff1182''' and is available in the US East Region.  


The change to the StarCluster config file is simply to swap out their ami and replace with ours. The NODE_IMAGE_ID lines should read:
The change to the StarCluster config file is simply to swap out their ami and replace with ours. The NODE_IMAGE_ID lines should read:

Revision as of 17:12, 19 August 2015

OpenSees can run Sequentially and in Parallel on the resources provided by Amazon EC2. Amazon EC2 is the largest and most widely used cloud service provider. Once you are set up with Amazon and have installed some software from MIT, the running of the applications is trivial. For example, 7 commands from the terminal and you could be running a parallel application on a remote Amazon EC2 cluster of a few thousand nodes for a few dollars an hour. And it might not cost you anything, i.e. it could be FREE! Students and Educators can get free hours through the education program and and for those in Industry get a limited amount of resources free for the first 12 months.

The following are the 7 commands you would issue from a terminal/dos prompt while you are located in the directory containing the main script to run, Example.tcl, using OpenSeesMP on a 100 node Amazon Cluster and obtain the results that the application generates in the results folder back to the results folder in your current directory. Utilizing Amazon bidding process, see (Amazon Spot pricing, you could run such a 100 node machine for as little as $1.03 an hour ($0.0103 a node at time of writing) !

starcluser start smallcluster
starcluster put smallcluster ./ /root
starcluster sshmaster smallcluster
mpiexec -n 100 OpenSeesMP Example.tcl; 
exit
starcluster get smallcluster /root/results ./
starcluster terminate smallcluster

The first command starts the cluster. The second command will copy the file Example.tcl to the remote machine. The third command will cause you to log on to your remote clusters 'master' node. The fourth command is the command you would issue on the remote machine to run a 100 processor job. The fifth command retrieves the contents of the /root/results directory. And lastly and an important command (assuming you don't want to use all your free allocation or max out your credit card!) is the command to terminate the remote cluster.

The following zip file contains an Example to try out.

And here is a video, at the end of which I demonstrate the process.

The initial set-up to enable this requires that:

  • You log in with a credit card and obtain an Amazon EC2 account using their detailed install instructions.
  • You correctly install the StarCluster Software from MIT on your computer.
  • Lastly you use the AMI that we have created for you in the StarCluster config file. The Amazon EC2 AMI to specify is ami-e9ff1182 and is available in the US East Region.

The change to the StarCluster config file is simply to swap out their ami and replace with ours. The NODE_IMAGE_ID lines should read:

NODE_IMAGE_ID = ami-e9ff1182

NOTES:

  • The Amazon AMI is a 64bit Linux machine image.
  • As you get more familiar with Amazon you will start using their Amazon storage service, Amazon S3, to store data (think remote hard drives in the sky). The data stored can be mounted to appear as part of the file system. This will allow you to preserve the data remotely without downloading it and allow you to use other AMIs that contain other applications to process the data.
  • It is assumed you know how to run OpenSees and use the terminal window. But if you have got this far on the website you obviously can!