Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Grid and High Performance Computing Grid Computing and High Performance Computing Iceberg Getting Connected Basic UNIX/Linux Commands Shell.

Similar presentations


Presentation on theme: "Introduction to Grid and High Performance Computing Grid Computing and High Performance Computing Iceberg Getting Connected Basic UNIX/Linux Commands Shell."— Presentation transcript:

1 Introduction to Grid and High Performance Computing Grid Computing and High Performance Computing Iceberg Getting Connected Basic UNIX/Linux Commands Shell Scripting Using Schedulers and Sun Grid Engine

2 Introduction to Linux on Iceberg Working with Directories Help! Running Programs Exercise

3 HPC Cluster Computing clusters ( e.g. iceberg ) Campus Grid Departmental clusters, servers and PC network Cloud Computing Access resources over internet on demand, Amazon EC2, Microsoft Azure Grid Computing Particle Physics Data Grid Research Computing Infrastructure

4 Supercomputing Capability Computing e.g. Parallel Fluent, Molecular dynamics, MHD Capacity Computing Throughput computing blast searches, pattern searches, data searching Grid computing Heterogeneous resources e.g. ppgrid, DAME, cosmogrid (large scale capability) At home projects, boinc, Condor etc. (capacity computing)

5 Grid Computing : Data Grid Particle physics data grid, Distributed Aircraft Maintenance Environment Computing Network stores large volume of data across network Heterogeneous Multiple data sources Engine flight data Airline Maintenance Centre European data center London Airport New York Airport American data center Grid Diagnostics centre

6 National HPC Services Archer UK National Supercomputing Service Hardware – CRAY XC30 2632 Standard nodes Each node contains two Intel E5-2697 v2 12-core processors Therefore 2632*2*12 63168 cores. 64 GB of memory per node 376 high memory nodes with128GB memory Nodes connected to each other via ARIES low latency interconnect Research Data File System – 7.8PB disk http://www.archer.ac.uk/ EPCC HPCC Facilities http://www.epcc.ed.ac.uk/facilities/national-facilities Training and expertise in parallel computing

7 Regional Computing Service Services N8Computing Service Polaris facility – based in Leeds 1/8 owned by The University of Sheffield Iceberg is the gateway http://www.shef.ac.uk/wrgrid/n8

8 N8 cluster specifications Hardware 316 nodes (5,056 cores) with 4 GByte of RAM per core (each node has 8 DDR3 DIMMS each of 8 GByte). These are known as "thin nodes". 16 nodes (256 cores) with 16 GByte of RAM per core (each node has 16 DDR3 DIMMS each of 16 GByte). These are known as "fat nodes". Each node comprises two of the Intel 2.6 GHz Sandy Bridge E5-2670 processors. Each processor has 8 cores, giving a total core count of 5,312 cores Each node has a single 500 GB SATA HDD There are 4 nodes in each Steelhead chassis. 79 chassis have 4 GB/core and 4 more have 16 GB/core Connectivity the compute nodes are fully connected by Mellanox QDR InfiniBand high performance interconnects with 2:1 blocking File System & Storage 109 TBytes NFS filesystem where user $HOME is mounted. Quota controlled and backed up regularly. 174 TBytes Lustre parallel file system. There is no quota control. It is not backed up and files are automatically expired after 90 days.

9 Iceberg: Summary of Facts & Figures Processor cores: 3440 cores + 16 GPUs Total Main Memory: 31.8 TB Filestore: 45 TB Temporary Disk Space: 260 TB Physical size: 8 racks Power consumption: 83.7 KW

10 iceberg cluster specifications Intel Ivy Bridge nodes all infiniband connected, containing; 92 nodes each with 16 cores and 64 GB of memory ( i.e. 2 * 5-core Intel E5-2650-v2 ) 4 nodes each with 16 cores and 256 GB of memory TOTAL INTEL CPU CORES = 1152, TOTAL MEMORY = 2400 GB Scratch space on each node is 400 GB Intel Westmere based nodes all infiniband connected, containing; 103 nodes each with 12 cores and 24 GB of memory ( i.e. 2 * 6-core Intel X5650 ) 4 nodes each with 12 cores and 48 GB of memory TOTAL INTEL CPU CORES = 1152, TOTAL MEMORY = 2400 GB Scratch space on each node is 400 GB

