How to Start Using Our Systems
Any faculty, staff or student at Princeton can use the computing resources operated by Research Computing. Here's what you need to do:
1. Get a Princeton computer account
All Princeton faculty, staff and students are automatically assigned a computer account (NetID) and email address. Any non-Princeton user must be sponsored by a Princeton faculty or staff member for a Research Computer User (RCU) account. Only faculty and approved staff can submit an RCU request.
2. Enable Unix shell access (Nobel only)
If you want to use the two Nobel machines for classes and you joined the university before July 2021 then you need to first activate your Unix account (click on "Update your Unix Account"). All others should skip this step.
3. Decide which system to use
Research Computing operates several different systems, which are described on the Systems web page. Review the systems and find the one(s) most suitable to you. More information is available on each individual system page (e.g., visit the Adroit page). A more technical overview of our systems' hardware is also available.
4. Request access to the system
All members of Princeton with a NetID have access to the Nobel system (see 2 above). To use Adroit, simply fill out the Adroit request form. Access to the other, larger clusters is granted on the basis of proposals from faculty members. Information about the proposal process can be found on our Get an Account page. To add new participants to an existing project, the sponsoring faculty member simply sends email to [email protected].
5. Connect from wireless or off-campus
Access to Research Computing systems is allowed from any campus wired or wireless network, except for the puvisitor wireless network. From off-campus, it is recommended to connect via VPN. If you encounter difficulties in either case, see our why can't I log in to a cluster using SSH? page.
Some familiarity with how high-performance computing systems work and Linux commands are highly recommended before you begin working on Princeton's clusters.
If you are not familiar with high-performance computing, please read through our Guide to the Princeton Clusters. If you prefer live training, we offer a Getting Started with the Research Computing Clusters workshop, which reviews the Guide to the Princeton Clusters material. You can also view recordings of this workshop in our training archives.
If you are not familiar with using Linux commands, materials from the Research Computing workshop, Intro to Linux Command Line, are available online. You can also attend a live training of this workshop, or view recordings of this workshop in our training archives. For online tutorials, explore the links on our external resources page.
6. Connect to the system from your computer
To connect to any of the Research Computing systems use SSH and log in with your NetID. Linux and Mac users need only open the Terminal application window and type the “ssh” command followed by their NetID and the name of the system they want to use. For example, the user "aturing" would connect to Adroit by opening a Terminal window and running:
$ ssh [email protected]
Users of MS Windows systems must first install an SSH client program. The OIT Tech Clinic recommends MobaXterm, which combines SSH, SFTP and X-Windows capabilities for working with graphics. Another option is PuTTY which is also supported by OIT.
Duo authentication is required. After you have connected, you will be prompted for your password. Then you will be prompted to enter Linux commands. The following example shows "aturing" logging into the Adroit system:
$ ssh [email protected] aturing@adroit's password: Last login: Tue Oct 3 12:07:27 2019 from 126.96.36.199 [aturing@adroit4 ~]$
7. Locate or create the program that you want to run
If you want to run an existing program
Many commonly used research applications are already installed on the Research Computing clusters, and can be access through our environment module system. A list of available licensed software is on the Research Computing website. On Nobel, you can run a program directly, by typing the appropriate command after the Linux prompt. On our other systems, you must create a "script file" containing the commands needed to run the program and "submit" the job script to the Slurm scheduler.
If you want to run a program that you create yourself
The process for creating, compiling and running a program in C, C++ or Fortran is described in these examples and Compiling and Running MPI Jobs. You can create the program source on your own computer and transfer it to the cluster, or you can use one of the editors provided on the cluster (e.g., vim or emacs).
8. Create and submit a script file to run your program
A Slurm script file is just a text file that begins with a few lines telling the Slurm scheduler how many resources you need, followed by the Linux commands to run your program. You can create the file with any editor that can create plain text files. For more information see Introducing Slurm.
Storing your data and programs
All of the large clusters are connected to a very large, fast storage system named /tigress and /projects. It provides long-term, backed up storage for all cluster users. In addition, each cluster has small, fast, locally connected storage. Local storage is divided into a /home directory where you can store program files, job scripts, etc., and a scratch directory that you use for reading and writing data during a program run. See our Data Storage page for more details.
Transferring data between computers
To transfer small amounts of data between computers, you can use sftp or scp.
Use the Globus data transfer network to transfer large data files between Princeton computers and also to/from computers at other institutions.
Many tools and techniques are available for visualizing data on each cluster. We provide general guidelines for working with visualizations on our systems. For general visualization questions, send e-mail to [email protected] or come to a help session where specialized visualization assistance is available. For help with visualization of geographic data, often referred to as Geographical Information Systems (GIS), refer to the Getting Started with Geographic Information Systems document on the Research Computing web site.
For More Information
Answers to common questions about Research Computing systems can be found in the FAQ section of the Research Computing web site. You can also send questions to [email protected] or attend a help session for one-on-one help.
If you encounter unfamiliar terminology, refer to Research Computing's Glossary page.
In short, you might eventually need to perform computations that your laptop or dedicated research desktop just can't handle. You might have so much data that it won't even fit in your personal computer's RAM (or hard drive). You might need to run calculations that would take your laptop years to complete, so you need parallel programming to get results. You might need access to software that runs only the research computing systems. Or maybe your research group simply wants its programs and data in a centralized place. All of these are typical use cases.
In addition, faculty and students sometimes want a common computing environment for a course. Our smaller systems -- Nobel and Adroit -- are typically used for this purpose. Many of the live trainings and workshops offered by Research Computing (see below) require an account on Adroit.
The research computing website has a step-by-step tutorial on how to connect to the system. That same page contains links near the bottom on related topics like data transfer and data visualization. Our FAQ also has useful information.
For users completely new to clusters or Linux in general, we have a new user's guide.
Check out our one-on-one help sessions.
Helpful tip: when typing a question into a search engine, you are more likely to find Princeton-hosted resources if you add the word 'Princeton' to your search string.
In addition to the above, Research Computing also has a collection of links to online information that could be helpful for more specific aspects of using our systems. Future additions to this list may touch on broader topics in research computing.
Yes. Research Computing offers numerous workshops during the academic year and over fall, winter, and spring breaks. In addition to instruction on the basics of the command line and using our systems, we are also offering training in topics from version control to Python programming to data visualization. Most of our trainings are posted on the Research Computing website, but more workshops tailored to the needs of the Princeton research community are constantly under development, so please keep an eye out for posters and other training announcements we make around campus.
One-on-one help sessions run by Research Computing staff are held twice a week, on Tuesdays and Thursdays, year-round.
Please see our How to Get Help page.