I have developed the beginnings of a distributed sat solver in Erlang. This blog is my place to write down my ideas about writing distributed sat-solvers and also describe what I have developed so far. It is also an open invitation to people who are interested in this kind of software to commment and discuss the development of a distributed sat-solver in Erlang.
I became interested in developing parallel applications after finishing a CPU heavy graph algorithm and noticing that the program was running for one hour at 50% CPU! Clearly I would have to rewrite alot of code just to use all the computing power available on my old inspiron laptop. After reading up on Java threading (I'm a Java developer by day) I stumbled on a blog entry talking about concurrency minus the tricky shared state. It was also a vicious tirade about the ignorance of Java developers. The author recommended Erlang and I like the idea of concurrent programming without the goto-like hassles of synchronisation.
I picked the boolean satisfiability problem because depth first search doesn't obviously lend itself to easily balanced work sharing. I started coding in a language I barely understood. It doesn't get much better than this.
No comments:
Post a Comment