11 iceberg cluster specifications : GPU Computing Kepler K40M all infiniband connected, containing; 8 Nvidia Tesla Kepler K40Ms GPU units for GPU programming 2880 thread processor cores per GPU 12GB GDR memory per GPU Total GPU memory = 96 GB Each GPU unit is capable of about 4.3TFlop of single precision floating point performance, or 1.4TFlops at double precision. Hence yielding maximum GPU processing power of upto 11.2 TFlops in total. Fermi M2070 all infiniband connected, containing; 8 Nvidia Tesla Fermi M2070s GPU units for GPU programming 448 thread processor cores per GPU 6GB GDR memory per GPU Total GPU memory = 48 GB Each GPU unit is capable of about 1TFlop of single precision floating point performance, or 0.5TFlops at double precision. Hence yielding maximum GPU processing power of upto 8 TFlops in total.

12 Iceberg Cluster HEAD NODE1 Iceberg(1 ) HEAD NODE2 Iceberg(2 ) Worker node There are 232 worker machines in the cluster There are two head-nodes for the iceberg cluster login qsh,qsub,qrsh All workers share the same user filestore

13 Iceberg cluster interconnection types Two main Interconnect types: Gigabit (commodity), Infiniband (more specialist) –Gigabit – All nodes are connected to each other via the standard Gigabit ethernet connections. This is suitable for parallel MPI jobs that do not require high-volume communications –Infiniband – High-End solution for large parallel applications has become defacto standard for clusters (speeds upto 4Gb/s) ( 2:1 nonblocking )

14 Accessing polaris and iceberg Register for an account http://www.shef.ac.uk/wrgrid/iceberg/register http://www.shef.ac.uk/wrgrid/iceberg/register Terminal access is described at: http://www.shef.ac.uk/wrgrid/using/access Recommended access is via any browser at: www.shef.ac.uk/wrgrid This uses Sun Global Desktop ( All platforms, Graphics-capable) Also possible: Using an X-Windows client ( MS Windows, Graphics-capable) –Exceed 3D –Cygwin Various ssh clients (MS Windows, Terminal-only ) –putty, SSH Note: ssh clients can also be used in combination with Exceed or Cygwin to enable graphics capability. Above web page describes how this can be achieved.

15 Secure Shell Program to log into another computer over a network Execute commands on a remote machine Move files from one machine to another Provides strong authentication and secure communications over insecure channels. Intended as a replacement for rlogin, rsh, rcp, and rdist.

16 SSH method of access from MAC or Linux platforms You only need the SSH client. The server is unnecessary, unless you wish to connect back to your home machine via the Internet using SSH. Connecting to our N8 polaris machine ssh -l shemg polaris.leeds.ac.uk To use X-windows add the "-X" flag –SSH will then carry Xwindows traffic over the Internet to connect Range of options for changing ports, specifying authentication files, encryption algorithms etc…. –Use man ssh for help with options Note1: -X parameter is needed to make sure that you can use the graphics or gui capabilities of the software on iceberg. Note2: Depending on the configuration of your workstation you may also have to issue the command : xhost + before the ssh command.

17 Start session on headnode Start an interactive session on a worker Help Start Application on a Worker Web browser method of access: Sun Global Desktop

18 Terminal access from Windows platforms via Exceed X Concepts Using the Exceed Software Starting an xterm session Starting a ssh session

19 Basic X Concepts X Server runs on local machine –PCExceed, Cygwin, Xming –UNIX WorkstationIncluded in OS –Apple MacExodus X Client runs on remote machine –Graphical Application xterm xcalc Modelling and visualisation packages etc.

20 ssh on Managed/XP workstations Secure-shell client can be accessed via; Start  Unix_Connectivity  Exceed3D  ssh. When the program initialises you will be asked to enter hostname (default is iceberg), username and password.

21 ssh on Managed/XP workstations When ssh starts you will be presented with the login panel as shown below; Default host name is iceberg.shef.ac.uk and can be changed if you want to login somewhere else. You may next be asked if you wish to save the public host-key into a local-database. This is not a crucial question and you may answer YES or NO. Also if asked to provide host response just press ENTER.

