Introduction to Boston University’s Shared Computing Cluster (SCC)

Slides:



Advertisements
Similar presentations
Lab III – Linux at UMBC.
Advertisements

Linux, it's not Windows A short introduction to the sub-department's computer systems Gareth Thomas.
Learning Unix/Linux Bioinformatics Orientation 2008 Eric Bishop.
Chapter One The Essence of UNIX.
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming Preparation for working in the CSIL Basic LINUX operations.
Linux+ Guide to Linux Certification, Second Edition
“Linux at the Command Line” Don Johnson of BU IS&T.
CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle.
Using the “CLI” Unix / Linux Preparation Course May 25 Djibouti.
Overview of Linux CS3530 Spring 2014 Dr. José M. Garrido Department of Computer Science.
Unix Primer. Unix Shell The shell is a command programming language that provides an interface to the UNIX operating system. The shell is a “regular”
Essential Unix at ACEnet Joey Bernard, Computational Research Consultant.
Unix Basics Chapter 4.
– Introduction to the Shell 10/1/2015 Introduction to the Shell – Session Introduction to the Shell – Session 2 · Permissions · Users.
1 SEEM3460 Tutorial Unix Introduction. 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web.
Computer Programming for Biologists Oct 30 th – Dec 11 th, 2014 Karsten Hokamp  Fill out.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
LINUX Tuesday, 5 July :00 pm. Remote Login l Use Secure Shell (ssh) l Machine name/IP address E.g. ssh hydra.sma.nus.edu.sg Or ssh
System Administration Introduction to Unix Session 2 – Fri 02 Nov 2007 Reference:  chapter 1, The Unix Programming Environment, Kernighan & Pike, ISBN.
CCPR Workshop Introduction to the Cluster July 13, 2006.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
Lesson 2-Touring Essential Programs. Overview Development of UNIX and Linux. Commands to execute utilities. Communicating instructions to the shell. Navigating.
Introduction to Fortran Welcome to IT’s seminar on Fortran Sam Gordji, Weir 107.
Created by Harry H. Cheng,  2009 McGraw-Hill, Inc. All rights reserved. C for Engineers and Scientists: An Interpretive Approach Chapter 2: Getting Started.
8-2 What is a program? What is a “Window Manager” ? What is a “GUI” ? How do you navigate the Unix directory tree? What is a wildcard? Readings: See CCSO’s.
Introduction to Programming Using C An Introduction to Operating Systems.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
Using the “CLI” Unix / Linux Preparation Course June 9, 2013 Lusaka, Zambia.
CS 245 – Part 1 Using Operating Systems and Networks for Programmers Jiang Guo Dept. of Computer Science California State University Los Angeles.
Linux+ Guide to Linux Certification, Second Edition Chapter 4 Exploring Linux Filesystems.
1 CS3695 – Network Vulnerability Assessment & Risk Mitigation – Introduction to Unix & Linux.
Learning Unix/Linux Based on slides from: Eric Bishop.
INTRODUCTION TO SHELL SCRIPTING By Byamukama Frank
Advanced Computing Facility Introduction
Overview of Linux Fall 2016 Dr. Donghyun Kim
ENEE150 Discussion 01 Section 0101 Adam Wang.
UNIX To do work for the class, you will be using the Unix operating system. Once connected to the system, you will be presented with a login screen. Once.
CS1010: Intro Workshop.
SUSE Linux Enterprise Desktop Administration
Chapter 11 Command-Line Master Class
Web Programming Essentials:
Andy Wang Object Oriented Programming in C++ COP 3330
Unix Shells.
Some Linux Commands.
C151 Multi-User Operating Systems
The Command Prompt Commands are the way to “do things” in Unix
Introduction to Linux Dr Karina Kubiak - Ossowska
The Linux Operating System
Introduction to Programming the WWW I
Assignment Preliminaries
CSE 303 Concepts and Tools for Software Development
UNIX Basics Internet Technology.
INTRODUCTION TO UNIX: The Shell Command Interface
Basic UNIX OLC Training.
Using Linux Commands Lab 3.
Introduction to Boston University’s Shared Computing Cluster (SCC)
Intro to UNIX System and Homework 1
WELCOME FREESURFER COURSE ATTENDEES!
Introduction to Boston University’s Shared Computing Cluster (SCC)
LING 408/508: Computational Techniques for Linguists
C Programming Lecture Series
Web Programming Essentials:
Getting Started: Amazon AWS Account Creation
Introduction Paul Flynn
Linux Shell Script Programming
Command line.
CSE 303 Concepts and Tools for Software Development
Computational Skills Primer
Working in The IITJ HPC System
Presentation transcript:

