Slice Maintenance

Slice API

Nodes come and go. To ease the chore of adding and deleting nodes from your slice, you may choose to use the programmatic interface to the slice database (see the PLC API) instead of the website. The website itself uses the programmatic interface to perform all operations related to slice maintenance. Any operation related to your slice that you are allowed to perform on the website, can also be performed using the programmatic interface.

Admin API

Similarly, any function regarding your account, as well as a host of other functions for accessing PlanetLab Central data including node and site lists, may be called through the programmatic interface to the PLC administrative database (PLC API).

Slice expiration

Please remember that your slice has a finite lifetime and must be renewed periodically. If you no longer use a slice, let it expire, or preferably delete it, to free its resources for other users to use.

Your slice's expiration date may be reset by an administrator for a number of reasons. If the description of your slice is insufficient, or the link to your project website is broken, an administrator may set your slice to expire within a few days, which will force you to update the description. Do not provide a bogus description again; if you continue to provide insufficient descriptions, your slice will be deleted.

Slice creation and renewal may also be temporarily disabled for your site if your site's nodes have been down or unreachable for several weeks, and multiple attempts to contact your site's PI(s) and Technical Contact(s) have all failed. If this happens, contact your site's PI(s) and Technical Contact(s) and ask them to bring up your site's nodes. If you believe that your site's nodes are up and reachable, contact PlanetLab Support. Otherwise, visit your site's Site Details page to find out more about your site's nodes, and how to contact your site's PI(s) and Technical Contact(s).

Etiquette and netiquette

The isolated execution environment in which your slice runs does not allow you to monitor other slice's processes with standard tools such as top or ps. Be assured that nodes are almost never idle, however. Although the system limits your slice's disk, memory, CPU, I/O, and bandwidth usage, it is still possible to interfere with other slices' activities by "hogging" a particular resource.

A few obvious recommendations are listed below.

  • Maintain a web page that describes your slice's purpose, the researchers in charge of it, and their contact information. Link to this web page from your Slice Description.

  • Plan for success. If your service is successful, consider how your code will scale, how you will support it, and how you will maintain it as it grows.

  • Thoroughly debug your code, especially its failure modes, before deploying it. Continually monitor and log its execution. Use a distributed status tool like CoMon to monitor the health of nodes on which your slice is deployed and investigate any anomalies.

  • Do not perform systematic port scans or other experiments that may be interpreted as an attack or other type of illegal activity. Such activities are violations of the AUP, and you may be held legally responsible for them.

  • 800+ machines around the world running hundreds of experiments concurrently leads to a certain amount of churn.? Nodes are rebooted by site and PlanetLab technical staff for any number of reasons, least of which are to swap out a bad disk or to move from one closet to another. Sometimes software bugs or OS upgrades require the node software to be reinstalled to continue operating normally. As such, it is advised all important data be copied from slices to somewhere offline regularly. PlanetLab nodes are not backed up.

Other resources

The PlanetLab Community consists of over 1,000 users at over 200 sites. More often than not, someone on the PlanetLab Users mailing list will be able to answer any question you might have regarding application compilation, deployment, and execution.

If you are having technical difficulty with a node, with your slice, with your account, or with the website, contact PlanetLab Support. If you maintain a long-running service, we urge and will eventually require you to participate in the support system to answer questions and complaints regarding your service.

The current execution environment for the PlanetLab platform is Linux, so a working knowledge of Linux and UNIX APIs, interfaces, and conventions is essential. However, assisting users with general Linux or UNIX questions is beyond the scope and capabilities of PlanetLab Support. If you have such a question, please try to resolve it through Google or through the archives of the PlanetLab Users mailing list before contacting PlanetLab Support.