22 Exceed on the stand-alone PCs Starting an Exceed xterm session Start Exceed ->Xstart and fill in the panel as shown below Fill in host,username,p/w,comm and and click on the run icon to start xterm

23 Exceed on the stand-alone PCs An Exceed xterm session

24 Exceed on the stand-alone PCs Working with secure-shells Start Exceed ->Xstart and fill in the panel as shown below and click on the RUN icon as with xterm session before. The resulting terminal looks the same as xterm as in previous slide

25 Multiple ssh or xterm shells There are no limits to the number of ssh or xterm windows one can start simultaneously by methods described in the previous slides. If you wish to open another x-terminal, it is simpler to start it from an existing x-term window by simply typing xterm & or Xterm or uterm. uterm is a home configured xterm for accessing iceberg from gnome- based Linux workstations with nicer fonts. On iceberg we also have a local command named Xterm that starts up an xterm window with nicer to use parameters. On iceberg we strongly recommend that you use Qsh rather than xterm or Xterm command so as to make use of a free worker node. Qsh will act like Xterm but will make use of a worker node. Typing exit will terminate an xterm or ssh session neatly. This will also close the xterm window but not the ssh window. ssh windows can be closed via the file  exit menu.

26 Some basic rules Unix is case sensitive. Commands are in lower case. Backspace and/or Del Keys correct typing errors. If the terminal parameters are not correctly set; try Ctrl+H Ctrl+C Aborts a program or command. You can use the arrow keys to recall previous commands, optionally edit and execute them.

27 Key combinations in bash Ctrl+AMove cursor to beginning of line Ctrl+C Stop running program Ctrl+D Ctrl+EMove cursor to end of line Ctrl+HDelete character to the left Ctrl+ZSuspend the program Arrow left/rightMove pointer left/right to insert chars etc. Arrow up/downRecall previous commands so as to edit them andsubmit them by pressing ENTER Tab Tab tab Command or filename completion. Auto-complete the command line (to save typing) If tab does not work tab again to show possibilities

28 passwords In normal linux environment the passwd command can be used to change the user passwords. However, because we manage passwords centrally this command will not work on iceberg. If you wish to change your iceberg password you will have to do this via a web interface at the following URL: http://www.shef.ac.uk/cics/password

29 Filenames Filenames can comprise of: a-z, A-Z alphabetic characters 0-9 digits.-_+ special characters mon+tue_01.06-03-96 Wildcards when referencing files –* any character or sequence of characters – ? any single character

30 Format of Unix commands command [option...] [filename...] eg:ls ls -l tutorial more tutorial

31 List Directory lslist directory ls -llist directory in long format ls -a list all (inc. hidden) files -rw------ l course01 57 Oct 18 11:05 hello.c Number of bytes in file Access Permissions Date and time last modified

32 Directory Structure Home directory of user cs4un1 : /home/cs4un1 usr / (root) home cs4un2cs4un1 When you log in you are positioned in your home directory. The environment variable $HOME is also set to contain this directory name.

33 Working with Directories pwdprint working directory cdchange directory cd move to home directory cd.. move up one level cd mydir move into a subdirectory cd /var/adm move to an absolute directory mkdir directory_namecreate a new directory rmdir directory_namedelete an empty directory

34 Displaying contents of a text_file less filename or more filename These commands will start listing the contents of filename on screen and pause after a screenfull of data. less is more powerfull than more and will also respond to cursor keys While pausing, use the following characters to control the output. Spacebarnext screenful n Spacebar : next n lines Enternext line b back one screen n b : back n screen’s full qquit ?or h list commands where n is a whole number

35 Displaying contents of a text_file… continued cat [options] filename [filename … ] This command will output the contents of filename[s] to standard-output ( normally screen) without pausing. Following options are useful; -vdisplay non-printing characters -ndisplay with lines numbered on the left tail [-n] filename This command lists the last n lines of a text file. If number [n] is omitted it is assumed to be 10.