Introduction to Boston University’s Shared Computing Cluster (SCC) Aaron D. Fuegi aarondf@bu.edu Research Computing Services Information Services & Technology Boston University Introduce myself, Katia, and RCS (previously SCV). Distribute brochures, slide printouts, and Getting Started PDF printouts. Do you currently have an SCC account? Are you familiar with Linux?

Outline What is the Shared Computing Cluster (SCC)? Information Services & Technology 9/16/2018 Outline What is the Shared Computing Cluster (SCC)? Getting an Account on the SCC Connecting to the SCC Using the SCC (Hands-On) Questions? Questions are welcome at any time. Please just raise your hand. This tutorial is still quite new. It is scheduled for two hours but that should leave lots of time for questions. The second half only of the tutorial will be hands-on and I will stop when we get to that point to make sure everyone can connect to the SCC from their workstation or laptop.

Information Services & Technology 9/16/2018 What Is The SCC? A Linux cluster with over 3600 processors and 232 GPUs. Currently over 1 Petabyte of disk. Located in Holyoke, MA at the Massachusetts Green High Performance Computing Center (MGHPCC), a collaboration between 5 major universities and the Commonwealth of Massachusetts. Went into production in June, 2013 for Research Computing. http://www.bu.edu/tech/support/research/computing-resources/scc/ URLs with many slides providing much more detailed information.

Why Holyoke? – MGHPCC Benefits Information Services & Technology 9/16/2018 Why Holyoke? – MGHPCC Benefits Green, environmentally friendly design. Low cost, clean and renewable energy source. Space on-site for building expansion (years 10-20). Opportunities for shared facilities and services. Opportunities for collaboration with other institutions. BU “Far West” – Two 10Gigabit/second Ethernet connections from BU to the MGHPCC. http://www.bu.edu/tech/support/research/rcs/mghpcc/

Information Services & Technology 9/16/2018 MGHPCC - Photo

Service Models – Shared and Buy-In Information Services & Technology 9/16/2018 Service Models – Shared and Buy-In Many of the elements of the SCC are paid for by BU and university-wide grants and are free to the entire BU Research Computing community. Other elements (just over 60% of the processors currently) are purchased by individual faculty or research groups through the Buy-In program with priority access for the purchaser. http://www.bu.edu/tech/support/research/computing-resources/service-models/

Information Services & Technology 9/16/2018 Storage Research projects are automatically granted 50GB of backed-up spaced (/project/PROJNAME) and 50GB of not-backed-up space (/projectnb/PROJNAME). These numbers can be increased for free to 200GB/800GB. Project groups can either purchase or “rent” additional storage. All data in Project Disk Space and home directories is protected by “snapshots”. http://www.bu.edu/tech/support/research/computing-resources/file-storage/ Home directories have 10GB. Explain snapshots.

Software (Tutorial this semester) Information Services & Technology 9/16/2018 Software (Tutorial this semester) Programming Languages: C, FORTRAN, Python, CUDA, Perl Math, Data Analysis, and Plotting: MATLAB, Mathematica, IDL, MAPLE Statistics: R, SAS, SPSS, Stata Visualization: VTK, ParaView, VMD, Maya Domain Specific Packages: Bioinformatics, Engineering, Geographic Information Systems (GIS) Parallel: MPI, OpenMP, MATLAB PCT, OpenACC Advertise other SCV tutorials.

