Introduction to the MARCC grid

From CLSP Wiki
Jump to: navigation, search

MARCC is the Maryland Advanced Research Computing Center, a large compute cluster shared by JHU and the University of Maryland, and funded by both universities and by the government of Maryland.

Ben's lab has developed a document explaining MARCC usage, with a focus on differences from the CLSP/COE grids; it contains a few lab-specific details but is largely applicable across labs.

Shepherd is a simple python framework for managing experimental jobs locally and on clusters. It was written by Dingquan Wang at CLSP. It should work on your personal machine, on the CLSP grid, and on MARCC.

Easy login (not very secure)

After setting up two-factor-authorization, we still need to type a 6-digit code every time we login. Here is a trick to walk around it.

First, we access this website and get YourAuthenticorCode: https://password.marcc.jhu.edu/?action=qrretrieve#

Locally install oathtool, expect if you don't have them.

Add marcc to your .ssh/config file, e.g.:

Host marcc
Hostname gateway2.marcc.jhu.edu
User USER@jhu.edu

Then create a local file named login_marcc:

#!/usr/bin/env expect
set key [exec oathtool --totp -b  YourAuthenticatorCode]
spawn ssh marcc
expect "Verification code:"
send "$key\r\n"
set pass YourPassword
expect "Password:"
send "$pass\r"
interact

You will fill in your authenticator code and your password, sadly, in plaintext. If you find a workaround, please update this page. Make sure login_marcc is executable.

Then to login, we just need to type:

expect login_marcc

If the ssh command is run with the -fNM arguemnt in the above file, then you may need to run ssh marcc one more time, but it might keep you verified for the rest of the session.

Occasionally, this fails. Then we can do:

ssh marcc
ctrl+c (when asked for verification code}
expect marcc
ssh marcc