Skip to main content

Client Command Setting Items (hcp)

Setting Item List#

The setting items for the hcp commands are below. (Except for the common settings with the client commands)

Data Flow Control, Temporary File Save Function (Atomic File Save)

DescriptionConfiguration Name
Atomically file savingAtomicLikeSaving
Threshold for atomically file savingAtomicLikeSavingThreshold

Data Flow Control, Disk I/O Speed Control

DescriptionConfiguration Name
Disk I/O reading rate per sessionMaxReadRate
Disk I/O writing rate per sessionMaxWriteRate

Retransmission Function

DescriptionConfiguration Name
Number of auto resuming trialsAutoResumeTrials
Interval time between trials (in seconds)AutoResumeTrialInterval

Performance Evaluation

DescriptionConfiguration Name
Memory copy parallelism (when disabling local disk I/O)MemoryTransferConcurrency

System Operating Environment Settings

DescriptionConfiguration Name
Including setting filesInclude
cp/synchronizationn settingUseProperCopyAndSync

Data Flow Control, Temporary File Save Function (Atomic File Save)#

AtomicLikeSaving#

Refer to the hcpd configurations.

AtomicLikeSavingThreshold#

Refer to the hcpd configurations.

Data Flow Control, Disk I/O Speed Control#

MaxReadRate#

=========================================================================Supported OS : Linux / WindowsFormat : MaxReadRate <read-rate>-------------------------------------------------------------------------read-rateDefault : 10Ebit (Unlimited)Range of Values : unsigned double-length integer (up to 10Ebit)=========================================================================

This option specifies limitation of reading data from files on file transfer. This will be applied to each session which performs the file transfer. It is recognized as unlimited when the value is the maximum value in bps or over it.

In some environment, long time running of reading and writing might make overheat on SSDs (especially the writing side). So this option is useful for avoiding it.

--Example :MaxReadRate 10Gbit--

MaxWriteRate#

=========================================================================Supported OS : Linux / WindowsFormat : MaxWriteRate <write-rate>-------------------------------------------------------------------------write-rateDefault : 10Ebit (Unlimited)Range of Values : unsigned double-length integer (up to 10Ebit)=========================================================================

This option specifies limitation of writing data to files on file transfer. This will be applied to each session which performs the file transfer. It is recognized as unlimited when the value is the maximum value in bps or over it.

In some environment, long time running of reading and writing might make overheat on SSDs (especially the writing side). So this option is useful for avoiding it.

--Example :MaxWriteRate 10Gbit--

Retransmission Function#

AutoResumeTrials#

=========================================================================Supported OS : Linux / WindowsFormat : AutoResumeTrials <num-trials>-------------------------------------------------------------------------num-trialsDefault : -1Range of Values : signed integer=========================================================================

This option specifies a number of trials of auto resumes. –1 indicates unlimited number of trials. When 0 is set, hcp will stop without resuming.

--Example :AutoResumeTrials 5--

AutoResumeTrialInterval#

=========================================================================Supported OS : Linux / WindowsFormat : AutoResumeTrialInterval <trial-interval>-------------------------------------------------------------------------trial-intervalDefault : 30Range of Values : unsigned integer=========================================================================

This option specifies an interval of waiting for the next auto resume in seconds.

--Example :AutoResumeTrialInterval 10--

Performance Evaluation#

MemoryTransferConcurrency#

=========================================================================Supported OS : Linux / WindowsFormat : MemoryTransferConcurrency <num-concur> <wait-type> <busy-sleep-nsec>-------------------------------------------------------------------------num-concurDefault : auto (smaller value of physical-CPUs/2 or 16) Range of Values : unsigned integer-------------------------------------------------------------------------wait-typeDefault : condRange of Values : cond, busy-------------------------------------------------------------------------busy-sleep-nsecDefault : 1Range of Values : unsigned integer=========================================================================

When you use -n option on the hcp command which starts the command on memory-to-memory transfer mode, this option configures how to copy memory data of file payloads in concurrent way at the sender side.

num-concur specifies a number of concurrent copies. 1 indicates the standar memory copy by memcpy without concurrency.

wait-type specifies a waiting method on memory copy threads in its idling state. cond is to perform a conditinal wait on that idling state and busy is to perform a busy wait on it. When busy is set, CPU usage might be up to a multiplication of the number of CPUs and 100%.

busy-sleep-nsec specifies a waiting time in nano seconds on the busy wait.

This options is defined for a performance tuning to remove performance limitation by a single threaded memory copy on 100Gbps network environment.

--Example :MemoryTransferConcurrency 1 cond 1 # To disableMemoryTransferConcurrency 12 busy 1 # Busy wait, 4 concurrent and wait in 1 nano seconds--

System Operating Environment Settings#

Include#

=========================================================================Supported OS : Linux / WindowsFormat : Include <file-path>-------------------------------------------------------------------------file-pathDefault : noneRange of Values : path string of file system=========================================================================

The file written the common configurations among client commands is done “Include”. “Include” can be written anywhere in the hcp.conf. The value of Include is overwitten.“Include” can’t be nested.

--Example :Include /etc/hcp/hcp-common.conf--

When you specifies file-path in a relative path, the software tries to find it as a file path relative from the file where you describe the Include statement.

UseProperCopyAndSync#

=========================================================================Supported OS : Linux / WindowsFormat : UseProperCopyAndSync <flag-available>-------------------------------------------------------------------------flag-availableDefault : yesRange of Values : yes, no=========================================================================

When it comes to copy or synchronization, it is controlled to follows the cp or rsync command policy.

Copy behaviors are mainly changed into the following.

  • When a source directory is specified and the destination path exists as specified, the same name directory as the source is created in the destination, and the files are copied under the directory.
  • When a source directory is specified and the destination path doesn’t exist as specified, the same name directory as the destination path is created in the destination, and the files are copied under the directory (the same name directory as the source is not created).
  • In overwriting, in the case that the file types are not coincident between source and destination (ex: a file name in the source is a directory name in the destination,) it shows an error message with the reason code (CANNOT_OVERWRITE_DIR or CANNOT_OVERWRITE_NON_DIR)
  • When a directory is specified in the source without the -R option (recursive copy), it shows an error message with the reason code, OMIT_DIR.
  • When plural paths are specified in the source and the destination path is not a directory, it stops executing the command with the reason code, DEST_IS_NON_DIR.
  • When the source may include plural files (a directory, or Wild card, or with regular expression options,) and also the destination path exists but is not a directory, it stops executing the command with the reason code CANNOT_OVERWRITE_NON_DIR.

When synchronizing, the followings are the major behavior changes.

  • When a directory is specified in the source, and the path doesn’t have a trailing slash (/), the same name directory as one in the source is created in the destination path directory (if not exist, newly created), where the file is copied.
  • When a destination directory is specified, and the path also has a trailing slash (/), the file is copied in the destination path’s directory.(if not exist, newly created).
  • フWhen the file types are not coincident between source and destination in overwriting (ex: a file name in the source is a directory name in the destination), it is overwritten after deleting the file or directory in the destination.
  • When a directory is specified in the source without the -R option (recursive copy), the command is skipped with the reason code, OMIT_DIR.However, the command result is not recorded as an error (the exit status 0).
  • When the source may include plural files (a directory, or Wild card, or with regular expression options,) and also the destination path exists but is not a directory, it stops executing the command with the reason code CANNOT_OVERWRITE_NON_DIR.
--Example :UseProperCopyAndSync no--