The Research Computing User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
The Research Computing User’s Guide i The Research Computing User’s Guide September 13, 2021 The Research Computing User’s Guide ii COLLABORATORS TITLE : The Research Computing User’s Guide ACTION NAME DATE SIGNATURE WRITTEN BY Jason W. Bacon September 13, 2021 Initial HTcondor Lars Olson September 13, 2021 content The Research Computing User’s Guide iii Contents 1 Goals 2 2 Self-Study Instructions 3 2.1 Unix Self-Study Instructions . .3 2.2 Parallel Computing Self-Study Instructions . .3 I Research Computing4 3 Computational Science 5 3.1 So, What is Computational Science? . .5 3.2 Not Just for Nerds Anymore . .5 3.3 Achieving Our Goals . .5 3.3.1 The Computation Time Line . .5 3.3.2 Development Time . .6 3.3.3 Deployment Time . .6 3.3.4 Learning Time . .6 3.3.5 Run Time . .6 3.4 Common Methods Used in Computational Science . .6 3.4.1 Numerical Analysis . .6 3.4.2 Computational Modeling . .7 3.4.3 Data Mining . .8 3.4.4 Parameter Sweeps . .8 3.4.5 Data Sifting . .9 3.4.6 Monte Carlo . .9 3.4.7 Everything Else . 10 3.5 Self-test . 10 The Research Computing User’s Guide iv 4 Where do I get the Software? 11 4.1 But I Hate Programming... 11 4.2 BuyIt......................................................... 12 4.3 Download It . 12 4.3.1 How to Shoot Yourself in the Foot with Open Source Software . 13 4.3.2 How Not to Shoot Yourself in the Foot with Open Source Software . 14 4.4 The Realities of Software Support . 14 4.5 A Comprehensive List of Research Software . 15 4.6 Write It . 15 4.7 Self-test . 16 5 Running Your Software 18 5.1 Where do I Run It? . 18 5.1.1 Public Resources . 18 College Computer Labs . 18 College Clusters and Grids . 18 XSEDE, Open Science Grid . 18 Commercial Services . 18 5.1.2 Using Your Own Computers . 18 Mac and other Unix . 19 Windows ................................................... 19 Virtual Machines . 19 5.2 Self-test . 19 6 Using Unix 21 6.1 Keep It Simple, Stupid . 21 6.2 What is Unix? . 22 6.2.1 Aw, man... I Have to Learn Another System? . 22 6.2.2 Operating System or Religion? . 24 6.2.3 The Unix Standard API . 27 6.2.4 Shake Out the Bugs . 28 6.2.5 The Unix Standard UI . 29 6.2.6 Freedom of Choice . 29 6.2.7 Fast, Stable and Secure . 29 6.2.8 Sharing Resources . 30 6.3 Self-test . 30 6.4 Unix User Interfaces . 30 6.4.1 Graphical User Interfaces (GUIs) . 30 6.4.2 X11 on Mac OS X . 33 The Research Computing User’s Guide v 6.4.3 Command Line Interfaces (CLIs): Unix Shells . 33 6.4.4 Terminals . 35 6.4.5 Basic Shell Use . 36 6.4.6 Self-test . 37 6.5 Still Need Windows? Don’t Panic! . 38 6.5.1 Cygwin: Try This First . 38 6.5.2 Windows Subsystem for Linux: Another Compatibility Layer . 51 6.6 Logging In Remotely . 52 6.6.1 Unix to Unix . 52 6.6.2 Windows to Unix . 53 Cygwin . 53 PuTTY .................................................... 53 6.6.3 Terminal Types . 56 6.6.4 Self-test . 56 6.7 Unix Command Basics . 57 6.7.1 Self-test . 58 6.8 Basic Shell Tools . 58 6.8.1 Common Unix Shells . 58 6.8.2 Command History . 59 6.8.3 Auto-completion . ..