Skip to content

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.