Information Services & Technology 9/16/2018 GPU Computing Fast computation using GPUs (graphics processing units). 100x speedups possible for some codes. 232 GPUs available. Programming: C++ and FORTRAN - CUDA, OpenACC Software Packages: MATLAB PCT, R If interested, take one or more of our GPU tutorials. http://www.bu.edu/tech/support/research/software-and-programming/programming/multiprocessor/gpu-computing/

Getting an Account on the SCC Information Services & Technology 9/16/2018 Getting an Account on the SCC Using tutorial accounts today. These will go away after today. All users of the SCC must be on a Research Project headed up by a full-time BU Faculty or Research Staff member. Exception: 3 month trial accounts for students/tutorial attendees. Email help@scc.bu.edu if interested. http://www.bu.edu/tech/support/research/account-management/ If you want a trial account to try out the system for up to 3 months, just let me know.

Information Services & Technology 9/16/2018 Connecting to the SCC Windows - MobaXterm http://www.bu.edu/tech/support/research/system-usage/getting-started/connect-ssh/#windows Macintosh – Built-in Terminal application http://www.bu.edu/tech/support/research/system-usage/getting-started/connect-ssh/#apple Linux – Terminal application http://www.bu.edu/tech/support/research/system-usage/getting-started/connect-ssh/#linux Show running MobaXterm to connect to the SCC and to do an example file transfer. Help people connect to the SCC.

Connecting - Details Software you need: Information Services & Technology 9/16/2018 Connecting - Details Software you need: SSH Client – To log in to the SCC machines, such as scc1.bu.edu X Forwarding – Display graphics for those programs with a GUI interface (such as MATLAB) or that otherwise display images. File Transfer – Transferring files between the SCC and your local machine. VNC – Advanced users only. Faster graphics: http://www.bu.edu/tech/support/research/system-usage/getting-started/remote-desktop-vnc/

Questions so Far Questions on the Shared Computing Cluster so far? Information Services & Technology 9/16/2018 Questions so Far Questions on the Shared Computing Cluster so far? Remainder of the tutorial will be hands-on getting a feel for using Linux and the SCC. If you are already familiar with Linux, you may end up wanting to leave early. That is fine but please fill out the tutorial survey at: http://scv.bu.edu/survey/tutorial_evaluation.html

Using the SCC (Hands-On) Information Services & Technology 9/16/2018 Using the SCC (Hands-On) Linux “Command Line” Environment – No menus or graphics unless in specific software packages. Login Nodes - Interactive use, code development General: scc1.bu.edu, scc2.bu.edu Earth & Environment Dept. Users: geo.bu.edu BUMC and Restricted Data Users: scc4.bu.edu Compute Nodes – Run “Batch Jobs” on, both single and multi-processor. Names like scc-bc5.bu.edu

Information Services & Technology 9/16/2018 Using the SCC - Basics This tutorial is going to cover the very basics of Linux on the SCC. Please consider taking a fuller Linux tutorial from us or online if you end up using the SCC significantly. We have on our web site material as well for new users of Linux and the SCC at: http://www.bu.edu/tech/support/research/system-usage/getting-started/commands/

Information Services & Technology 9/16/2018 Using the SCC – ssh From your ssh/terminal application on your tutorial workstation or your laptop or local machine at home: ssh -l adftest2 scc1.bu.edu “ssh” is the command you are issuing “-l adftest2” is a “command line option” to specify your login name on the SCC “scc1.bu.edu” is a “parameter” of the command Make sure to hit the “Enter” key after every command Many people use ssh loginname@scc1.bu.edu instead. Macintosh users who want to enable X-Forwarding (graphics) will also need the –Y flag. Linux users who want to enable X-Forwarding (graphics) will also need the –X flag.

Using the SCC – the “prompt” Information Services & Technology 9/16/2018 Using the SCC – the “prompt” You should now see something like: [adftest2@scc1 ~]$ This is what is called the “prompt” and indicates the system (the bash “shell” in particular) is ready to accept commands from you. “adftest2” is your login name. “scc1” is the machine you are on. “~” is the directory you are in – in Linux “~” is a shorthand for a person’s home directory. Differences in shells, bash vs tcsh – see http://web.fe.up.pt/~jmcruz/etc/unix/sh-vs-csh.html Demonstrate arrow keys to access/edit previous commands.

