CS250 Class Setup and Compute Resources
Piazza
We will be using Piazza as a newsgroup to help facilitate discussion and share information.
Nearly all course information will be distributed through Piazza, and you are encouraged to use this system for all course discussion and issues.
You will receive an invitation to join the class Piazza group within the first few days of the semester. (You can also sign up on your own.)
If you do not receive this information, please email me (bkeller at eecs).
Instructional machine access
Every student needs a CS250 class account to get access to the machines you'll be using for your labs and project.
Class account forms will be handed out in Lecture 2 on 9/3. If you didn't get one, please email me (bkeller at eecs).
Once you have an account form, follow these steps to set up your account:
- Open an SSH session to update.cs.berkeley.edu and login using your class account
- Follow the prompts to change your password, then logout
- Open a new SSH session to one of the instructional servers (see below for a list) and login with your class account
- Type cp ~cs250/tools/cs250.bash_profile ~/.bash_profile
- Now log out. The next time you login, you should be able to run the CAD tools
Github
Github provides git repository hosting services, and they offer their services free of charge to educational institutions.
Please go to github.com and sign up for an account, if you don't have one already.
- Update the Piazza post to match your class account with your name and Github username
- Once you have done this, I will create a private repository for you in the ucberkeley-cs250 organization
- The name of your private repository will be your class account username
- To finish setting up git, open an SSH session to one of the class machines and run the following commands:
- git config --global user.name "Your Name Here"
- git config --global user.email "your_email@youremail.com"
- git config --global credential.helper cache # This command tells git to remember your Github login info for 15 minutes.
- Use the email address associated with your github account as your email address
- To see if your git access is configured properly, try cloning your (empty) private repository and deleting it afterwards.
- git clone https://github.com/ucberkeley-cs250/cs250-xx.git # Replace cs250-xx with your class account username
- rm -rf cs250-xx
- If that works, you are ready to start doing Lab 1.
- You may find it more convenient to automatically authenticate with Github via SSH. Instructions on how to do so are here: https://help.github.com/articles/generating-ssh-keys
- Those of you who are new to git may find this tutorial to be helpful.
NoMachine
You will need to be able to run GUI apps remotely on the class machines.
While X-forwarding with ssh does work, NX is the preferred (read: most responsive) way to do this.
- Download NoMachine: http://www.nomachine.com/download-beta.php
- Click through the welcome/intro screens, then click "Add a computer"
- Name the connection and set the protocol as SSH
- For "Host", enter any of the instruction server addresses (see below)
- Click "Advanced", and select "Use the NoMachine login"
- Check the box marked "Use an alternate server key", then open the file browser and select the key for the icluster machines (download this from Piazza)
- If a message appears asking about server authenticity, click "Continue"
- Log in with your course instructional account username (e.g., cs250-aa) and password
- Click "New Virtual Desktop", and create a new GNOME virtual desktop
You should now be logged into the instructional server. To open up a terminal window once you've connected:
- On the top menu bar, click on Applications - Accessories - Terminal
- You can drag the Terminal icon from the drop down menu to a blank spot on the menu bar to create a shortcut
To log out, simply close the NoMachine window. You will see a prompt to either suspend or terminate your session.
Please make a habit of terminating your NX sessions when you are done working to conserve memory on the servers.
If you are having issues with NoMachine, you can try other (older) NoMachine clients that may work better on your personal machine:
Course Instructional Servers
- icluster12.eecs.berkeley.edu
- icluster13.eecs.berkeley.edu
- icluster14.eecs.berkeley.edu
- icluster15.eecs.berkeley.edu
- icluster16.eecs.berkeley.edu
These machines will perform decently with the VLSI tools as long as they are not overloaded.
Try to load-balance; if you notice that many of your classmates are using one machine, switch to a different one.