Getting Started with CitySense

This documentation is only relevant if you have a CitySense account. See UserDocs for information on requesting an account.

Once you have an account, you should do the following:

  1. Join the CitySense Users mailing list  here.
  2. Set up ssh public key access, as described below.
  3. ssh into citysense.net and get started!

Using ssh

To ssh into a node, first log into citysense.eecs.harvard.edu using your CityMD password. Nodes are not directly accessible over the public internet, which is why you must first ssh to citysense.eecs.harvard.edu.

If you want to use a public key for ssh access (highly recommended), follow this procedure:

1) Log in to the CityMD web interface at  http://citysense.net/citymd

2) Click the "Preferences" link on the navigation bar in the upper-right portion of the web page.

3) Upload your public key using the "SSH Public Key" file upload form.

This is the only supported method for using a public key on CitySense. Manually editing your authorized_keys file will not work as you would expect.

Running jobs on CitySense

From citysense.net, you can ssh into any of the CitySense nodes in the indoor and outdoor testbeds. The UserDocs page provides information on determining which nodes are available and what their status is. The outdoor testbed nodes have hostnames of the form citysenseNNN; the indoor development testbed nodes have hostnames of the form citymdNNN.

Currently the only mechanism for running applications on CitySense is to ssh into the node you want to use and run your application. We have installed  pssh, a parallel ssh client, on citysense.net. This allows you to run the same job on multiple nodes in parallel from a single commandline.

We realize that the current method for accessing nodes is very bare bones. We welcome any contributions in terms of better tools for automating the process of setting up, running, and shutting down jobs on the nodes. We are actively working on various tools to simplify the process; let us know on the citysense-users mailing list.

File access

The citymd indoor nodes mount your home directory from citysense.net via NFS, so all of the files can be shared between the indoor nodes and the front-end machine. The outdoor nodes do NOT use NFS (since they only have a wireless Internet connection), so each node has its own local filesystem. We make no guarantees that files on the CitySense nodes (indoor, outdoor, or on citysense.net) will be backed up. If you have important files be sure to back them up yourself.

Also note that we frequently reinstall the OS image on the CitySense nodes from scratch, which will blow away any local files you have installed on the nodes. We suggest you be highly proactive about mirroring important files between the nodes and your home machine.

Node reservation policy

It is possible to reserve nodes for exclusive access for running experiments. When running jobs on CitySense, it is your responsibility to avoid running jobs on nodes that are reserved. You can check whether a node is reserved from the CityMD node status page. If a node is reserved, the Assignment field of the node will be filled in. Such nodes should NOT be used to run jobs. (There is nothing preventing you from logging into and using nodes that are reserved, unless the person who reserved the node has set up some access control.)

It is strongly recommended that node reservations be performed sparingly, if at all. If you need to reserve nodes for an experiment, you should email the citysense-users mailing list and confirm that this will not interfere with other users. In general, you should not plan on reserving nodes unless it is absolutely necessary.