Ophidia IO Server

IO Server configuration

$prefix/etc/oph_ioserver.conf

This file defines IO server parameters: IP address or hostname, port number, instance folder, etc.

[instance1]
SERVER_HOSTNAME=127.0.0.1
SERVER_PORT=65000
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data1
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024

The first line [instance1] defines an IO server instance; all arguments following are releated to this instance. Multiple instances can be executed on the same node.

SERVER_HOSTNAME indicates the IP address or hostname of the IO node hosting the server.

SERVER_PORT indicates the port where the IO server is listening.

SERVER_DIR is the path where runtime data and logs related to an IO server instance are stored.

MAX_PACKET_LEN defines the maximum size (in bytes) of messages sent and received by the IO server.

CLIENT_TTL defines the maximum time a client connection is kept alive without any activity. When the time expires the connection is automatically closed.

MEMORY_BUFFER defines the size (in MB) available to the IO server to allocate the buffer for data import.

To enable multiple instances on the same node, simply duplicate the configuration section changing server port and directory accordingly. For example:

[instance1]
SERVER_HOSTNAME=127.0.0.1
SERVER_PORT=65001
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data1
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024

[instance2]
SERVER_HOSTNAME=127.0.0.1
SERVER_PORT=65002
SERVER_DIR=/usr/local/ophidia/oph-cluster/oph-io-server/data2
MAX_PACKET_LEN=4000000
CLIENT_TTL=300
MEMORY_BUFFER=1024

Then to start the instances run:

su - ophidia
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 1 > /dev/null 2>&1 &
/usr/local/ophidia/oph-cluster/oph-io-server/bin/oph_io_server -i 2 > /dev/null 2>&1 &
...

$prefix/etc/oph_primitives_list

This file contains the list of Ophidia Primitives supported and available to the IO server. To add or remove a new primitive, append or delete a primitive block, as the following:

[primitive_name]
LIB   @PLUGIN_PATH@/library.so
FUN SIMPLE
RET STRING

Debugging

Debug can be enabled at configuration time by specifying the option --enable-debug. If the option is enabled several utility clients are built and the log messages are more verbose.

Other configuration options

  • --with-plugin-path: Allows to specify the primitives installation path (/usr/local/ophidia/oph-cluster/oph-primitives/lib by default).