Skip to content

Compressor

CryptoGuru edited this page Jun 9, 2019 · 3 revisions

Introduction

Compressor is the application that creates Helix plot file chunks. It uses an innovative technique of condensing hashes before storing them to a hard drive. This allows for the storage of twice as many hashes as stored in conventional plot files.

Prerequisites

Prior to running Compressor, users will have to create a Burst account, the numeric ID of which is a mandatory parameter for Compressor operation. It is also the unique identifier used for Helix licensing and the account the mining revenue is awarded to.

Installation

Compressor is part of the Helix software suite and available for download at the dedicated Helix page of the PoC-Consortium GitHub repository.

The installation of the Compressor is straightforward: unpack the archive and place the executable in the desired folder.

Note for Windows users: some antivirus software may report a false positive finding for the Compressor and automatically disable its' operation. In such cases, it is necessary to exclude the folder where Compressor is placed from virus scanning. To see the results of virus scan for Compressor, refer to the VirusTotal website.

Hardware requirements

The Helix suite has hardware requirements that are considerably greater than those for pre-Helix PoC mining. This is the result of high RAM and GPU performance requirements, that are needed for the creation and condensed storing of Shabal hashes.

Exemplary Helix hardware setup:

  • Storage: 8 x 10 TB HDDs
  • RAM: 32 GiB
  • GPU: Nvidia 1050Ti
  • CPU: any 64-bit CPU, not older than 5 years

This setup will result in 160 TB/144 TiB Helix effective plot size with scan time of ~60 seconds.

To improve plot performance significantly, an additional staging drive should be used to store the chunks produced by Compressor, which becomes the source drive for Crispr processing.

Run the Compressor

Compressor is a CLI application. To run it, users have to run the command line interface as administrators. On Windows systems, the command prompt is run by clicking the Windows button in the task bar, typing "cmd" and clicking the "Command Prompt". To run the command prompt as an administrator, Windows users should right click the Command Prompt icon and select "Run as administrator".

Configuration

To run Compressor in the CLI, users should navigate to the location where the executable file is stored and run the application by typing compressor.

Compressor main window

Once Compressor is running, a list of flags and options will be displayed to the user, which are used to configure the creation of Helix chunks.

Flags

None of the flags are mandatory for creating plot file chunks with Compressor.

Available flags are:

-d, --ddio: disables direct I/O if used. Direct IO usage bypasses the OS caching layer and improves IO performance. Note that using direct I/O (enabled is the default setting) will require more available RAM.

-a, --daio: disables asynchronous writing. In asynchronous write mode, there are two buffers - one is used for writing, the other for generating Shabal hashes at the same time. In single buffer mode (with this option enabled), only one buffer is used for hashing and then flushed to disk - without parallelization.

-l, --prio: if used, Compressor will run as a low priority process (useful if an another application is running at the same time as Compressor).

-e, --escalate: setting this flag will escalated Compressor's Ram usage. This is will speed-up multi-drive-plotting.

-q, --quiet: runs Compressor in non-verbose mode (without showing non-critical messages in the CLI).

-b, --bench: runs Compressor in xPU benchmark mode. No plot files are created in benchmark mode, it is used to test the performance of the configuration.

-o, --opencl: displays available OpenCL platforms and devices.

-z, --zcb: enables zero copy buffers for shared memory (integrated) GPUs

-h, --help: displays help information.

-V, --version: displays version information.

Options

-i, --id <numeric_ID>: numeric account ID that will be used to create the plot file (mandatory)

-s, --sw <start_warp>: starting warp i.e. the lowest warp number that will be used to create the plot file chunk (mandatory)

In order to start plotting, users have to provide at least the numeric account ID - which identifies the miner once the mining is started and the starting warp. The plot file name will show this information as well, format is: numeric account ID_starting warps_number of warps_shard_total shards.

Users should be aware that overlapping plots reduce the effective size of the plot, so they should provide plotting parameters with care.

-w, --warps : the number of warps to be plotted.

If this option is omitted, Compressor will plot as many warps as can fit onto the free space of the hard drive.

-x, --chunk : defines the size of the chunk in warps.

If this option is omitted, one chunk of maximum size will be created.

-p, --path : defines the path to the destination folder where the plot file will be stored. Multi-path plotting is supported by adding more than one destination paths, by means of repeating the --path parameter for each desired path.

If the path is omitted, the plot file will be created in the working directory from where Compressor has been called.

-m, --mem : maximum amount of RAM memory to be used for plotting. If the unit is not provided, the number will be interpreted as bytes. If the user provides the suffix, it will be interpreted as the unit: e.g. "-- mem 4GiB"

Supported suffixes are: B, KiB, MiB, GiB, TiB, PiB, EiB, KB, MB, GB, TB, PB, EB

If the option is omitted, Compressor will use all available memory.

-c, --cpu : maximum number of CPU threads to use for plotting (default: all)

-g, --gpu <platform_id:device_id:cores>: GPU(s) to be used for plotting (default: none)

-t, --tune : overrides the gpu workgroup size setting