18-746 Storage Systems (Fall 2019): FAQ

FAQs will be posted here. Keep checking this page.


Gen.Q1: The project does not compile and I cannot run any tests.

Please follow the direction in the “Using Amazon Web Services” section to spin up an AWS instance with the development environment.
The project setup should work within the AWS instance that we provided for the project, and you should have no expectation that it will work anywhere else. If you are trying to run it anywhere else, it probably won’t work and, even if it does, you must ensure your code works in the AWS instance as the instructors will use it to grade your work.

Gen.Q2: What is the autolab website for 746?

The autolab website is autolab.pdl.cmu.edu.

Gen.Q3: Do we get any grace days? How many?

You have a total of three grace days (i.e., unpenalized late days) for the entire semester. Each checkpoint has a due date and an end date. Grace days can be used to avoid late penalties for submissions past the due date. No submissions are accepted after the end date.

Gen.Q4: How many submissions do we have per checkpoint? Autolab shows infinite submissions remaining.

You are allowed 25 submissions per checkpoint. Any additional submission after the first 25 submissions will incur a penalty of 10% of that checkpoint grade. Autolab shows infinite submissions because we do not impose a hard limit, but rather have a penalty per submission. You can easily check the number of submissions you have already made by scrolling down the checkpoint-submission page, as well as looking at your handin history via 'View Handin History' on the left panel.

Gen.Q5: Will we be graded on code quality for the checkpoints? Do we have a code style guideline?

You should always keep your code in good style, which is generally the requirement of CMU courses (and all jobs in the real world). The style for checkpoints will be inspected and graded after the entire project is completed. In general, you should follow 15213 guidelines for code style.

Exceptions to the 15213 guidelines:

Gen.Q6: What is the password for the user account in the AWS instance? I want to install a package.

We do not provide sudo permission for students in the project VM. There are ways to install packages without root privileges if needed. If you insist on using third party tools or library in your code, you adopt any risk of your code not working when it is submitted to Autolab. Please make sure it will pass the tests on Autolab, so that you are not surprised by your score.

Gen.Q7: How can we find out more about a particular aspect of the lab?

Have you carefully read the handout? :)

Gen.Q8: I can’t access to the course materials on the web page (“Access forbidden”).

Course materials are only accessible within the CMU network. You need to use CMU’s VPN services when accessing from off-campus.

Using Amazon Web Services (AWS)

Read the following guide before starting on any project development, and make sure your AWS account is working.
You must ensure your code works in the AWS instance as the instructors will use it to grade your work.

aws.Q1: Setup and Billing

  1. Create an AWS account here if you don't have one already. Make sure you use your Andrew email address when you create your AWS account
  2. Once you have created your AWS account, please go ahead and join AWS Educate. To do that, click here and select "Join AWS Educate today", then "Apply for AWS Educate for Students". Join AWS Educate only if you have not done so previously for a different class. Designate that you are a student, and fill the form that comes up.
    Note: Some of you may also be taking the 15-619 (Cloud Computing) class concurrently, and your Andrew email might already be tied to it. If that’s the case, use a different email address (e.g., @cs.cmu.edu, @cmu.edu, @gmail) to create a new AWS account. You don't need to do so if you have taken 15-619 in a previous semester.
  3. If your account is new, it comes with 750 hours/month (for 12 months) of free instance time. You need to use the "Free-Tier" instances in order to take advantage of that promotion.
  4. If you need AWS credits for the course, enter your Andrew ID in this Google spreadsheet. If you are registered with the class we will be emailing you a $50 voucher. You can start using AWS without the voucher, since Amazon will not bill you until the end of the month.
  5. To monitor your billing and usage, sign in to your AWS account, click on the drop-down menu with your account name and click on "Billing & Cost Management".
Warning: Make sure to protect your AWS credentials! Do not share or expose them to others online. If your AWS account is compromised and unauthorized charges are made to your credit card, we will be unable to help.

aws.Q2: Starting your AWS instance

  1. Sign into your AWS account.
  2. Click on EC2 under "Compute Services" to be taken to the EC2 Dashboard.
  3. On the right corner of the top bar, click the second drop-down menu from the right to select the datacenter you will be using. Select "N. Virginia".
  4. In the sidebar on the left, click on "AMIs" under the "Images" group.
  5. Click on the drop-down menu under "Launch" and select "Public images".
  6. Use the bar to the right of the drop-down menu to search for '746-update10-devCopy'. Double-check that the image owner is '169965024155'. This is the VM image for the course. Use the refresh button at the top right if the image doesn't show up right away.
  7. Select the AMI, and click "Launch".
  8. Make sure the "t2.micro" instance type is selected (which is also Free-tier eligible, if you are using a new account that benefits from that promotion).
  9. Click "Review and Launch".
  10. On the next screen click "Launch".
  11. In the first drop-down menu select "Proceed without a key pair", and check the checkbox. To access the instance, you will need this key. (If you get "access forbidden" message, make sure that you are on campus and using CMU-secure wifi, or you are connected to CMU VPN.)
  12. Click "Launch Instances", and on the next screen click "View Instances"
  13. In the EC2 Dashboard Instances screen wait for your VM instance state to transition to "running", and the VM status checks to indicate "2/2 checks passed".
  14. Select your instance and check the 'Public DNS' column. Make a note of the machine's FQDN, which will be of the form X.compute-Y.amazonaws.com
  15. From your terminal, run:

    ssh -Y -i "path/to/746-student.pem" student@X.compute-Y.amazonaws.com

    • Make sure the path passed to the -i option points to the 746-student.pem key pair you downloaded from the course website
    • Remember to run "chmod 400 746-student.pem" to ensure your key pair file carries the right permissions
  16. Run the ssh command to connect to your instance!

aws.Q3: Securing your AWS instance

It is a good idea to change the key you use to login to your AWS instance, and stop using the 746-student.pem which the AWS template comes configured with. To do so, we provide a simple script: make_secret_key.sh which will generate a new key and use it to replace 746-student.pem on your instance. Note that if you terminate your instance and create it again from the template image, you will have to run this script again.

aws.Q4: Terminating your AWS instance

When you are done using your VM, you can stop it or terminate it. You can stop your VM by running the shutdown command from within Ubuntu, or using Actions → Instance State → Stop.

Be warned that when your VM is stopped it still consumes resources, which will lead to usage charges for EBS storage (and you may run out of your credit faster). Instead of stopping your VM, make sure to copy out your source code when you're done, and then terminate your instance. You can do that via Actions → Instance State → Terminate.

Last updated: 2019-08-13 19:43:14 -0400