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, here.)
If you do not receive this information, please email me (cyarp 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.
There is a new system in place this semester to register for an instructional account. Instead of receiving a printout with your username and password, you need to go to http://inst.eecs.berkeley.edu/webacct and login with your calnetID.
Once there, you can click on a button to register a new account. You can also use this system to reset your password should you forget it.
If you registered for the course recently, you may not be able to register using this method. In this case, e-mail me (cyarp at eecs) and I will forward your information to the instructional support staff.
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
- Type mv ~/.bashrc ~/.bashrc_default
- 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.
CS250 Account Form
Since there are several different account that we will be using this semester, it is important that you are associated with each account.
To help with this, you need to fill out this form.
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 instructional machines (download this here, note that each machine cluster has its own key)
- 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:
In addition, instructional computing maintains a help document for NX that can be found at https://inst.eecs.berkeley.edu/cgi-bin/pub.cgi?file=nx.help.
Course Instructional Servers
EECS Instructional Computing maintains several clusters for EECS courses.
The machines we use for this course may change from to time to time but the current machines you should use are:
- hpse-9.eecs.berkeley.edu
- hpse-10.eecs.berkeley.edu
- hpse-11.eecs.berkeley.edu
- hpse-12.eecs.berkeley.edu
- hpse-13.eecs.berkeley.edu
- hpse-14.eecs.berkeley.edu
- hpse-15.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.
The top and users commands can be helpful in determining server load.