HPX - High Performance ParalleX

PrevUpHomeNext
Built-in Default Configuration Settings

During startup any HPX application applies a predefined search pattern to locate one or more configuration files. All found files will be read and merged in the sequence they are found into one single internal data structure holding all configuration properties.

As a first step the internal configuration database is filled with a set of default configuration properties. Those settings are described on a section by section basis below.

The system Configuration Section

[system]
pid = <process-id>
prefix = <current prefix path>

Property

Description

Remark

system.pid

This is initialized to store the current OS-process id of the application instance

dynamic information

system.prefix

This is initialized to the base directory HPX has been loaded from.

dynamic information

The hpx Configuration Section

[hpx]
location = ${HPX_LOCATION:$[system.prefix]}
component_path = $[hpx.location]/lib/hpx
master_ini_path = $[hpx.location]/share/hpx-<version>
ini_path = $[hpx.master_ini_path]/ini
default_stack_size = ${HPX_DEFAULT_STACK_SIZE:<hpx_default_stack_size>}
os_threads = 1
localities = 1
program_name =
cmd_line =

Property

Description

Remark

hpx.location

This is initialized to the id of the locality this application instance is running on.

dynamic information

hpx.component_path

This is initialized to the default directory where the HPX runtime library will look for installed components.

static information

hpx.master_ini_path

This is initialized to the default path of the main hpx.ini configuration file

static information, depends on HPX's installation path

hpx.ini_path

This is initialized to the default path where HPX will look for more ini configuration files. The value of this property will be interpreted as a list of directories delited by ':' (on Windows ';'), each of which will be scanned for ini files.

static information, depends on HPX's installation path

hpx.default_stack_size

This is initialized to the default stack size to be used by HPX-threads

static information, depends on the compile time preprocessor constant HPX_DEFAULT_STACK_SIZE (0x8000)

hpx.os_threads

This setting reflects the number of OS-threads used for running HPX-threads.

static information, usually depends on command line options and/or environment setting (for PBS and SLURM), by default it is set to 1

hpx.localities

This setting reflects the number of localities the application is running on.

static information, usually depends on command line options and/or environment setting (for PBS and SLURM), by default it is set to 1

hpx.program_name

This setting reflects the program name of the application instance.

dynamic information, initialized from the command line (arv[0])

hpx.cmd_line

This setting reflects the actual command line used to launch this application instance.

dynamic information, initialized from command line (argc/argv)

The hpx.threadpools Configuration Section

[hpx.threadpools]
io_pool_size = ${HPX_NUM_IO_POOL_THREADS:2}
parcel_pool_size = ${HPX_NUM_PARCEL_POOL_THREADS:2}
timer_pool_size = ${HPX_NUM_TIMER_POOL_THREADS:2}

Property

Description

Remark

hpx.threadpools.io_pool_size

The value of this property defines the number of OS-threads created for the internal I/O thread pool.

static information

hpx.threadpools.parcel_pool_size

The value of this property defines the number of OS-threads created for the internal parcel thread pool.

static information

hpx.threadpools.timer_pool_size

The value of this property defines the number of OS-threads created for the internal timer thread pool.

static information

The hpx.components Configuration Section

[hpx.components]
load_external = ${HPX_LOAD_EXTERNAL_COMPONENTS:1}

Property

Description

Remark

hpx.components.load_external

This entry defines whether external components will be loaded on this locality.

This entry normally is set to 1 and usually there is no need to directly change this value. It is automatically set to 0 for a dedicated AGAS server locality.

Additionally, the section hpx.components will be populated with the information gathered from all found components. The information loaded for each of the components will contain at least the following properties:

[hpx.components.<component_instance_name>]
name = <component_name>
path = <full_path_of_the_component_module>
enabled = $[hpx.components.load_external]

Property

Description

Remark

hpx.components.<component_instance_name>.name

This is the name of a component, usually the same as the second argument to the macro used while registering the component with HPX_REGISTER_MINIMAL_COMPONENT_FACTORY

dynamic information, filled by the component

hpx.components.<component_instance_name>.path

This is either the full path file name of the component module or the directory the component module is located in. In this case, the component module name will be derived from the property hpx.components.<component_instance_name>.name

dynamic information, filled by the component

hpx.components.<component_instance_name>.enabled

This setting allows to explicitly enable or disable the component.

This is an optional property, HPX assumed that the component is enabled if it is not defined.

