Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection. June 14, 2017
|
|
- Benedict Homer Sharp
- 6 years ago
- Views:
Transcription
1 Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection June 14, 2017
2 Outline What are Environment Modules? What is Lmod? Can Lmod help manage your site? Advanced Topics Where to go for help. Lmod June 14,
3 What are Modules? Modules help user load the SW packages they need: MPI, Boost, Modules can be unloaded. Modulefiles are in one file not one for each shell. (e.g. compiler init scripts) It is one of the main ways we communicate with our users. The main function of Lmod is to change the user environment It modifies PATH, LD_LIBRARY_PATH, It sets other environment variables and defines aliases Lmod June 14,
4 What is Lmod? A modern replacement for a tried and true concept. The guiding principal: Make life easier without getting in the way. Reads both TCL and Lua modulefiles Lmod June 14,
5 Fundamental Issues Software Packages are created and updated all the time. Some Users need new versions for new features and bug fixes. Other Users need older versions for stability and continuity. No system can support all versions of all packages. User programs using pre-built C++ & Fortran libraries must link with the same compiler. Similarly, MPI Applications must build and link with same MPI/Compiler pairing when using pre-built MPI libraries. Lmod June 14,
6 Example of Lmod: Environment Modules (I) $ module list Currently Loaded Modules: 1) StdEnv 2) gcc/4.5 3) mpich2/1.4 4) petsc/3.1 $ module unload gcc Inactive Modules: 1) mpich2 2) petsc $ module list Currently Loaded Modules: 1) StdEnv Inactive Modules: 1) mpich2 2) petsc $ module load intel Activating Modules: 1) mpich2 2) petsc $ module swap intel gcc Due to MODULEPATH changes the follow modules have been reloaded: 1) mpich2 2) petsc $ module load gcc Due to MODULEPATH changes the follow modules have been reloaded: 1) mpich2 2) petsc Lmod June 14,
7 Example of Lmod: Environment Modules (II) $ module avail /opt/apps/modulefiles/mpi/intel/12.0/mpich2/ petsc/3.1 (D) petsc/3.1-debug pmetis/4.0 tau/ /opt/apps/modulefiles/compiler/intel/ boost/ gotoblas2/1.13 openmpi/1.4.3 boost/ mpich2/1.3.2 openmpi/1.5.1 boost/ (D) mpich2/1.4 (D) openmpi/1.5.3 (D) /opt/apps/modulefiles/core StdEnv intel/11.1 papi/4.1.4 admin/admin-1.0 intel/12.0 (D) scite/2.28 ddt/ddt lmod/lmod tex/2010 dmalloc/dmalloc local/local (D) unix/unix (D) fdepend/1.2 mkl/mkl visit/visit gcc/4.4 noweb/2.11b gcc/4.5 (D) Lmod June 14,
8 Why does Lmod work at all? The environment is inherited from the parent process Changes in a child process DOES NOT affect the parent s environment So how could Lmod work at all? Lmod June 14,
9 The trick is: The lmod program generates text. The module command eval s that text. module() {eval $($LMOD_CMD bash "$@";)} stdout is evaluated stderr passes through Lmod June 14,
10 Can tools like Lmod improve the user experience? Sites provide packages: applications and libraries Users can pick which packages and version to suit their needs But what we are really after is to cut down on tickets! Or simply make your resources easier for your users Lmod June 14,
11 Lmod examples Lmod was first released in 2009 It is the only module system used at TACC since 2010 The following are some examples of how Lmod can help Lmod June 14,
12 Can Lmod help with the /usr/local/bin problem? Suppose your startup files put /usr/local/bin in PATH And suppose module BAR also adds /usr/local/bin to PATH Currently Loading then unloading BAR will remove /usr/local/bin from PATH. Site can configure Lmod to support duplicate paths Or coming soon Lmod will support reference counting! Lmod June 14,
13 Can Lmod prevent users from mixing modules they shouldn t? Same Name modules: Things can get confusing when users load two gcc modules Normally, Lmod will unload old gcc, then load new gcc Optionally, sites can auto-conflict with themselves. Loading two compilers or MPI Stack: It is a rare user who needs to load two different compilers or two MPI stacks GCC and Intel are a special case Sites can add family( compiler ) to compiler modules This will autoswap one compiler for another! Similarly for MPI modules. Lmod June 14,
14 How to manage software: New or Old How can you test new/experimental software? Suppose your site keeps SW for the life of machine? How do you encourage usage of newer SW w/o breaking old job scripts? Lmod now supports hiding regular modules from avail and spider. Hidden modules can still be loaded. Modules can be explicitly marked as hidden Or you can use the isvisible hook Both sites and users can hide modules Lmod June 14,
15 Can Lmod help with deprecating packages? Suppose your site keeps a limited number of versions (say 3 or less) How to you decide which package to keep or remove? Lmod support optional tracking of what packages are loaded by whom. You can send targeted to those users about deprecation based on tracking. Independent of tracking: nag messaging Do not need to change modulefile! Users get a message when they load a deprecated module. Lmod June 14,
16 Can Lmod help a site that does not want default modules? Suppose your site produces weather forecasts or processes satellite images. No one set of compilers etc will satify your needs. Site can set LMOD_EXACT_MATCH=yes There are no defaults Users MUST specify name and version! Lmod June 14,
17 Can users have their own default list of modules? It is common to provide a default list of modules However some users will want their own modules at startup Users can add module commands to ~/.bashrc etc But this is tricky to get right. Lmod supports default module collections In fact, users can have as many named collections as they like. Lmod June 14,
18 Can Lmod deal with shared home filesystem? Suppose your site shares the home filesystem across two or more clusters These clusters have different modules. Site can set $LMOD_SYSTEM_NAME uniquely on each cluster This way user s collection (and personal caches) will be unique Lmod June 14,
19 Can users easily grep the output from Lmod? Lmod sends messages to stderr by default Lmod can redirect the output to stdout by setting $LMOD_REDIRECT=yes This works for bash, zsh It doesn t work for csh/tcsh due to the way eval works there Setting $LMOD_REDIRECT=yes means you lose the pager I do this instead: $ module raw redirect show impi grep tmi Lmod June 14,
20 Can a site control the output of module avail? $ module av ---- Packages compiled w/ Intel compilers ABINIT/8.2.2 ParaView/5.3.0-OSMesa ARPACK-NG/3.4.0 PyMOL/1.8.6-Python [...] MPI available for Intel compilers IntelMPI/ ParaStationMPI/ (D) [...] Packages compiled with Intel compilers Eigen/3.3.3 Libxc/2.2.3 [...] Core packages Advisor/2017_update2 PostgreSQL/9.6.2 [...] Compilers GCC/5.4.0 Intel/17.2-GCC-5.4 (D) Intel/16.4-GCC-5.4 PGI/17.3-GCC Recommended defaults defaults/cpu (D) defaults/gpu (g) Lmod June 14,
21 Can Lmod work with Localization and Site Messages? Starting Lmod 7.1+ Lmod provides the possibility of Language Translations: ES, FR, DE, and ZH Sites can also provide tailored message to suit their needs Lmod June 14,
22 Can Lmod help with software web pages? Many sites want to provide web pages that list the SW they provide. Lmod provides a tool to generate a JSON or XML list of all system modules. You ll have to write something to ingest the JSON or XML Lmod June 14,
23 Can Lmod help with compiler and/or MPI/compiler dependent modules? Sites can chose a Flat or Hierarchical Naming Scheme PETSc: A parallel iterative solver package: Compilers: GCC 6.3, Intel 17.0 MPI Implementations: MVAPICH2 2.1, IMPI 17.0 MPI Solver package: PETSc versions of PETSc: 2 Compilers 2 MPI Flat layout for PETSc 1. PETSc/4.1-mvapich2-2.1-gcc PETSc/4.1-mvapich2-2.1-intel PETSc/4.1-impi-17.0-gcc PETSc/4.1-impi-17.0-intel-17.0 Lmod June 14,
24 Problems w/ Flat naming scheme Users have to load modules: intel/17.0 mvapich2/2.1-intel-17.0 PETSc/4.1-mvapich2-2.1-intel-17.0 Changing compilers means unloading all three modules Reloading new compiler, MPI, PETSc modules. Not loading correct modules Mysterious Failures! Onus of package compatibility on users! Or extremely complicated modulefiles! Tools like EasyBuild or Spack can help here. Lmod June 14,
25 Hierarchical Naming Schemes Store modules under one tree: /opt/apps/modulefiles One strategy is to use sub-directories: Core: Regular packages: apps, compilers, git Compiler: Packages that depend on compiler: boost, MPI MPI: Packages that depend on MPI/Compiler: PETSc, FFTW3 Lmod June 14,
26 Loading the correct module User loads intel/17.0 module Can only see/load compiler dependent packages that are built with intel 17.0 compiler. Can not see/load package built with other versions or other compilers. Similar loading mvapich2/2.1 module. Users can only load package that are built w/ intel 17.0 and mvapich2 2.1 and no others. Lmod June 14,
27 Lmod works with both flat or hierarchy layouts Sites can chose either kind of layout. Lmod offers many advantages with either layout An Lmod site sys-admin transitioned his users by leaving the old system active A new hierarchy was available where all new SW was installed. Users can transition if/when they like. Lmod June 14,
28 Bash Issues Bash Startup is typically broken for non-login interactive shells Redhat, Centos, MacOS typically don t source /etc/bashrc on interactive shells MPI jobs start an interactive shell. Lmod June 14,
29 Bash Issues (II) Want module command to work in all shells. Want stacksize unlimited for MPI jobs We patched bash to force it to source /etc/tacc/bashrc Lmod June 14,
30 Bash Repair Choices Switch users to Z shell? patch bash (see Lmod docs) Expect all users to source /etc/bashrc in ~/.bashrc Expect all users to start jobs with #!/bin/bash -l Lmod June 14,
31 Debugging Lmod module --config : reports Lmod configuration module -D load foo > load.log Lmod June 14,
32 Tracing Lmod A new feature of Lmod module -T export LMOD_TRACING=yes Can trace loads and how restores work. Lmod June 14,
33 Lmod Features Reads both TCL and Lua modulefiles (mixing works fine) One name rule. Support a Software Hierarchy Fast module avail via optional spider cache Properties (gpu, mic) Semantic Versioning: 5.6 is older than 5.10 family( compiler ), family( MPI ) support Optional Tracking: What modules are used? Many other features: ml, collections, hooks, nag, Lmod June 14,
34 Conclusions: Lmod Latest version: Stable version: Documentation: Shell Startup Debug: Mailing List: Join here: Lmod June 14,
35 XALT: What runs on the system A U.S. NSF Funded project: PI: Mark Fahey and Robert McLay A Census of what programs and libraries are run Running at TACC, NICS, U. Florida, KAUST, Integrates with TACC-Stats. Lmod June 14,
36 Design Goals Be extremely light-weight Provide provenance data: How? How many use a library or application? Collect Data into a Database for analysis. Lmod June 14,
37 Design: Linker XALT wraps the linker to enable tracking of exec s The linker (ld) wrapper intercepts the user link line. Generate assembly code: key-value pairs Capture tracemap output from ld Transmit collected data in *.json format Lmod June 14,
38 Design: Launcher XALT 1 used to require a wrapper for aprun, mpirun, etc XALT 2 no longer needs to Hooray! Correct wrappers were a nightmare! Lmod June 14,
39 Design: Transmission to DB File: collect nightly Syslog: Use Syslog filtering (or ELK) Direct to DB. Future: RabbitMQ Lmod June 14,
40 Lmod to XALT connection Lmod spider walks entire module tree. Can build a reverse map from paths to modules Can map program & libraries to modules. /opt/apps/i15/mv2_2_1/phdf5/1.8.14/lib/libhdf5.so.9 phdf5/1.8.14(intel/15.02:mvapich2/2.1) Also helps with function tracking. Tmod Sites can still use Lmod to build the reverse map. Lmod June 14,
41 Database Changes (I) Tables sizes in XALT: Table Size in MB join_run_env join_run_object join_link_object xalt_run xalt_object xalt_link join_run_env has 2.1 billion rows Lmod June 14,
42 Database Changes (II) Environment variables are important. But mainly for reproducing results Chose a few for SQL tests. Lmod June 14,
43 Database Changes (III): New Design Store complete env compressed json blob Filter Env s with Accept Test followed by Reject Test Instead of 250 vars per job 20 to 30. The Filter is site controllable! Lmod June 14,
44 Database Changes (IV): New Design The join tables are large Partition join tables by dates or index Precompute views nightly. Lmod June 14,
45 Protecting XALT (I): UTF8 Characters Linux supports UTF8 Characters in file names, env. vars. Python supports UTF8 if you know what you are doing. Switch XALT to use prepared statements Where query="insert INTO table VALUE(?,?)" This prevent SQL injection: johnny drop tables; Also supports UTF8 characters. Lmod June 14,
46 Protecting XALT (II): Python to C++ Difficult to protect Python from users in every case Solution: LD_LIBRARY_PATH= PATH=/usr/bin:/bin C++-exec Everything that depends on PATH must be hard coded basename /bin/basename Unique install for each operating system. Certain programs aren t in the same place: basename Lmod June 14,
47 Using XALT Data Targetted Outreach: Who will be affected Largemem Queue Overuse XALT and TACC-Stats Lmod June 14,
48 Tracking Non-mpi jobs (I) Originally we tracked only MPI Jobs By hijacking mpirun etc. Now we can use ELF binary format to track jobs Lmod June 14,
49 ELF Binary Format Trick void myinit(int argc, char **argv) { /*... */ } void myfini() { /*... */ } attribute ((section(".init_array"))) typeof(myinit) * init = myinit; attribute ((section(".fini_array"))) typeof(myfini) * fini = myfini; Lmod June 14,
50 Using the ELF Binary Format Trick This C code is compiled and linked in through the hijacked linker It can also be used with LD_PRELOAD We are using both Lmod June 14,
51 Downsides Currently, we only track task 0 jobs. MPMD programs will only record the Task 0 job. We also lose the ability to capture return exit status Lmod June 14,
52 Challenges (I) Do not want to track mv, cp, etc Only want to track some executables on compute nodes Do not want to get overwhelmed by the data. Lmod June 14,
53 Answers XALT Tracking only when told to Compute node only by host name filtering Executable Filter based on Path Protection against closing stderr before fini. Site configurable! Lmod June 14,
54 Path Filtering Accept test, following an Ignore Test, Two files containing regex patterns, converted to code. Accept List Tests: Track /usr/bin/ddt, /bin/tar Ignore List Tests: /usr/bin, /bin, /sbin, Lmod June 14,
55 Using XALT 2 A great deal of hardening Been running XALT 2 for 4 months with only 1 tckt. Lmod June 14,
56 Speeding up XALT 2 XALT 2 generates 2 json records: at start and end Want to minimize measurement: Launcher jobs The most expensive operation is sha1sum of the shared libs Used to system sha1sum call in serial Now up-to 16 threads calls directly Tests show 1 sec first time 0.04 second time on Lustre. Lmod June 14,
57 XALT Demo Show modules hierarchy ml raw show xalt Show debugging output type -a ld,mpirun Build programs Run tests Run utf8 program Show database results Lmod June 14,
58 Conclusion Lmod: Source: github.com/tacc/lmod.git, lmod.sf.net Documentation: lmod.readthedocs.org XALT: Source: github.com/fahey-mclay/xalt.git, xalt.sf.net Documentation: doc/*.pdf, xalt.readthedocs.org Lmod June 14,
XALT: User Environment Tracking
: User Environment Tracking Robert McLay, Mark Fahey, Reuben Budiardja, Sandra Sweat The Texas Advanced Computing Center, Argonne National Labs, NICS Jan. 31, 2016 : What runs on the system A U.S. NSF
More informationLmod. Robert McLay. Jan. 11, The Texas Advanced Computing Center
Robert McLay The Texas Advanced Computing Center Jan. 11, 2015 Why invent Y.A. Module System? Many thing right with the Original. But it was designed before multi-compilers/mpi Sites make it work but with
More informationLmod Documentation. Release 7.0. Robert McLay
Lmod Documentation Release 7.0 Robert McLay Jul 12, 2018 Contents 1 PURPOSE 1 2 OVERVIEW 3 3 Introduction to Lmod 5 4 Installing Lmod 23 5 Advanced Topics 45 6 Topics yet to be written 99 7 Indices and
More informationINTRODUCTION TO THE CLUSTER
INTRODUCTION TO THE CLUSTER WHAT IS A CLUSTER? A computer cluster consists of a group of interconnected servers (nodes) that work together to form a single logical system. COMPUTE NODES GATEWAYS SCHEDULER
More informationIntroduction to Modules at CHPC
Introduction to Modules at CHPC Anita Orendt Assistant Director Research Consulting & Faculty Engagement anita.orendt@utah.edu 13 June 2017 Overview of Talk Why Modules Where to find information How to
More informationOur new HPC-Cluster An overview
Our new HPC-Cluster An overview Christian Hagen Universität Regensburg Regensburg, 15.05.2009 Outline 1 Layout 2 Hardware 3 Software 4 Getting an account 5 Compiling 6 Queueing system 7 Parallelization
More informationLinux Clusters Institute:
Linux Clusters Institute: 3 rd Party Software Management Instructor: Timothy Bouvet Title: System Engineer NCSA Email: tbouvet@illinois.edu 3 rd Party Software Management Topics: Best Practices Software
More informationThe Automatic Library Tracking Database
The Automatic Library Tracking Database Mark Fahey National Institute for Computational Sciences Scientific Computing Group Lead May 24, 2010 Cray User Group May 24-27, 2010 Contributors Ryan Blake Hitchcock
More informationDeploying (community) codes. Martin Čuma Center for High Performance Computing University of Utah
Deploying (community) codes Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Outline What codes our users need Prerequisites Who installs what? Community codes Commercial
More informationSingularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017
Singularity: Containers for High-Performance Computing Grigory Shamov Nov 21, 2017 Outline Software and High Performance Computing: Installation/Maintenance of the HPC Software stack Why containers and
More informationIntroduction to GALILEO
Introduction to GALILEO Parallel & production environment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it Domenico Guida d.guida@cineca.it Maurizio Cremonesi m.cremonesi@cineca.it
More informationIntroduction to PICO Parallel & Production Enviroment
Introduction to PICO Parallel & Production Enviroment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it Domenico Guida d.guida@cineca.it Nicola Spallanzani n.spallanzani@cineca.it
More informationChapter 1 - Introduction. September 8, 2016
Chapter 1 - Introduction September 8, 2016 Introduction Overview of Linux/Unix Shells Commands: built-in, aliases, program invocations, alternation and iteration Finding more information: man, info Help
More informationIntroduction to the SHARCNET Environment May-25 Pre-(summer)school webinar Speaker: Alex Razoumov University of Ontario Institute of Technology
Introduction to the SHARCNET Environment 2010-May-25 Pre-(summer)school webinar Speaker: Alex Razoumov University of Ontario Institute of Technology available hardware and software resources our web portal
More information24 Writing Your First Script
In the preceding chapters, we have assembled an arsenal of command line tools. While these tools can solve many kinds of computing problems, we are still limited to manually using them one by one on the
More informationMy operating system is old but I don't care : I'm using NIX! B.Bzeznik BUX meeting, Vilnius 22/03/2016
My operating system is old but I don't care : I'm using NIX! B.Bzeznik BUX meeting, Vilnius 22/03/2016 CIMENT is the computing center of the University of Grenoble CIMENT computing platforms 132Tflops
More informationPresented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY
Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory gmkurtzer@lbl.gov CONTAINERS IN HPC WITH SINGULARITY A QUICK REVIEW OF THE LANDSCAPE Many types of virtualization
More informationStampede User Environment
Version DJ2013-01 8 Jan 2012 Stampede User Environment Doug James 10 Jan 2012 Overview Effective users, good citizens Getting Started Access to Stampede Getting Acquainted A Tour of Stampede Getting Work
More informationMaintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage. Colin MacLean
Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage Colin MacLean Large Software Stacks Most modules are, at most, a handful of packages Currently available tools ill-suited for large
More informationCMTH/TYC Linux Cluster Overview. Éamonn Murray 1 September 2017
CMTH/TYC Linux Cluster Overview Éamonn Murray 1 September 2017 Cluster Documentation Everything I ll talk about is covered in the cluster documentation Web: http://www.cmth.ph.ic.ac.uk/computing Local
More informationModules. Help users managing their shell environment. Xavier Delaruelle UST4HPC May 15th 2018, Villa Clythia, Fréjus
Modules Help users managing their shell environment Xavier Delaruelle UST4HPC May 15th 2018, Villa Clythia, Fréjus whoami I am Xavier Delaruelle Joined CEA in 2007 as HPC system
More informationNew User Seminar: Part 2 (best practices)
New User Seminar: Part 2 (best practices) General Interest Seminar January 2015 Hugh Merz merz@sharcnet.ca Session Outline Submitting Jobs Minimizing queue waits Investigating jobs Checkpointing Efficiency
More informationThe Cray Programming Environment. An Introduction
The Cray Programming Environment An Introduction Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent
More informationSlurm Birds of a Feather
Slurm Birds of a Feather Tim Wickberg SchedMD SC17 Outline Welcome Roadmap Review of 17.02 release (Februrary 2017) Overview of upcoming 17.11 (November 2017) release Roadmap for 18.08 and beyond Time
More informationUsing a Linux System 6
Canaan User Guide Connecting to the Cluster 1 SSH (Secure Shell) 1 Starting an ssh session from a Mac or Linux system 1 Starting an ssh session from a Windows PC 1 Once you're connected... 1 Ending an
More informationGenius Quick Start Guide
Genius Quick Start Guide Overview of the system Genius consists of a total of 116 nodes with 2 Skylake Xeon Gold 6140 processors. Each with 18 cores, at least 192GB of memory and 800 GB of local SSD disk.
More informationLinear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre
Linear Algebra libraries in Debian Who I am? Core developer of Scilab (daily job) Debian Developer Involved in Debian mainly in Science and Java aspects sylvestre.ledru@scilab.org / sylvestre@debian.org
More informationMODULAR ENVIRONMENT MANAGEMENT WITH VALET. Dr. Jeffrey Frey University of Delaware, IT
MODULAR ENVIRONMENT MANAGEMENT WITH VALET Dr. Jeffrey Frey University of Delaware, IT GOALS AS QUESTIONS Why is environment management necessary? How does VALET help manage the environment? Can I use VALET
More informationIntroduction to GALILEO
Introduction to GALILEO Parallel & production environment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it Alessandro Grottesi a.grottesi@cineca.it SuperComputing Applications and
More informationLinux User Environment. Robert McLay
Linux User Environment Robert McLay Outline Cluster Architecture and File Systems Initial Login and Software Modules Job Submission Additional Software CLUSTER ARCHITECTURE AND FILE SYSTEMS Generic Cluster
More informationVisual Studio 2008 Load Symbols Manually
Visual Studio 2008 Load Symbols Manually Microsoft Visual Studio 2008 SP1 connects to the Microsoft public symbol are loaded manually if you want to load symbols automatically when you launch. Have you
More informationModules and Software. Daniel Caunt Harvard FAS Research Computing
Modules and Software Daniel Caunt Harvard FAS Research Computing 1 What is Research Computing? Faculty of Arts and Sciences (FAS) department that handles non-enterprise IT requests from researchers. (Contact
More informationProject #1: Tracing, System Calls, and Processes
Project #1: Tracing, System Calls, and Processes Objectives In this project, you will learn about system calls, process control and several different techniques for tracing and instrumenting process behaviors.
More informationKnights Landing production environment on MARCONI
Knights Landing production environment on MARCONI Alessandro Marani - a.marani@cineca.it March 20th, 2017 Agenda In this presentation, we will discuss - How we interact with KNL environment on MARCONI
More informationUsing Environment Modules on the LRZ HPC Systems
Using Environment Modules on the LRZ HPC Systems Reinhold Bader Leibniz Computing Centre February 2007 Programming Environment under UNIX/Linux Shell essentially two families sh-derived: sh, ksh, zsh (?),
More informationEECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018
EECS 470 Lab 5 Linux Shell Scripting Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 1 st February, 2018 (University of Michigan) Lab 5:
More informationModules v4. Yes, Environment Modules project is not dead. Xavier Delaruelle
Modules v4 Yes, Environment Modules project is not dead Xavier Delaruelle 3rd EasyBuild User Meeting January 30th 2018, SURFsara, Amsterdam whoami I am Xavier Delaruelle Joined
More informationCIT 380: Securing Computer Systems
CIT 380: Securing Computer Systems Secure Programming Slide #1 Topics 1. The nature of trust 2. Input validation 3. Input entry points 4. Integer overflows 5. Format string attacks Slide #2 Trust Relationships
More informationUNIX Shell Programming
$!... 5:13 $$ and $!... 5:13.profile File... 7:4 /etc/bashrc... 10:13 /etc/profile... 10:12 /etc/profile File... 7:5 ~/.bash_login... 10:15 ~/.bash_logout... 10:18 ~/.bash_profile... 10:14 ~/.bashrc...
More informationVaango Installation Guide
Vaango Installation Guide Version Version 17.10 October 1, 2017 The Utah Vaango team and Biswajit Banerjee Copyright 2015-2017 Parresia Research Limited The contents of this manual can and will change
More informationBeginner's Guide for UK IBM systems
Beginner's Guide for UK IBM systems This document is intended to provide some basic guidelines for those who already had certain programming knowledge with high level computer languages (e.g. Fortran,
More informationShell Scripting. Jeremy Sanders. October 2011
Shell Scripting Jeremy Sanders October 2011 1 Introduction If you use your computer for repetitive tasks you will find scripting invaluable (one of the advantages of a command-line interface). Basically
More informationGuillimin HPC Users Meeting February 11, McGill University / Calcul Québec / Compute Canada Montréal, QC Canada
Guillimin HPC Users Meeting February 11, 2016 guillimin@calculquebec.ca McGill University / Calcul Québec / Compute Canada Montréal, QC Canada Compute Canada News Scheduler Updates Software Updates Training
More informationComputing with the Moore Cluster
Computing with the Moore Cluster Edward Walter An overview of data management and job processing in the Moore compute cluster. Overview Getting access to the cluster Data management Submitting jobs (MPI
More informationBash command shell language interpreter
Principles of Programming Languages Bash command shell language interpreter Advanced seminar topic Louis Sugy & Baptiste Thémine Presentation on December 8th, 2017 Table of contents I. General information
More informationSunday, February 19, 12
1 LEARNIT EXPRESS in a Nutshell 2 THE LINUX ENVIRONMENT Most programs have preferences that tailor their behavior Word, Matlab, Mathematica: all rely on preference files The BASH shell (and many other
More informationRunning Jobs, Submission Scripts, Modules
9/17/15 Running Jobs, Submission Scripts, Modules 16,384 cores total of about 21,000 cores today Infiniband interconnect >3PB fast, high-availability, storage GPGPUs Large memory nodes (512GB to 1TB of
More informationGetting started with the CEES Grid
Getting started with the CEES Grid October, 2013 CEES HPC Manager: Dennis Michael, dennis@stanford.edu, 723-2014, Mitchell Building room 415. Please see our web site at http://cees.stanford.edu. Account
More informationIntroduction to UNIX. SURF Research Boot Camp April Jeroen Engelberts Consultant Supercomputing
Introduction to UNIX SURF Research Boot Camp April 2018 Jeroen Engelberts jeroen.engelberts@surfsara.nl Consultant Supercomputing Outline Introduction to UNIX What is UNIX? (Short) history of UNIX Cartesius
More informationThe Why and How of HPC-Cloud Hybrids with OpenStack
The Why and How of HPC-Cloud Hybrids with OpenStack OpenStack Australia Day Melbourne June, 2017 Lev Lafayette, HPC Support and Training Officer, University of Melbourne lev.lafayette@unimelb.edu.au 1.0
More informationPractical Introduction to Message-Passing Interface (MPI)
1 Outline of the workshop 2 Practical Introduction to Message-Passing Interface (MPI) Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@mcgill.ca Theoretical / practical introduction Parallelizing your
More informationIntroduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie
Introduction in Unix Linus Torvalds Ken Thompson & Dennis Ritchie My name: John Donners John.Donners@surfsara.nl Consultant at SURFsara And Cedric Nugteren Cedric.Nugteren@surfsara.nl Consultant at SURFsara
More informationGuillimin HPC Users Meeting March 17, 2016
Guillimin HPC Users Meeting March 17, 2016 guillimin@calculquebec.ca McGill University / Calcul Québec / Compute Canada Montréal, QC Canada Outline Compute Canada News System Status Software Updates Training
More informationDesign Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler
More informationHPC at UZH: status and plans
HPC at UZH: status and plans Dec. 4, 2013 This presentation s purpose Meet the sysadmin team. Update on what s coming soon in Schroedinger s HW. Review old and new usage policies. Discussion (later on).
More informationCode-Agnostic Performance Characterisation and Enhancement
Code-Agnostic Performance Characterisation and Enhancement Ben Menadue Academic Consultant @NCInews Who Uses the NCI? NCI has a large user base 1000s of users across 100s of projects These projects encompass
More informationIntroduction to GALILEO
November 27, 2016 Introduction to GALILEO Parallel & production environment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it SuperComputing Applications and Innovation Department
More informationProgramming Environment 4/11/2015
Programming Environment 4/11/2015 1 Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent interface
More informationIf you had a freshly generated image from an LCI instructor, make sure to set the hostnames again:
Storage Node Setup A storage node (or system as your scale) is a very important unit for an HPC cluster. The computation is often about the data it produces and keeping that data safe is important. Safe
More informationCombining CVMFS, Nix, Lmod, and EasyBuild at Compute Canada. Bart Oldeman, McGill HPC, Calcul Québec, Compute Canada
Combining CVMFS, Nix, Lmod, and EasyBuild at Compute Canada Bart Oldeman, McGill HPC, Calcul Québec, Compute Canada Motivation 1. New bigger national systems replacing many smaller local clusters, with
More informationInstalling CEA on an Intel Mac
Installing CEA on an Intel Mac Jonah Zimmerman April 20, 2012 1 Introduction Chemical Equilibrium with Applications (CEA) is a computer program published by NASA Glenn with the purpose of calculating chemical
More informationReview of Fundamentals
Review of Fundamentals 1 The shell vi General shell review 2 http://teaching.idallen.com/cst8207/14f/notes/120_shell_basics.html The shell is a program that is executed for us automatically when we log
More informationCS 326: Operating Systems. Process Execution. Lecture 5
CS 326: Operating Systems Process Execution Lecture 5 Today s Schedule Process Creation Threads Limited Direct Execution Basic Scheduling 2/5/18 CS 326: Operating Systems 2 Today s Schedule Process Creation
More informationProgress Report Toward a Thread-Parallel Geant4
Progress Report Toward a Thread-Parallel Geant4 Gene Cooperman and Xin Dong High Performance Computing Lab College of Computer and Information Science Northeastern University Boston, Massachusetts 02115
More informationEnvironment Variables
Environment Variables 1 A shell is simply a program that supplies certain services to users. As such, a shell may take parameters whose values modify or define certain behaviors. These parameters (or shell
More informationSlurm Roadmap. Danny Auble, Morris Jette, Tim Wickberg SchedMD. Slurm User Group Meeting Copyright 2017 SchedMD LLC https://www.schedmd.
Slurm Roadmap Danny Auble, Morris Jette, Tim Wickberg SchedMD Slurm User Group Meeting 2017 HPCWire apparently does awards? Best HPC Cluster Solution or Technology https://www.hpcwire.com/2017-annual-hpcwire-readers-choice-awards/
More informationWednesday, August 10, 11. The Texas Advanced Computing Center Michael B. Gonzales, Ph.D. Program Director, Computational Biology
The Texas Advanced Computing Center Michael B. Gonzales, Ph.D. Program Director, Computational Biology Computational Biology @ TACC Goal: Establish TACC as a leading center for ENABLING computational biology
More informationThe Cray Programming Environment. An Introduction
The Cray Programming Environment An Introduction Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent
More informationPractical: a sample code
Practical: a sample code Alistair Hart Cray Exascale Research Initiative Europe 1 Aims The aim of this practical is to examine, compile and run a simple, pre-prepared OpenACC code The aims of this are:
More informationEnvironment Variables
Environment Variables > the shell has variables: my_var="some_value" > no space allowed around "=" echo $my_var > dereferencing by prepending a "$" > more generally: ${my_var} > shell variables can be
More informationUnix Processes. What is a Process?
Unix Processes Process -- program in execution shell spawns a process for each command and terminates it when the command completes Many processes all multiplexed to a single processor (or a small number
More informationShifter and Singularity on Blue Waters
Shifter and Singularity on Blue Waters Maxim Belkin June 7, 2018 A simplistic view of a scientific application DATA RESULTS My Application Received an allocation on Blue Waters! DATA RESULTS My Application
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationHPC Middle East. KFUPM HPC Workshop April Mohamed Mekias HPC Solutions Consultant. Agenda
KFUPM HPC Workshop April 29-30 2015 Mohamed Mekias HPC Solutions Consultant Agenda 1 Agenda-Day 1 HPC Overview What is a cluster? Shared v.s. Distributed Parallel v.s. Massively Parallel Interconnects
More informationStable Cray Support in EasyBuild 2.7. Petar Forai
Stable Cray Support in EasyBuild 2.7 Petar Forai 1 Major Areas of Interest Specific to Cray Support Version pinning in Cray toolchain to achieve reproducible builds New toolchain naming scheme that is
More informationBatch Systems & Parallel Application Launchers Running your jobs on an HPC machine
Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine Partners Funding Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike
More informationEffective Use of CCV Resources
Effective Use of CCV Resources Mark Howison User Services & Support This talk... Assumes you have some familiarity with a Unix shell Provides examples and best practices for typical usage of CCV systems
More informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is
More informationDesign Overview of the FreeBSD Kernel CIS 657
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%
More informationSimple examples how to run MPI program via PBS on Taurus HPC
Simple examples how to run MPI program via PBS on Taurus HPC MPI setup There's a number of MPI implementations install on the cluster. You can list them all issuing the following command: module avail/load/list/unload
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)
More informationCompiling applications for the Cray XC
Compiling applications for the Cray XC Compiler Driver Wrappers (1) All applications that will run in parallel on the Cray XC should be compiled with the standard language wrappers. The compiler drivers
More informationSystems Programming/ C and UNIX
Systems Programming/ C and UNIX Alice E. Fischer September 6, 2017 Alice E. Fischer Systems Programming Lecture 2... 1/28 September 6, 2017 1 / 28 Outline 1 Booting into Linux 2 The Command Shell 3 Defining
More informationDistributed Memory Programming With MPI Computer Lab Exercises
Distributed Memory Programming With MPI Computer Lab Exercises Advanced Computational Science II John Burkardt Department of Scientific Computing Florida State University http://people.sc.fsu.edu/ jburkardt/classes/acs2
More informationTool for Analysing and Checking MPI Applications
Tool for Analysing and Checking MPI Applications April 30, 2010 1 CONTENTS CONTENTS Contents 1 Introduction 3 1.1 What is Marmot?........................... 3 1.2 Design of Marmot..........................
More informationRIPPLESTONE SUMMARY
RIPPLESTONE 3.7 - SUMMARY HOME PAGE ADDED AN ADMIN DASHBOARD (3.7.1.2) This new page is available to Super Users and Administrators and provides information about the Ripplestone system. It allows them
More informationReview of Fundamentals. Todd Kelley CST8207 Todd Kelley 1
Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 These notes are available on
More informationHands-on. MPI basic exercises
WIFI XSF-UPC: Username: xsf.convidat Password: 1nt3r3st3l4r WIFI EDUROAM: Username: roam06@bsc.es Password: Bsccns.4 MareNostrum III User Guide http://www.bsc.es/support/marenostrum3-ug.pdf Remember to
More informationThe TinyHPC Cluster. Mukarram Ahmad. Abstract
The TinyHPC Cluster Mukarram Ahmad Abstract TinyHPC is a beowulf class high performance computing cluster with a minor physical footprint yet significant computational capacity. The system is of the shared
More informationModules v4. Pushing forward user environment management. Xavier Delaruelle FOSDEM 2018 February 4th 2018, ULB, Bruxelles
Modules v4 Pushing forward user environment management Xavier Delaruelle FOSDEM 2018 February 4th 2018, ULB, Bruxelles whoami I am Xavier Delaruelle Work at CEA, a large research
More informationSupercomputing environment TMA4280 Introduction to Supercomputing
Supercomputing environment TMA4280 Introduction to Supercomputing NTNU, IMF February 21. 2018 1 Supercomputing environment Supercomputers use UNIX-type operating systems. Predominantly Linux. Using a shell
More informationWhat is Research Computing?
Spring 2017 3/19/17 Modules and Software Plamen Krastev, PhD Harvard - Research Computing 1 What is Research Computing? Faculty of Arts and Sciences (FAS) department that handles nonenterprise IT requests
More informationEmbedded Systems Programming
Embedded Systems Programming OS Linux - Toolchain Iwona Kochańska Gdansk University of Technology Embedded software Toolchain compiler and tools for hardwaredependent software developement Bootloader initializes
More informationUNIX System Programming Lecture 3: BASH Programming
UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide
More informationProgramming Techniques for Supercomputers. HPC RRZE University Erlangen-Nürnberg Sommersemester 2018
Programming Techniques for Supercomputers HPC Services @ RRZE University Erlangen-Nürnberg Sommersemester 2018 Outline Login to RRZE s Emmy cluster Basic environment Some guidelines First Assignment 2
More informationParallel Tools Platform for Judge
Parallel Tools Platform for Judge Carsten Karbach, Forschungszentrum Jülich GmbH September 20, 2013 Abstract The Parallel Tools Platform (PTP) represents a development environment for parallel applications.
More informationSoftware Usage on Cray Systems across Three Centers (NICS, ORNL and CSCS)
Software Usage on Cray Systems across Three Centers (NICS, ORNL and CSCS) Bilel Hadri, Mark Fahey, Timothy Robinson, and William Renaud CUG 2012, May 3 rd, 2012 Contents Introduction and Motivations Overview
More informationncsa eclipse internal training
ncsa eclipse internal training This tutorial will cover the basic setup and use of Eclipse with forge.ncsa.illinois.edu. At the end of the tutorial, you should be comfortable with the following tasks:
More informationECE 574 Cluster Computing Lecture 4
ECE 574 Cluster Computing Lecture 4 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 31 January 2017 Announcements Don t forget about homework #3 I ran HPCG benchmark on Haswell-EP
More informationMIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization
MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization 2 Glenn Bresnahan Director, SCV MGHPCC Buy-in Program Kadin Tseng HPC Programmer/Consultant
More information