Process management

This chapter describes the functions for starting, stopping and monitoring processes on DEs.

Current Working Directory

A key element in process management is the current working directory on the accelerator file system. DaCS internally determines this for the dacs_de_start() call. For environment variables such as PATH or LD_LIBRARY_PATH, the underlying implementation will substitute the current working directory for $AE_CWD.

For example, if the current working directory on the accelerator is /DACS-TMP/HOME/USER then PATH=$AE_CWD:/USR/BIN points to /DACS-TMP/HOME/USER:/USR/BIN on the accelerator file system, and LD_LIBRARY_PATH=$AE_CWD:/DACS_LIB points to /DACS-TMP/HOME/USER:/DACS_LIB.

All files transferred by dacs_de_start() are placed in the current working directory. This will be unique across all AE applications on an accelerator.

When the launched accelerator process terminates, DaCS clears the working directory by default. A configuration option in /etc/dacsd.conf is available to allow retention of the current working directory. For more information see Initializing the DaCS daemons.

Note: The programmer using LD_LIBRARY_PATH may need to incorporate the DaCS libraries, and any required ".so" files, into the environment variable for running accelerator DaCS applications.
Note: See DaCS debugging for how to keep core dumps for launched accelerator applications.

Environment variables in Hybrid DaCS

Hybrid DaCS has specific environment variables in the process issuing the dacs_de_start() call. This allows an external program such as a debugging or profiling tool to be started which in turn starts the accelerator process. These variables are described in ENVIRONMENT.