Work Server, Parallel Server
Using Work Servers / Parallel Servers
System Overview
The Data Analysis system offers total of eleven work servers and six parallel servers.
NB) Only granted users can login to Parallel servers.
Work servers T1 | 7 |
Work servers T2 | 4 |
Parallel servers | 6 |
Main Features of Work Servers
- SSH-login service
- File access via General Parallel File System (GPFS) and HSM System (GHI)
- Calculations with batch job scheduling using Platform LSF
- Various softwares
Main Features of Parallel Servers
- SSH-login service
- File access via General Parallel File System (GPFS)
- Calculations with batch job scheduling using Platform LSF
- Various softwares (Mainly Gaussian)
NB) Parallel servers process calculation jobs themselves, unlike work servers which hand them to the batch servers. For this reason, when a job is being executed the response time of parallel servers to other requests (such as logins) might be unusually long.
Environment Requirements
SSH Version 2 must be used to access these servers remotely.
See below for more information on connections with SSH.
- When using UNIX terminals such as Linux, simply use the ssh command.
- If you are connecting from Windows, you can either install cygwin and execute ssh from its terminal or use a terminal emulator such as TeraTerm or PuTTY. If you use TeraTerm, choose UTF-8 TeraTerm Pro.
In addition, direct remote access is permitted on this system. See here for more details.
Warning
Be sure to set the passphrase to the authentication keys for ssh. The keys which passphrase isn't set to are deleted by administrator. Also, do not place unnecessary keys.
Log In / Log Out
Work Servers
When logging in to work servers, use a delegate host name listed in the table below. If you use an abbreviation (e.g. login.cc) for the delegate host name it is sometimes not possible to connect. In that case, use the FQDN (e.g. login.cc.kek.jp).
Delegate Host Name | Host Name | OS | |
---|---|---|---|
login.cc.kek.jp | ccw.cc.kek.jp | ccw01.cc.kek.jp | CentOS7.7 |
ccw02.cc.kek.jp | CentOS7.7 | ||
ccw03.cc.kek.jp | CentOS7.7 | ||
ccw04.cc.kek.jp | CentOS7.7 | ||
ccw05.cc.kek.jp | CentOS7.7 | ||
ccw06.cc.kek.jp | CentOS7.7 | ||
ccw07.cc.kek.jp | CentOS7.7 | ||
- | ccx.cc.kek.jp | ccx01.cc.kek.jp | CentOS7.7 |
ccx02.cc.kek.jp | CentOS7.7 | ||
ccx03.cc.kek.jp | CentOS7.7 | ||
ccx04.cc.kek.jp | CentOS7.7 |
[Example]
$> ssh ccw.cc.kek.jp
- Once logged in with a delegate host name, work servers will be assigned by round robin. For this reason, you log in to a different host every time. Bear in mind that local settings on a particular node (e.g. crontab) are not supported for any of the work servers.
- All user accounts and passwords are managed by LDAP. Thus, the same account name and password can be used to log in to any hosts.
- In case a work server had a failure, it is taken out of the round robin selection. After a problem occurred, it takes time between the reconfiguration of the round robin and the moment it disappears from the selection. If you are not able to access a delegate host name, try to log in again. It is possible to log in to a different work server.
CPU/Elapsed time limitation of processes on Work Servers
Work servers ( ccw.cc.kek.jp and ccx.cc.kek.jp ) limit CPU/Elapsed time of processes.
- Over 12hours of CPU time ... Kill the process
- Over 2weeks of Elapsed time ... Kill the process
- Occupy CPU usage (>300%.H/proc, >8x(100%.0.5H)/node) ... Limit the process
Memory limitations on Work Servers
The amount of memory usage for all general users is limited on each work server as mentioned below. In case the memory utilization reaches the limit, a series of processes which use large amount of memory may be forced to terminate for system protection. We appreciate your understandings.
- ccw.cc.kek.jp : 176GB
- ccx.cc.kek.jp : 368GB
- Use >350GB.D (50GB-7days) ... Kill the process
Warning
When we find an abuse that affects system operation, we might perform killing a process, or limiting usage of CPU and/or memory.
Parallel Servers
When logging in to parallel servers, normally you should use ccp01.cc.kek.jp. The other parallel servers (ccp02~ccp06) are used by submitting jobs from ccp01.
Changing Password
First Login
The first time you log in, the passwd command is automatically executed. Once you have changed your password, the session will terminate once, so you have to log in again. For password policies, please see the paragraph Password Rules. SSH ver2 is the required protocol to log in.
WARNING: Your password has expired. You must change your password now and login again! Changing password for user a0019. Enter login(LDAP) password: - - - - ← Input your current password New password: - - - - - - - ← Input your new password Retype new password: - - - - - ← Input your new password again LDAP password information changed for a0019 passwd: all authentication tokens updated successfully.
Changing Password (Any Time)
To change password, use passwd command;
[Example]
$ passwd Changing password for user a0019. Enter login(LDAP) password: - - - - ← Input your current password New password: - - - - - - - ← Input your new password Retype new password: - - - - - ← Input your new password again LDAP password information changed for a0019 passwd: all authentication tokens updated successfully.
Warning
If you make a mistake when you input the current password, the passwd command will terminate without changing anything.
Password Rules
Avoid specifying a password based on a Dictionary Word and follow the rules below.
- the password must have at least 9 characters,
- it must include a least 1 non-alphanumeric symbole (ex: $ % *),
- it must include a least 1 digit,
- it must include at least 1 lowercase alphabet letter,
- it must contain at least 5 different characters ("aa" is counted as 1, "ab" is counted as 2),
- the last 4 passwords used cannot be re-use.
Changing Login Shell
To change your login shell, execute the command chsh with the option "-s" and the full path of your preferred shell as arguments. You can check the list of available shells by using the "-l" option. The change of shell will take effect at the next login.
Note
After chsh run, it can take up to 5 minutes.
[Example]
$ chsh -l /bin/bash /bin/csh /bin/sh /bin/tcsh /bin/zsh $ chsh -s /bin/tcsh Shell was changed. $
Environment Settings
Tcsh/csh
.cshrc This file is invoked when a user l - ogs in with ssh by csh or tcsh. Add or modify the file if neccesary. tcsh users should be aware that if you create a .tcshrc file in your home directory, the .cshrc file will be invalid.
Note
This file is located in the home directory.
Note
The originals of the files above are located under /sw/share/etc/skel on the work/parallel servers, you can refer to them if necessary.
Bash/sh
.bash_profile This file is invoked when a user logs in with ssh on bash. .bashrc This file is invoked from .bash_profile. Add and modify this file if neccesary.
Note
These files are located in the home directory.
Note
The originals of the files above are located under /sw/share/etc/skel on the work / parallel servers, you can refer to them if necessary.
Tools Configuration Files
Each tool has environment configuration files located under /etc/profile.d.
The main tools added to this system are listed below along with their environment configuration files.
For csh/tcsh | For ksh/bash/zsh | |
---|---|---|
LSF | lsf.csh | lsf.sh |
Tex | texlive.csh | texlive.sh |
Environment Modules | modules.csh | modules.sh |
Mathematica | Mathematica.csh | Mathematica.sh |
Warning
These files cannot be modified by normal users. Nevertheless, it is possible to overwrite the environment variables set in these files. If you change one of these variables to a wrong value, the tools will no longer work properly. Please be careful when modifying the value of an environment variable.
Environment Modules
In this system, "Environment Modules" is available to switch environment variables for using a software including several versions of compiler, MPI Library, Python, JAVA.
The Environment Modules allows users to set environment variables dynamically required for using each software. It provides easily way to changing environment variables when using different category or versions of each software.
Warning
In the initial configuration, only OS standard version of each software is available. It is recommended to put "module load" command (refer to instructions below) in your shell configuration files which automatically invoked when logging in (.bashrc, .cshrc, etc.).
Warning
When using each software in LSF jobs, you also need to load environment settings. Execute "module load" command to load environment settings in your shell configuration files which invoked when logging in or in your job scripts before using each software,
Warning
If you want to use the module command in an LSF job when the $SHELL environment variable is not /bin/bash, include "source /etc/profile.d/modules.sh;" in the job.
Available Modules
With the command below, all the available modules are listed.
$> module avail↓
Note
"avail" can be abbreviated as "av".
[Example]
$> module av↓
--------------------------- /opt/Modules/modulefiles --------------------------- aocl/aocl-2.1 intel32/2020 openmpi/2.1.6-gcc750 binutil/234 openmpi/1.10.7-gcc openmpi/2.1.6-gcc830 gcc/750 openmpi/1.10.7-gcc750 openmpi/2.1.6-gcc930 gcc/830 openmpi/1.10.7-gcc830 openmpi/2.1.6-intel gcc/930 openmpi/1.10.7-gcc930 openmpi/2.1.6-pgi git/2260 openmpi/1.10.7-intel pgi/20.1(default) gsl/26 openmpi/1.10.7-pgi pgi/2020 intel/2020 openmpi/2.1.6-gcc python/3.7
Loading an environment setting
With the command below, the environment setting ls loaded.
$> module load <module name>↓
By executing "module load" command, environment variables such as PATH, etc. are set in the current executing shell environment.
[Example]
The syntax of loading the environment setting required for OpenMPI build with Intel compiler.
$> module load openmpi/1.10.7-intel↓
$> which mpirun /opt/openmpi/intel/openmpi-1.10.7/bin/mpirun $> which icc /opt/intel/compilers_and_libraries_2020.1.217/linux/bin/intel64/icc
Note
By loading the OpenMPI module, corresponding compiler module is loaded automatically.
Display environment variables that will be set
With the command below, you can confirm environment variables that will be set.
$> module show <module name>↓
[Example]
$> module show openmpi/1.10.7-intel ------------------------------------------------------------------- /opt/Modules/modulefiles/openmpi/1.10.7-intel: prepend-path - PATH /opt/openmpi/intel/openmpi-1.10.7/bin prepend-path - LD_LIBRARY_PATH /opt/openmpi/intel/openmpi-1.10.7/lib prepend-path - MANPATH /opt/openmpi/intel/openmpi-1.10.7/share/man -------------------------------------------------------------------
Warning
You can check the environment variables of the compiler module that is automatically loaded when you load the OpenMPI module, by executing "modules show
The syntax of checking the environment setting of Intel compiler.
$> module show intel/2020
Display module names that are currently loaded
With the command below, you can confirm module names that currently loaded.
$> module list↓
Note
"list" can be abbreviated as "li".
[Example]
$> module li Currently Loaded Modulefiles: 1) intel/2020 - - - 2) openmpi/1.10.7-intel
Additional loading modules and loading multiple modules
You can load additional modules by executing more than once "modules load" commands. You can also load Multiple modules at once by executing a "modules load" command.
[Example]
$> module load openmpi/1.10.7-intel python/3.7↓
Please enable conda command :source /opt/python-3.7/etc/profile.d/conda.sh
$> module li Currently Loaded Modulefiles: 1) intel/2020 - - - 3) python/3.7 2) openmpi/1.10.7-intel
Unloading modules
With the command below, you can unload a module that currently loaded.
$> module unload <module name that currently loaded>↓
[Example]
$> module unload openmpi/1.10.7-intel
Cleaning up modules that currently loaded
With the command below, you can unload all modules that currently loaded.
$> module purge↓
Note
There are module command options "switch/swap" for swhiching modules, but these options somtimes does not work correctry, so we don't recommend to use these options. "purge" or "unload" options are recommened.
Languages
The standard language environment of work/parallel servers is UTF-8(en_US.UTF-8) which is an English environment. Other available codes include POSIX C, EUC(Japanese) and UTF-8. To change language, set the value of an environment variable LANG as follows. If not specified, the language environment will be set to UTF-8.
Environment | Setting |
---|---|
English | en_US.UTF-8 |
POSIX C | C |
Japanese UTF-8 | ja_JP.UTF-8 |
Japanese EUC | ja_JP.eucJP |
Shift JIS | ja_JP.SJIS |
- Japanese EUC and SJIS are not officially supported but it is possible to use them.
- However, file names with Shift JIS characters are not supported.
[Example] With csh
%> setenv LANG ja_JP.UTF-8↓
With bsh
$> export LANG=ja_JP.UTF-8↓
When using Japanese UTF-8 or languages other than English, the terminal emulator setting on the client and the LANG variable on the server must match. In case of TeraTerm, the right correspondence between the two terminal settings is shown below.
TeraTerm Setting | LANG Environment Variable |
---|---|
UTF-8 | ja_JP.UTF-8 |
Japanese EUC | ja_JP.eucJP |
Using Japanese
Japanese input method is mostly dependent on terminal emulators used on client machines. For example, if you use TeraTerm on Windows, it is possible to use Japanese Input Methods available on Windows (MS-IME or ATOK...).
For more details, please refer to the manual of each method.
Emails
Receiving emails on work/parallel servers is not supported. Ountbound emails are not supported either, except for LSF job result notification emails.
Do not use the mail command.
Printing
List of Printers and Queues
Refer to Printer Information for the list of printers and printer queues.
Printing Output
Use the lpr command to print out.
$> lpr -P Priter Queue Name filename.ps↓
Example) Printing out on one side with printer DocuPrint CP400ps (Queue:xprt41ps1)in the Computing Research center warehouse.
$> lpr -P xprt41ps1 test.ps↓
If the output file is not a ps file, you can convert it to ps format using the paps command.
$> a2ps -o - filename | lpr -P xprt41ps1↓
or
$> a2ps -P xprt41ps1 filename↓
Default printers are not configured, but if necessary you can set the environment variable PRINTER to the printer queue you usually use.
%> setenv PRINTER xprt41ps1↓ - ← for csh $> export PRINTER=xprt41ps1↓ - ← for bsh
If the command above is added in .cshrc or .profile file, after log in again, the command "lpr filename.ps" will print the file with the default printer.
$> export PRINTER=xprt41ps1↓ - ← for bsh
If the command above is added in .cshrc or .profile file, after log in again, the command "lpr filename.ps" will print the file with the default printer xprt41ps1.
Note
The paps command currently installed enables printing files written in UTF-8 character encoding. (Japanese only)
Example) tcsh is used in this example.
%> setenv PRINTER xprt41ps1↓ %> setenv LANG ja_JP.UTF-8↓ %> echo 'これは日本語のテストです。' > test.txt↓ %> a2ps test.txt↓
In addition, the Perl version of this command, a2ps.pl has been installed in /usr/local/bin. It does not require to set up LANG, but it does require Japanese encoding to be EUC.
Example) tcsh is used in this example.
%> setenv PRINTER xprt41ps1↓ %> /usr/local/bin/a2ps.pl test.txt | lpr↓
Cancellation
To view a job waiting atop of printer queue, or a job that is being printed;
$> lpq↓
[Example]
$> lpq↓ xprt41ps1 is ready and printing Rank - Owner Job - File(s) - - - - - - Total Size active t0001 3677 - test_c - - - - - - 1024 bytes
To cancel a job waiting or printing;
$> lprm↓
Note
You cannot cancel print jobs that have been already sent to the printer with this command. To cancel them, use the cancel button on the printer.
To cancel a waiting job in printer queue;
$> lprm Job ID↓
[Example]
$> lpq↓ xprt41ps1 is ready and printing Rank - Owner Job - File(s) - - - - - - Total Size active t0001 3677 - test_c - - - - - - 1024 bytes $> lprm 3677↓
Check the print job ID with the lpq command, and then cancel it by using this number and the lprm command.
You can only cancel your own print jobs.
Other Software
It is also possible to use enscript (No Japanese) or paps+lpr to print files.
[Example with enscript]
$> enscript -P xprt41ps1 --media=A4 test.txt↓ [ 1 pages * 1 copy ] sent to xprt41ps1
Note
In enscript, the default paper size is letter. It can be changed to A4 by specifying "DefaultMedia: A4" in the confiruation file (~/.enscriptrc).
[Example with paps+lpr]
$> paps test.txt | lpr -P xprt41ps1↓
Important Point regarding Printers
If you wish to use any printer that is NOT listed in the Printer Information Page (including personal printers) from work servers, ask the administrator beforehand since network configuration changes might be required.
Online Manuals
Online manuals are available from command line on work/parallel servers.
man command
$> man command name↓
[Example]
$> man ls↓
info, pinfo command
$> info command name↓ $> pinfo command name↓
[Example]
$> info ls↓ $> pinfo ls↓
Additional Warnings
/tmp directory
/tmp shall be the location that makes basic system applications available to create temporary files. Please refrain from creating large size files or number of files in the /tmp by yourself. If the usage rate of the / tmp directory becomes high, large files are deleted. /tmp directory has been set quota, 1GB/users.
sshfs
Please mind the following things for using sshfs. It will cause a serious impact on the system operation if it is not used in the right way.
- Unmount sshfs mount point before suspending your computer.
- Use a direct hostname (ccw*.cc.kek.jp) as a connecting server instead of "login.cc.kek.jp".
- DO NOT use an access server for sshfs. This will cause a serious impact on the system operation.