Sign inSign up

ovishpc/ldms-samp

By ovishpc

•Updated 4 months ago

The LDMS Sampler docker container.

Image
0

4.5K

ovishpc/ldms-samp repository overview

⁠LDMS Sampler Docker Image

A docker image for LDMS daemon with sampler plugins. This image does not have storage plugins.

⁠References

⁠SYNOPSIS

$ docker run -d --name=<CONTAINER_NAME> --network=host --pid=host --privileged
         -e COMPID=<NUMBER> # set COMPID environment variable
         [ -v /run/munge:/run/munge:ro ] # expose host's munge to the container
         [ -v /on-host/munge.key:/etc/munge/munge.key:ro ] # use container's munged with custom key
         ovishpc/ldms-samp # the image name
              -x <XPRT>:<PORT>  # transport, listening port
              [ -a munge ] # use munge authentication
              [ OTHER LDMSD OPTIONS ]

⁠DESCRIPTION

ovishpc/ldms-samp entrypoint executes ldmsd -F, making it the leader process of the container. Users can append [OPTIONS] and they will be passed to ldmsd -F CLI. If -a munge is given, the entrypoint script will check if /run/munge is a bind-mount from the host. If so, munge encoding/decoding is done through munged on the host via the bind-mounged /run/munge -- no need to run munged inside the container. Otherwise, in the case that -a munge is given and /run/munge is not host-bind-mounted, the entrypoint script runs munged and tests it BEFORE ldmsd.

The container uses host process namespace (--pid=host option) so that the metric data source /proc/ in the container is the same as that of the host. Otherwise, the data being collected is that of the container.

Using host network (--network=host) is also recommended to fully utilize RDMA hardware on the host (e.g. with -x rdma:411).

The --privileged is only required to access privileged data source (e.g. system-level PAPI). However, depending on docker and system configuration, on some clusters the process on the container could not even create a new thread without the --privileged flag.

⁠EXAMPLES

## On a compute node

# Pull the container image
$ docker pull ovishpc/ldms-samp

# Start ldmsd container, with host network namespace and host PID namespace;
# - COMPID env var is HOSTNAME without the non-numeric prefixes and the leading
#   zeroes (e.g. nid00100 => 100, nid10000 => 10000). Note that this uses
#   bash(1) Parameter Expansion and Pattern Matching features.
#
# - serving on socket transport port 411 with munge authentication
#
# - using host munge
$ docker run -d --name=samp --network=host --pid=host --privileged \
         -e COMPID=${HOSTNAME##*([^1-9])} \
         -v /run/munge:/run/munge:ro \
         ovishpc/ldms-samp -x sock:411 -a munge

Tag summary

Content type

Image

Digest

sha256:d21408db3…

Size

122.7 MB

Last updated

4 months ago

docker pull ovishpc/ldms-samp