The Sirius Calendar Service

You can get a list of the nodes where Sirius is running via CoMon.

What is Sirius?

Sirius is a service that allows users of PlanetLab to reserve resources on all PlanetLab nodes, at the same time, for one hour. Currently, Sirius grants slices 25% CPU and 2Mb/s minimum outgoing bandwidth (less on nodes with small bandwidth caps).

How do I use Sirius?

Log in to the PlanetLab website and click on the Sirius link in the upper-right-hand corner. The Web interface is reasonably self-explanatory, but just in case I’ve compiled some screenshots to illustrate the process of signing up.

How do I tell when my slice has acquired extra resources?

Although your reservation is system-wide, your slice may acquire resources at different times on different nodes.

On each node, Sirius runs a server on port 8124. Clients that connect to this server are sent the name of the slice that holds Sirius’ resources, followed by a newline ('\n'); or just a newline if no one is using Sirius. Whenever this information changes, Sirius will send an update in the same fashion.

I’ve written a small C program that monitors the status of your slice with respect to Sirius, suitable for use from a shell script: siriuswait.c. Some examples of its use:

# wait for slice princeton_deisenst to acquire extra resources on this node
node$ siriuswait princeton_deisenst
# wait for slice princeton_deisenst to be relieved of its extra resources on this node
node$ siriuswait -n princeton_deisenst

Normally siriuswait exits successfully; if it is unable to wait for the specified event (because there is an error or Sirius is not running or such), it will exit with an error code.

Note: the old mechanism whereby Sirius would use a Unix socket to contact your slice has been removed.

What are the best practices for using Sirius?

PlanetLab nodes and PLC are subject to a variety of faults, some of which interfere with the proper functioning of Sirius. If you are at all concerned about the reproducibility of your results, please use the technique above to verify that Sirius thinks it has given its resources to your slice. If you’re paranoid, you should consider performing an end-to-end test that your slice is actually receiving the promised CPU and bandwidth priority increases.

Can I have the source to Sirius?

Sure, though if you want to run Sirius yourself on a MyPLC, there are some hardcoded constants that you will need to change.

I have a question that’s not on this list.

Contact David Eisenstat (deisenst AT cs DOT princeton DOT edu).