Friday, August 26, 2011

Really Super Quick Start Guide to Setting Up SLURM

SLURM is the awesomely-named Simple Linux Utility for Resource Management written by the good people at LLNL. It's basically a smart task queuing system for clusters. My cluster has always run Sun Grid Engine, but it looks like SGE is more or less dead in the post-Oracle Sun software apocalypse. In light of this and since SGE recently looked at me the wrong way, I'm hoping to ditch it for SLURM. I like pop culture references and software that works.

The "Super Quick Start Guide" for LLNL SLURM has a lot of words, at least one of which is "make." If you're lazy like me, just do this:

0. Be using Ubuntu
1. Install: # apt-get install slurm-llnl
2. Create key for MUNGE authentication: /usr/sbin/create-munge-key
3a. Make config file:
3b. Put config file in: /etc/slurm-llnl/slurm.conf
4. Start master: # slurmctld
5. Start node: # slurmd
6. Test that fool: $ srun -N1 /bin/hostname


(In my config file, I specified "localhost" as the master and the node. Probably a good place to start.)

Thursday, August 18, 2011

CouchDB replicate with authorization

(Parts of this are documented elsewhere, but the more on the googs the better...)

The CouchDB Replicator in Futon is a handy tool, but doesn't seem to work when the target is anything but an Admin Party (everyone is admin). This is a bummer, since presumably no production systems are such a party.

No matter: you can do the same thing with a new document in the _replicate database. Just make a new doc (POST or in Futon):

There are some options:
  "continuous": true     // keep replicating forever as new documents arrive

"create_target": true // allow creation of target_db_name if necessary

When you (re)load this document, you'll see that CouchDB has added some new fields, _replication_id, _replication_state, _replication_state_time. If it worked, the _replication_state should be "triggered".

If the _replication_state is "error", you'll have to go look in the CouchDB server logs for the reason.