Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection. June 14, 2017

Size: px
Start display at page:

Download "Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection. June 14, 2017"

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

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 information

Lmod. Robert McLay. Jan. 11, The Texas Advanced Computing Center

Lmod. 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 information

Lmod Documentation. Release 7.0. Robert McLay

Lmod 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 information

INTRODUCTION TO THE CLUSTER

INTRODUCTION 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 information

Introduction to Modules at CHPC

Introduction 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 information

Our new HPC-Cluster An overview

Our 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 information

Linux Clusters Institute:

Linux 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 information

The Automatic Library Tracking Database

The 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 information

Deploying (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 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 information

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017

Singularity: 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 information

Introduction to GALILEO

Introduction 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 information

Introduction to PICO Parallel & Production Enviroment

Introduction 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 information

Chapter 1 - Introduction. September 8, 2016

Chapter 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 information

Introduction to the SHARCNET Environment May-25 Pre-(summer)school webinar Speaker: Alex Razoumov University of Ontario Institute of Technology

Introduction 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 information

24 Writing Your First Script

24 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 information

My 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 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 information

Presented 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 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 information

Stampede User Environment

Stampede 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 information

Maintaining 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 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 information

CMTH/TYC Linux Cluster Overview. Éamonn Murray 1 September 2017

CMTH/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 information

Modules. 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 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 information

New User Seminar: Part 2 (best practices)

New 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 information

The Cray Programming Environment. An Introduction

The 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 information

Slurm Birds of a Feather

Slurm 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 information

Using a Linux System 6

Using 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 information

Genius Quick Start Guide

Genius 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 information

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre

Linear 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 information

MODULAR ENVIRONMENT MANAGEMENT WITH VALET. Dr. Jeffrey Frey University of Delaware, IT

MODULAR 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 information

Introduction to GALILEO

Introduction 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 information

Linux User Environment. Robert McLay

Linux 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 information

Visual Studio 2008 Load Symbols Manually

Visual 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 information

Modules and Software. Daniel Caunt Harvard FAS Research Computing

Modules 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 information

Project #1: Tracing, System Calls, and Processes

Project #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 information

Knights Landing production environment on MARCONI

Knights 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 information

Using Environment Modules on the LRZ HPC Systems

Using 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 information

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

EECS 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 information

Modules v4. Yes, Environment Modules project is not dead. Xavier Delaruelle

Modules 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 information

CIT 380: Securing Computer Systems

CIT 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 information

UNIX Shell Programming

UNIX 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 information

Vaango Installation Guide

Vaango 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 information

Beginner's Guide for UK IBM systems

Beginner'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 information

Shell Scripting. Jeremy Sanders. October 2011

Shell 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 information

Guillimin HPC Users Meeting February 11, McGill University / Calcul Québec / Compute Canada Montréal, QC Canada

Guillimin 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 information

Computing with the Moore Cluster

Computing 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 information

Bash command shell language interpreter

Bash 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 information

Sunday, February 19, 12

Sunday, 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 information

Running Jobs, Submission Scripts, Modules

Running 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 information

Getting started with the CEES Grid

Getting 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 information

Introduction to UNIX. SURF Research Boot Camp April Jeroen Engelberts Consultant Supercomputing

Introduction 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 information

The Why and How of HPC-Cloud Hybrids with OpenStack

The 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 information

Practical Introduction to Message-Passing Interface (MPI)

Practical 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 information

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie

Introduction 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 information

Guillimin HPC Users Meeting March 17, 2016

Guillimin 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 information

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?

Design 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 information

HPC at UZH: status and plans

HPC 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 information

Code-Agnostic Performance Characterisation and Enhancement

Code-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 information

Introduction to GALILEO

Introduction 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 information

Programming Environment 4/11/2015

Programming 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 information

If you had a freshly generated image from an LCI instructor, make sure to set the hostnames again:

If 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 information

Combining 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 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 information

Installing CEA on an Intel Mac

Installing 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 information

Review of Fundamentals

Review 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 information

CS 326: Operating Systems. Process Execution. Lecture 5

CS 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 information

Progress Report Toward a Thread-Parallel Geant4

Progress 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 information

Environment Variables

Environment 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 information

Slurm 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 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 information

Wednesday, August 10, 11. The Texas Advanced Computing Center Michael B. Gonzales, Ph.D. Program Director, Computational Biology

Wednesday, 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 information

The Cray Programming Environment. An Introduction

The 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 information

Practical: a sample code

Practical: 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 information

Environment Variables

Environment 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 information

Unix Processes. What is a Process?

Unix 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 information

Shifter and Singularity on Blue Waters

Shifter 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 information

1: Introduction to Object (1)

1: 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 information

HPC Middle East. KFUPM HPC Workshop April Mohamed Mekias HPC Solutions Consultant. Agenda

HPC 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 information

Stable Cray Support in EasyBuild 2.7. Petar Forai

Stable 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 information

Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine

Batch 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 information

Effective Use of CCV Resources

Effective 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 information

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

Computer 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 information

Design Overview of the FreeBSD Kernel CIS 657

Design 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 information

Simple examples how to run MPI program via PBS on Taurus HPC

Simple 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 information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 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 information

Compiling applications for the Cray XC

Compiling 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 information

Systems Programming/ C and UNIX

Systems 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 information

Distributed Memory Programming With MPI Computer Lab Exercises

Distributed 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 information

Tool for Analysing and Checking MPI Applications

Tool 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 information

RIPPLESTONE SUMMARY

RIPPLESTONE 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 information

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

Review 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 information

Hands-on. MPI basic exercises

Hands-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 information

The TinyHPC Cluster. Mukarram Ahmad. Abstract

The 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 information

Modules 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 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 information

Supercomputing environment TMA4280 Introduction to Supercomputing

Supercomputing 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 information

What is Research Computing?

What 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 information

Embedded Systems Programming

Embedded 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 information

UNIX System Programming Lecture 3: BASH Programming

UNIX 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 information

Programming Techniques for Supercomputers. HPC RRZE University Erlangen-Nürnberg Sommersemester 2018

Programming 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 information

Parallel Tools Platform for Judge

Parallel 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 information

Software Usage on Cray Systems across Three Centers (NICS, ORNL and CSCS)

Software 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 information

ncsa eclipse internal training

ncsa 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 information

ECE 574 Cluster Computing Lecture 4

ECE 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 information

MIGRATING 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 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