36 Editors There are a number of editors for Linux platforms most are not as easy to use as the Windows based editors. Our recommendation is; Use gedit or nedit if you are using XWindows ‘e.g. Exceed’, cygwin. Use vi if you have a text terminal ‘telnet’. gedit Best at the moment ! neditEasy ‘graphical’, good. vi, vimRequire some knowledge, vi is aliased to vim it also has navigable help ( but not easy to use) via the :h command emacsHave faithful following, good once learned.

37 Renaming and deleting files mv :This command will move a file or directory to a new location. It can thus be used to rename files/directories as well as change their locations in the global directory structure. Syntax: mv source destination Example: mv myfile mynewfile mv myfile subdirectory/myfile mv mysubdir mynewsubdir rm : This command will delete a file (optionally a directory if used with –r option). Syntax: rm object_to_delete Example: rm myfile rm –r mydirectory

38 Searching in files Syntax: grep string file This command finds and prints out the lines in the file(s) containing the specified string string = word or phrase file = file or list of files (wild_card can be used) –Note: We strongly advise that the string is quoted. Examples: grep ‘Green Man’ england.dat grep ‘Zodiac’ t*.dat grep ‘Zone[a-z]’ security.fil

39 Copying files Copy files (optionally directories) cp fromfile tofile Some of the useful options are: -R or –r : Recursive copy ‘fromfile’ is a directory so the entire directory and its contents are copied. e.g. cp –r mydir newdir -p : preserve. Preserves all attributes of the file,such as access rights and creation date. Copy and concatenate files by using cat cat command concatenates contents of list of files and directs the output to standard output (normally screen). When used with redirection ‘>’ it can be used to join files together. e.g. cat file1 file2 file3 > new_big_file

40 Manual Pages Man: Manual pages give text-based help on usage. There is usually one manual page per command which is located in one of the directories defined by the MANPATH environment variable. To access the manual page for a command just type; man command –To get a list of manual pages that contain a ‘word’ type; man – k topic

41 Finding files and information about them find :Finds a file in the directory hierarchy Example : find. –name “myprog.*” -print Note: it is safe to enclose strings containing wild characters in quotas which : Shows in which directory a command is located. l Syntax: which command_name file : Can be used to see what type of data a particular file contains. For example, script, program, library, executable binary etc… Syntax: file command_name

