08 Aug 2009

When I run computer simulations, I have to have a solution for the same set of technical tasks each time:

  • How to combine variable settings in experiments
  • How to store log files nicely
  • How to plot nice graphs from those log files
  • How to run these expensive computations on remote servers (e.g. university servers)

Now I have one solution for all of this and I am very happy with it:


The above bundle of tasks is universal to a lot of scientists that need to to run computational experiments. I myself will run into this over and over again.

It is a natural reflex of a software developer to build a good tool for this over time and this is what I did. While working on several projects during my Masters, the latest of which is my thesis, I developed scripts for all of these tasks and bundled them together so that you could now call it an application: Combex (Combinatorial Experimentor).

It has turned out to be very useful to me lately and I would like to share this tool with anyone who is interested (this is its home). There are a lot of things that could be even nicer (I already maintain a ticket list), so I welcome contributions.

Note that Combex lets you program whatever you want in whatever language you want, all it wants is that you write log files.

I will let the (sparse) documentation speak for itself and just throw in another screenshot which shows how it all nicely comes together: A (dummy) experiment gets chopped into several tasks and those are shipped to remote servers. I can nicely check if they are done. If so, I have Combex get the data and generate nice plots.



P.S. To talk about our process and find general, reproducible solutions seems to be a general trend in science, see e.g. myexperiment.org.


P.P.S. I am unaware of any other software that offers this task bundle, even if its commercial. Anyone knows software like that? I only found quite specialised approaches, but what I like about Combex is that it doesn't care what the hell your code is doing as long as you configure variables and log data. It is more of a very simple workflow with nice tools along the way. In principle, a lot of other software (say, statistical processing) could be hooked into this as needed.


P.P.S. I am still open to be convinced by a better name for this.

P.P.P.S. It has now changed name (it also evolved a lot) and lives here.

# lastedited 02 Feb 2017
follow comments per RSS     
  on27 Aug 2009 - 10:44 fromPete Lewis wwwhttp://www.petesodyssey.org

Very interesting, will take a look.

 

BTW, KDE + Vim = yay!

[link]
  on27 Aug 2009 - 14:07 fromNic

Well, I suppose you are all set for the rest of your science (=PhD) career?

[link]
You are seeing a selection of all entries on this page. See all there are.