Remote Servers
The ssh program allows for remote connection to a server. It can be tedious to login with a password every time, so it may be worth setting up a keypair (some clusters have two-factor authentication so this is not possible). Some clusters have graphical workstations that allow the user to see a display. This is however very slow, and it is inadvisable to use them for interactive tools. For example, on Talon, the standard login nodes (talon3.hpc.unt.edu) have no graphical output but there are graphical servers one can connect to (vis.hpc.unt.edu). In order to see a display, ssh -X is needed. When working on servers there are typically some good practice guidelines. The most important thing to bear in mind is that the login nodes, that is, the environment the user finds themselves in once connecting to a server via ssh, is shared across users. This means that doing anything computationally intensive here is undesirable. For example, say a folder with many files needs to be copied to the server (typically using scp). Moving many files at once is slow and it is generally recommended to compress these things into archives first (normally tar). When compiling code, one can get away with using the login node, but there are times when compiling on a compute node (the nodes that are actually used for the simulations) may be preferable. It reduces the load on the login node, and it ensures that the environment of the installed binary matches the environment that is used during computation.