Information Services & Technology 9/16/2018 Using the SCC – pwd Show the current “full path”, the directory you are in with its parent and all levels of grandparents up to the root directory (/). Items you type will be shown in bold: [adftest2@scc1 ~]$ pwd /usr2/collab/adftest2 Here the command pwd “returns” (prints to your screen) the result “/usr2/collab/adftest2”

Information Services & Technology 9/16/2018 Using the SCC – man The man (short for “manual”) command is used to look up information about a Linux command. [adftest2@scc1 ~]$ man pwd PWD(1) User Commands PWD(1) NAME pwd - print name of current/working… SYNOPSIS pwd [OPTION]... … For some commands command_name –help may also be useful.

Information Services & Technology 9/16/2018 Using the SCC – man cont. For some commands, such as if you run man cd, you will get a general manual page for the bash shell and not such a particular page as for pwd. You can page through the manual page a screenful at a time using the “spacebar”, a line at a time using the “Enter” key, and quit out of the page by typing q.

Information Services & Technology 9/16/2018 Using the SCC – mkdir Create a new directory: [adftest2@scc1 ~]$ mkdir newdir Creates a new directory (folder) to store files in within your home directory.

Information Services & Technology 9/16/2018 Using the SCC – ls List the contents of a directory: [adftest2@scc1 ~]$ ls newdir Or with a command line option: [adftest2@scc1 ~]$ ls -l total 0 drwxr-xr-x 3 adftest2 adftest 512 Oct 28 16:03 newdir

Using the SCC – File Permissions Information Services & Technology 9/16/2018 Using the SCC – File Permissions From the previous slide: drwxr-xr-x 3 adftest2 adftest 512 Oct 28 16:03 newdir “drwxr-xr-x” gives the “permissions” for this directory (or file). The “d” indicates this is a directory. There are then three sets of three characters for “user” (u), “group” (g), and “other” (o) access levels. “r” indicates a file/directory is readable, “w” writable, and “x” executable. A “-” indicates no such permission. Use “chmod go-rx newdir” to take away read and execute permissions for the group and other/world.

Information Services & Technology 9/16/2018 Using the SCC - chmod Change the permissions on the directory “newdir” so that members of your group can write to it: [adftest2@scc1 ~]$ chmod g+w newdir and note the difference: [adftest2@scc1 ~]$ ls -l total 0 drwxrwxr-x 3 adftest2 adftest 512 Oct 28 16:03 newdir

Information Services & Technology 9/16/2018 Using the SCC - cd Change directory to “newdir”: [adftest2@scc1 ~]$ cd newdir You can also move to other directories by giving a “full path” (a path starting with the / character) such as: [adftest2@scc1 newdir]$ cd /usr/local/bin/ Type just cd anytime to go back to your home directory.

Information Services & Technology 9/16/2018 Using the SCC - cp We will now being a sequence of commands to compile and run a very simple C code. We start by copying the code from our “examples” directory into the current directory, which can be abbreviated by the . (period) character: [adftest2@scc1 newdir]$ cp /project/scv/examples /c/examples/ex01-helloworld/helloWorld.c .

Information Services & Technology 9/16/2018 Using the SCC - more Look at the contents of the C source code file we just copied using the more command: [adftest2@scc1 newdir]$ more helloWorld.c #include int main( void) { /* print message */ printf( "Hello, World!\n" ); return (0); } Show using tab for filename completion.

Information Services & Technology 9/16/2018 Using the SCC - gcc Compile the source code file we just copied into the binary file hello using the Gnu C compiler gcc: [adftest2@scc1 newdir]$ gcc -o hello helloWorld.c The “-o hello” option causes the output file to be named “hello”. Without this, it would be named “a.out” regardless of the name of your source code file.

