Farm Reservation

From Pmgwiki

Jump to: navigation, search

We've had a lot of people using the farm machines lately. It's important to be able to keep track of who's using them at any given time to make sure that we don't step on each others' toes, and to make sure that anyone who needs to run performance experiments can get exclusive access to the machines.

We had a wiki page for tracking who's using the machines, and currently ask people to email farmers@csail, neither of which was a very effective solution. I've put together a new farm reservation system that's designed to make it convenient to reserve machines and check which ones other people are using.

Note that this system makes no effort to enforce reservations -- it will still let you use machines you haven't reserved. But I'm proposing the following policy: if someone is using any of the machines for more than a couple minutes without registering their usage, other people should not feel any qualms about killing their jobs.


Using the reservation system

The new reservation system is easy to use! Just run the 'farmreserve' command on any farm machine. It takes a few arguments, depending on what you're trying to do.

Acquiring a reservation

To acquire a reservation, use 'farmreserve --acquire (--exclusive|--shared) [hosts]' depending on whether you want an exclusive lock or a shared lock. Exclusive locks are meant for performance experiments; they don't lock out logins but do prevent other people from acquiring any reservations on the same hosts. The list of hosts can contain ranges. For example:

  • farmreserve --acquire --exclusive farm7,10
  • farmreserve --acquire --shared farm5-14

You'll be prompted for a description of your use and an estimate of how long you'll be using them -- these are just for informational purposes.

Reservations are displayed on a webpage, and in the login message of the affected farm machines. They'll also be announced, unless the -q (--quiet) option is used, via a message to currently-logged-in users, and an email to farmers@csail.

Releasing a reservation

Reservations can be released with farmreserve --release [hosts]

Viewing reservations

The prettiest way to see the current farm status is to go to

You can also see the status using 'farmreserve --list'. Adding -v shows more information.


  • To manage the mailing list, see the mailing list documentation.
  • If you really know what you're doing, you can use the --force option to acquire a lock even if other people have conflicting locks.
  • If you'd like to be able to use the reservation system from some other host, just 'ln -s /nfs/flute/u/farmres/farmres/farmreserve-wrapper /usr/local/bin/farmreserve' (assuming you are able to access flute via /nfs)
Personal tools