<br>On Fri, May 28, 2010 at 9:21 AM, Neal Becker <span dir="ltr">&lt;<a href="mailto:ndbecker2@gmail.com">ndbecker2@gmail.com</a>&gt;</span> wrote:<br>Total newb here.  I don&#39;t support I can add my own custom C modules?
<br><br><br>Neal, <br><br>If you mean, compile your own packages on the machine(s) that in a cluster, you definitely can.   Here are some options you have:<br><br><br>1) make a new amazon Machine Instance. Amazon machine instances (AMIs) are one of the main features of the underlying technology.    The basic process for making an AMI with your custom software is this:<br>
  -- boot up an instance of the existing machine instance that comes with starcluster -- but NOT as part of a cluster using the starcluster start command -- just as a standalone instance, say, by using Elasticfox. <br>  -- install the packages you want. <br>
  -- create an AMI from the running instance by using the starcluster createimage command with appropriate arguments (run from your local machine).<br><br>The process is very easy, but the last step takes a long time to complete --- so it&#39;s not something one does all the time.   One does this, say at the beginning of a projec twhen one has a number of modules to add that iwll be useful for an extended period of time.     <br>
<br>2) Just compile on the running cluster.   You can of course just install C packages  (or any other binaries) on a running cluster and they will work -- but just for that instance, and you&#39;ll have to repeat the process when you start a new cluster.<br>
<br>3) Compile binaries on an EBS volume and link to those.    Depending on your modules&#39; configuration needs, you might be able to compile it in a directory on an attached EBS volume and link to those binaries from whatever application is using your C module.    Of course, this might not work if you need to have compile things in particular locations (/usr/local or whatever), and depends on the specific EBS volume being attached whenever the package is needed ... but it might be easier.<br>
<br>4) Use a plugin.   Starcluster comes with the idea of a &quot;plugin&quot; --- a piece of python code that is run after each cluster starts up.   This code can written to do anything -- for instance, download and install your C module.    If the compilation process isn&#39;t that long, this might be a good option too.   See <a href="http://web.mit.edu/stardev/cluster/docs/plugins.html">http://web.mit.edu/stardev/cluster/docs/plugins.html</a>.  <br>
<br>I think this covers most options. <br><br>Dan<br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br></blockquote><br>