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.

# lastedited 08 Aug 2009
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]
Preview
You are seeing a selection of all entries on this page. See all there are.
about this page
This page is my "blog".
It's just a place to leave some thoughts and things that are going on. Some will be about software, some about humans and some about both. I'll try not to post about the brand of my new toothbrush unless it's really important :-)