42 Using find Searches recursively for specified file –find [-H] [-L] [-P] path_list options action -H L P control the treatment of symbolic links ( not of concern in an average user's directory) Options: -name filename ( e.g. -name diary.txt ) –-size nnn ( e.g. -size +10M ) –-atime nnn (time last accessed) (e.g. -atime -3 ) –-mtime nnn (time last modified) (e.g. -mtime -7 ) –Note: number can be minus (-) to indicate less then, plus(+) to indicate more than or without a sign to indicate exactly.

43 Find Examples Find a file called mystery in /bin and /usr and print the result – find /bin /usr –name libGL* –print – find. –user myusername –print Find files accessed in the last n days – find. –atime n –print Find files modified within the last n days – find. –mtime -n -print (e.g. find. -ntime -7 –print Note: -print is usually the default and can be omitted.

44 Issuing System Commands on Files Found Use the exec option of the find command Copy found file to a specified directory, curly braces instruct find to substitute the name of the file in this location – find. –name “*.doc” –exec cp {} document \; – File is copied to directory document – ; is needed to terminate the execute command – \ escape character to take away special meaning of ; in find Reaffirm execution of system commands using –ok option – find. -name “*.doc” -ok rm {} \; Search for a string in all the find files – -find. –name “*.doc” –exec grep “Iceberg” {} \; -print – Warning be careful of space between {} and \; note order \;

45 Resources 1: Filestore Two areas of filestore available on Iceberg. –A permanent, secure, backed up area in your home directory /home/username –data directory /data/username Not backed up to tape Data is mirrored on the storage server

46 Resources2: Scratch area Temporary data storage on local compute nodes –I/O much faster than NFS mounted /home and /data Data not visible to other worker nodes and not backed up Create a directory using your username in /scratch on a worker and work from this directory The data in the /scratch area is deleted periodically when the worker is not accessed by any processor or jobs

47 Resources 3: Storage Allocations Storage allocations for each area are as follows: –Your home directory has a filestore of 5 GB,but you can request additional space. –If you change directory to /data you will see a directory labelled by your username. –In /data you can store 50GB of files you can request additional space.

48 Resources 4: Important Notes The data area is not backed up. Check quota regularly if you go over quota the account will become frozen you’ll need to contact iceberg-admins Check quota using the command quota If you exceed your quota using the RM command –Note upper case

49 Resources 5 : Transferring Data Summary of file transfer methods as well as links to downloadable tools for file transfers to iceberg are published at: http://www.sheffield.ac.uk/wrgrid/using/access Command line tools such as scp, sftp and gftp are available on most platforms. Can not use ftp ( non-secure ) to iceberg. File Transfer Applications –Filezilla (Linux, MAC, Windows) https://filezilla-project.org/ –WinSCP http://winscp.net/eng/index.php

50 Pitfalls when transferring files ftp is not allowed to by iceberg. Only sftp is accepted. Do not use spaces ‘ ’ in filenames. Linux do not like it. Secure file transfer programs ‘sftp’ classify all files to be transferred as either ASCII_TEXT or BINARY. All SFTP clients attempt to detect the type of a file automatically before a transfer starts but also provide advanced options to manually declare the type of the file to be transferred. Wrong classification can cause problems particularly when transfers take place between different operating systems such as between Linux and Windows. If you are transferring ASCII_TEXT files to/from windows/Linux, to check that transfers worked correctly while on iceberg, type; cat –v journal_file If you see a ^M at the end of each line you are in trouble !!! CURE: dos2unix wrong_file on iceberg

51 Working with files To copy a file: cp my_file my_new_file To move ( or rename ) a file : mv my_file my_new_file To delete a file : rm my_file To list the contents of a file : less file_name To make a new directory( i.e. folder) : mkdir new_directory To copy a file into another directory: cp my_file other_directory To move a file into another directory: mv my_file other_directory To copy a directory to another location: cp –R directory other_directory To remove a directory and all its contents!!!: rm –R directory ( use with care ) Wildcards : * means matching any sequence of characters. For example: cp *.dat my_directory

52 Running programs Two modes of operation foreground and background –ForegroundInteract with program via keyboard/screen –BackgroundNo connection with keyboard/screen Submit to backbround by Appending ‘&’ EG: myprog >& myfile & The symbols ‘>&’ redirect output and any errors to the file myfile Although the above method of running jobs on the background is feasible, the prio we recommend that you submit your background into the batch queue via the qsub command.

53 Redirection Most unix commands are not aware of the source of their input or the destination of their output. They simply read/write from/to stdin/stdout. The shell takes care of these issues. Standard Input (default=>keyboard) Standard Output (default=>screen) Redirection symbols,>> can be used to specify files as the source/destination of the read/write operations to override the above defaults.

54 Redirection continued … Most unix commands are not aware of the source of their input or the destination of their output. They simply read/write from/to stdin/stdout. The shell takes care of these issues. To redirect the output to a file use the ‘ > ‘ symbol. Example: ls -l > dirlist The ‘ > ‘ symbol should be used with care as it may over-write an existing file. ‘>>’ symbol can be used instead if the output should be appended to the end of an existing file rather than over-writing it. Example: ls -l >> logfile If nothing is directed to a file then a zero size file is created, or if the file already existed then the contents of the file is removed Example: > afile The file /dev/null is a special symbol to indicate a ‘black-hole’ Example : ls –l > /dev/null

55 Redirection continued … If any program expects any of it’s input from the standard-input-channel, i.e. the keyboard, it can also read the same information from a file by redirection. To read input from a file use the ‘ < ‘ symbol. Example: write cs1xyz < message.fil Here any text input {write} program expects from the keyboard will be simply read from a file named message.fil. Each end-of-line will be treated as an on the keyboard.

56 Piping Feeding the output of one command into the input of another command The symbol ‘|’ is called a pipe command | command eg: ls -al | more ls -la | grep Nov

57 Examples of re-direction and piping ls –l | grep ‘Jun’ ls –l | grep `Jun` > june_files ls –l | grep `Jun` | cut –c 57-80 > june_files cut –c 1-10 < test_files aspell –l report.txt grep fluent < news.dat grep fluent < news.dat | cut –c 1-72 (grep fluent < news.dat ) | cut –c 1-72 (grep fluent fluent.news

58 Foreground Program Control Kill a programCtrl C Stop a programCtrl Z Note a stopped program still exists in the system and hence can be re-started.

59 Program control within current shell jobsLists jobs (programs) bg %job_idPlace a job in the background fg %job_idReturn a job to the foreground stop %job_idStop a job kill %job_idKill a job Process_id can be used in place of %job_id for more definitive way of identification. jobs [1] + Runningtime.sh > out stop %1 [1] + Stopped (signal)time.sh > out bg %1 [1] + time.sh > out & kill %1 Terminated

60 Program control using ‘ps’ and ‘kill’ psReport process status ps -f -u username UID PID PPID C STIME TTY TIME CMD username 24816 24585 0 16:23:04 pts/50 0:00 sleep 2 username 20169 19956 0 16:05:45 pts/50 0:01 -csh username 24585 20169 0 16:35:07 pts/50 0:00 /bin/sh time.sh killTerminate process –Find its process ID (PID) using the ps command –Kill the process using the kill command kill 24585 –Sometimes kill on its own does not work so try kill -KILL 24585 or kill -9 pid

61 Running programs on Iceberg and Polaris Iceberg is the gateway to the cluster of worker nodes and the only one where direct logging in is allowed. Iceberg’s main purpose is to allow access to the worker nodes but NOT to run cpu intensive programs. All cpu intensive computations must be performed on the worker nodes. This is achieved by the qsh command for the interactive jobs and qsub command for the batch jobs. Once you log into iceberg, taking advantage of the power of a worker node for interactive work is done simply by typing qsh and working in the new shell window that is opened. This what appears to be a trivial task has would in fact have queried all the worker nodes for you and started a session on the least loaded worker in the cluster. The next set of slides assume that you are already working on one of the worker nodes (qsh session).

62 Filename Completion Complete a partially typed filename –Operation Type enough characters to uniquely identify the name Press the ‘Tab’ key (for C – shell use ‘Esc’ key) If the response is a ‘bleep’ press Ctrl-d to list possible matches

63 Repeating Previous Commands Operation –history List previous commands –!!re-run last command –!n re-run the nth command –!str last command starting with str eg:!vi Setup –Add the following to your.cshrc file –set history=40

64 Command Aliasing Definitions –aliasll=' ls -lF ' –aliash=' history 24 ' –aliasdir=' ls ' Setup –Add alias definitions to your.bashrc file

65 UNIX Utilities tar compress sed awk

66 Basic sed and awk examples Print field 1 and field 3 in the file mixed.dat –awk < mixed.dat ‘{print $1, $3}’ Search for lines containing #1 in the file out_plu1 and print field 21, 5, 2 and 3 –awk < out_plu1 ‘{ if($1=“#1”) print $21, $5, $2, $3}’ Use sed to print line 5 of the long listing –ls –l | sed –n –e “5 p” In the file testsed.txt replace the string %testreplace% with the string replaced –sed –e “s/%testreplace%/replaced/” testsed.txt

67 Help HPC Hub –http://http://hpchub.sites.sheffield.ac.uk/ –For basic unix enquries –E-mail hpc@Sheffield.ac.ukhpc@Sheffield.ac.uk –Goes to the discussion group –Questions for the administration team –E-mail hpchub@sheffield.ac.ukhpchub@sheffield.ac.uk N8 HPC Registration http://www.shef.ac.uk/wrgrid/n8/apply http://n8hpc.org.uk/

68 Further Help GNU/Linux Command-Line Tools Summary –http://en.tldp.org/LDP/GNU-Linux-Tools- Summary/html/index.html Bash Guide for Beginners –http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Advanced Bash-Scripting Guide –http://en.tldp.org/LDP/abs/html/index.html The Linux Documentation Project –http://en.tldp.org/


Download ppt "Introduction to Grid and High Performance Computing Grid Computing and High Performance Computing Iceberg Getting Connected Basic UNIX/Linux Commands Shell."

Similar presentations


Ads by Google