title: Amazon AWS - python for beginners
body: <p>I have a computationally intensive program doing calculations that I intend to parallelise. It is written in python and I hope to use the <a href="https://docs.python.org/2/library/multiprocessing.html" rel="nofollow noreferrer"><code>multiprocess</code></a> module. I would like some help with understanding what I would need to do to have one program run from my laptop controlling the entire process.</p>
  
  <p>I have two options in terms of what computers I can use. One is computers which I can access through <code>ssh user@comp1.com</code> from the terminal ( not sure how to access them through python ) and then run the instance there, although I'd like a more programmatic way to get to them than that. It seems that if I ran <a href="https://docs.python.org/2/library/multiprocessing.html#using-a-remote-manager" rel="nofollow noreferrer">a remote manager</a> type application it would work?</p>
  
  <p>The second option I was thinking is utilising AWS E2C servers. (I think that is what I need). And I found <a href="https://github.com/boto/boto" rel="nofollow noreferrer">boto</a> which I've never used but seemed to provide an interface to control the AWS system. I feel that I would then need something to actually distribute jobs on AWS, probably similarly as option 1 (?). I'm a bit in the dark here.</p>
  
  <p>EDIT:</p>
  
  <p>To give you an idea of how parallelisable it is:</p>
  
  <pre><code>res = []
  for param in Parameters:
      res.append(FunctionA(param))
  Parameters2 = FunctionB(res)
  res2 = []
  for param in Parameters2:
      res2.append(FunctionC(param))
  return res, res2
  </code></pre>
  
  <p>So the two loops are basically where I can send off many <code>param</code> values to be run in parallel and I know how to recombine them to create <code>res</code> as long as I know which <code>param</code> they came from. Then I need to group them all together to get <code>Parameters2</code> and then the second part is again parallelisable.</p>