The value for <component_instance_name> is usually the same as for the corresponding name property. However generally it can be defined to any arbitrary instance name. It is used to distinguish between different ini sections, one for each component.

The hpx.parcel Configuration Section

[hpx.parcel]
address = ${HPX_PARCEL_SERVER_ADDRESS:<hpx_initial_ip_address>}
port = ${HPX_PARCEL_SERVER_PORT:<hpx_initial_ip_port>}
max_connections = ${HPX_MAX_PARCEL_CONNECTIONS:<hpx_max_parcel_connections>}
max_connections_per_locality = ${HPX_MAX_PARCEL_CONNECTIONS_PER_LOCALITY:<hpx_max_parcel_connections_per_locality}

Property

Description

Remark

hpx.parcel.address

This property defines the default IP address to be used for the parcel layer to listen to. This IP address will be used as long as no other values are specified (for instance using the --hpx:hpx command line option). The expected format is any valid IP address or domain name format which can be resolved into an IP address.

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_IP_ADDRESS ("127.0.0.1")

hpx.parcel.port

This property defines the default IP port to be used for the parcel layer to listen to. This IP port will be used as long as no other values are specified (for instance using the --hpx:hpx command line option).

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_IP_PORT (7010)

hpx.parcel.max_connections

This property defines how many network connections between different localities are overall kept alive by each of locality.

static information, the default depends on the compile time preprocessor constant HPX_MAX_PARCEL_CONNECTIONS (512)

hpx.parcel.max_connections_per_locality

This property defines the maximum number of network connections that one locality will open to another locality.

static information, the default depends on the compile time preprocessor constant HPX_MAX_PARCEL_CONNECTIONS_PER_LOCALITY (4)

The hpx.agas Configuration Section

[hpx.agas]
address = ${HPX_AGAS_SERVER_ADDRESS:<hpx_initial_ip_address>}
port = ${HPX_AGAS_SERVER_PORT:<hpx_initial_ip_port>}
service_mode = hosted
dedicated_server = 0
max_pending_refcnt_requests = ${HPX_AGAS_MAX_PENDING_REFCNT_REQUESTS:<hpx_initial_agas_max_pending_refcnt_requests>}
local_cache_size = ${HPX_AGAS_LOCAL_CACHE_SIZE:<hpx_initial_agas_local_cache_size>}
use_range_caching = ${HPX_AGAS_USE_RANGE_CACHING:1}
use_caching = ${HPX_AGAS_USE_CACHING:1}

Property

Description

Remark

hpx.agas.address

This property defines the default IP address to be used for the AGAS root server. This IP address will be used as long as no other values are specified (for instance using the --hpx:agas command line option). The expected format is any valid IP address or domain name format which can be resolved into an IP address.

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_IP_ADDRESS ("127.0.0.1")

hpx.agas.port

This property defines the default IP port to be used for the AGAS root server. This IP port will be used as long as no other values are specified (for instance using the --hpx:agas command line option).

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_IP_PORT (7010)

hpx.agas.service_mode

This property specifies what type of AGAS service is running on this locality. Currently, two modes exist. The locality that acts as the AGAS server runs in bootstrap mode. All other localities are in hosted mode.

dynamic information

hpx.agas.dedicated_server

This property specifies whether the AGAS server is exclusively running AGAS services and not hosting any application components. It is a boolean value.

dynamic information, true if --hpx-run-agas-server-only is present.

hpx.agas.max_pending_refcnt_requests

This property defines the number of reference counting requests (increments or decrements) to buffer.

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_AGAS_MAX_PENDING_REFCNT_REQUESTS (4096)

hpx.agas.use_caching

This property specifies whether a software address translation cache is used. It is a boolean value.

static information, defaults to true.

hpx.agas.use_range_caching

This property specifies whether range-based caching is used by the software address translation cache. This property is ignored if hpx.agas.use_caching is false. It is a boolean value.

static information, defaults to true.

hpx.agas.local_cache_size

This property defines the size of the software address translation cache for AGAS services. This property is ignored if hpx.agas.use_caching is false. Note that if hpx.agas.use_range_caching is true, this size will refer to the maximum number of ranges stored in the cache, not the number of entries spanned by the cache.

static information, the default depends on the compile time preprocessor constant HPX_INITIAL_AGAS_LOCAL_CACHE_SIZE (256)


PrevUpHomeNext