Using the SCC – File Execution Information Services & Technology 9/16/2018 Using the SCC – File Execution Note that the compiled file is automatically made “executable”: [adftest2@scc1 newdir]$ ls -l hello -rwxr-xr-x 1 adftest2 adftest 6430 Oct 28 15:49 hello Now we run the command from the current directory: [adftest2@scc1 newdir]$ ./hello Hello, World! With an interpreted language like Perl, you would need to make your code file executable manually using ‘chmod’.

Information Services & Technology 9/16/2018 Using the SCC – qsub Use the Open Grid Scheduler (OGS) command qsub to submit our compiled program to the batch system: [adftest2@scc1 newdir]$ qsub -b y ./hello Your job 1041461 ("hello") has been submitted The job should run soon and produce an output file: [adftest2@scc1 newdir]$ cat hello.o1041461 hello, world Show “qstat –u adftest”. Information on Running Jobs and “qsub” options at http://www.bu.edu/tech/support/research/system-usage/running-jobs/ You can set “default” qsub settings by creating a .sge_request file. An explanation of doing this is at: http://www.bu.edu/tech/support/research/system-usage/running-jobs/advanced-batch/

Using the SCC – GUI Applications Information Services & Technology 9/16/2018 Using the SCC – GUI Applications Try launching a graphical application, such as gedit: [adftest2@scc1 newdir]$ gedit helloWorld.c Assuming you have X Forwarding set up, this should bring up in a separate window the simple editor gedit to enable you to edit your source code file. Other editors such as emacs and vi are also available. Edit to include my name and then show using the history command and ! to run previous commands.

Information Services & Technology 9/16/2018 Using the SCC - grep grep is a useful command for searching for a text string in a file, such as: [adftest2@scc1 newdir]$ grep –i hello * Binary file hello matches hello.o1041461:hello, world helloWorld.c: printf("hello, world\n"); * is a special “wildcard” character that matches all filenames. Can also limit it by doing, for example, *.c

Information Services & Technology 9/16/2018 Using the SCC - Pipes You can also create a series of commands with the output of one being the input of the next through a series of “pipes” such as: [adftest2@scc1 newdir]$ cat helloWorld.c | grep print /* print message */ printf( "Hello, World!\n" ); You can also redirect the output of a command to a file using > myfilename

Using the SCC - .bashrc file Information Services & Technology 9/16/2018 Using the SCC - .bashrc file You have a .bashrc (.cshrc for tcsh users) in your home directory. Commands in this file are automatically executed every time you log in. Modify this file to change your default system behaviors or automatically run commands when you log in. Be careful modifying this file or you could make it impossible for yourself to log in to the system; contact us if that happens. Show example. Add the line alias dir=‘ls-al’ to my .bashrc file and then either log out and in again or run source .bashrc and then type dir. Also show adding the line “export PATH=$PATH:.” to add the current directory to the end of your path.

Additional Web Resources Information Services & Technology 9/16/2018 Additional Web Resources Technical Summary of SCC Resources http://www.bu.edu/tech/support/research/computing-resources/tech-summary/ Available Software Packages http://www.bu.edu/tech/support/research/software-and-programming/software-and-applications/rcs-software-packages/ SCC Updates – Latest SCC News http://www.bu.edu/tech/support/research/whats-happening/updates/

Information Services & Technology 9/16/2018 Questions All SCC questions welcome. Those I can’t answer I will make every effort to get you an answer for later. Email Addresses: Aaron Fuegi – aarondf@bu.edu General help using the SCC – help@scc.bu.edu Our staff of 15 people are available to assist you in porting codes, parallelization, and other aspects of using the SCC. Contact us.

Tutorial Survey Please open a web browser and go to: Information Services & Technology 9/16/2018 Tutorial Survey Please open a web browser and go to: http://scv.bu.edu/survey/tutorial_evaluation.html to fill out the tutorial survey. Thanks for coming. Tutorials slides available on the web from: http://www.bu.edu/tech/support/research/training-consulting/live-tutorials/ My Contact Information: aarondf@bu.edu or (617) 353-8255