Work Server
Using Work Servers
System Overview
The Data Analysis system offers total of eight work servers.
Login available servers | Number of servers |
---|---|
Work servers | 8 |
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
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 | cw.cc.kek.jp | cw01.cc.kek.jp | RHEL9.3 |
cw02.cc.kek.jp | RHEL9.3 | ||
cw03.cc.kek.jp | RHEL9.3 | ||
cw04.cc.kek.jp | RHEL9.3 | ||
cw05.cc.kek.jp | RHEL9.3 | ||
cw06.cc.kek.jp | RHEL9.3 | ||
cw07.cc.kek.jp | RHEL9.3 | ||
cw08.cc.kek.jp | RHEL9.3 |
[Example]
$> ssh cw.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 ( cw.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.
- cw.cc.kek.jp : 512GB
- 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.
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 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 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 | |
---|---|---|
anaconda | conda.csh | conda.sh |
apptainer | apptainer.csh | apptainer.sh |
Environment Modules | modules.csh | modules.sh |
LSF | lsf.csh | lsf.sh |
Mathematica | Mathematica.csh | Mathematica.sh |
openmpi | openmpi.csh | openmpi.sh |
Tex | texlive.csh | texlive.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.
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 ------------
gcc/850 gcc/1230 intel/2024 nvhpc/24.1
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 gcc/1230 ↓
$> which gcc
/opt/gcc-12.3.0/bin/gcc
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 gcc/1230
-------------------------------------------------------------------
/opt/Modules/modulefiles/gcc/1230:
prepend-path PATH /opt/gcc-12.3.0/bin
prepend-path LD_LIBRARY_PATH /opt/gnu-libs/lib
prepend-path LD_LIBRARY_PATH /opt/gcc-12.3.0/lib
prepend-path LD_LIBRARY_PATH /opt/gcc-12.3.0/lib64
prepend-path MANPATH /opt/gcc-12.3.0/share/man
-------------------------------------------------------------------
The syntax of checking the environment setting of Intel compiler.
$> module show intel/2024
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) gcc/1230
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 intel/2024↓
$> module li
Currently Loaded Modulefiles:
1) gcc/1230 2) intel/2024
Unloading modules
With the command below, you can unload a module that currently loaded.
$> module unload <module name that currently loaded>↓
[Example]
$> module unload gcc/1230
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 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 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 enscript command.
$> enscript -o - filename | lpr -P xprt41ps1↓
or
$> enscript -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)
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 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.
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 (cw*.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.