We provide in-network complex event processing in the data plane by leveraging the information-centric networking paradigm.
CCN-lite CORE Worker is an extension of the CORE worker for the MACI experiment suite. CCN-lite is integrated in CORE to enable fast development of experiments using MACI.
This worker is available with a gui (based on maciresearch/core_worker-gui
) to be used during experiment development as well as a headless version (based on maciresearch/core_worker
) for lightweight experiment runs.
docker build -t umrds/ccnl_core_worker -f worker.Dockerfile .
Although this container is intended to be used with MACI, it as a standalone container for debugging. To work with the CORE GUI, the host needs to run an X11 server.
brew cask install xquartz
Allow connections from network clients. Add to /etc/lightdm/lightdm.conf
:
[SeatDefaults]
xserver-allow-tcp=true
… and restart lightdm using sudo restart lightdm
.
Allow connections from network clients. Add to /etc/gdm3/custom.conf
:
[security]
DisallowTCP=false
Add a new configuration file /etc/sddm.conf with content
[X11]
ServerArguments=-listen tcp -dpi 96
ps ax | grep sddm
shows the desired Xorg option -listen tcp and the X Server is ready for incoming connections
Add the remote docker host to the xhost
access control list (xhost +<DOCKER_HOST_IP>
) OR disable the access control list (xhost +
).
The container can be started adding your IP to the DISPLAY variable:
docker run --rm --privileged -v /lib/modules:/lib/modules -it --cap-add=NET_ADMIN -e DISPLAY=<IP>:0 umrds/ccnl_core_worker
Checkout your Display using echo $DISPLAY
docker.for.mac.localhost
:docker run --rm --privileged -v /lib/modules:/lib/modules -it --cap-add=NET_ADMIN -e DISPLAY=docker.for.mac.localhost:0 umrds/ccnl_core_worker
or set the DISPLAY variable in docker-compose.yml file to your
MACI is a framework for running series of experiments and integrates well with CORE running in prepared docker containers. MACI takes care of the experiment configurations and servers python scripts to workers, which then execute the respective experiment settings.
To start, one must first start a maci instance which takes care of the experiment configuration:
git submodule update --init
docker-compose -f maci.yml up
MACI will then run a webinterface, which is used for creating experiment runs and communicating with the workers. It runs on http://localhost:63658/. A non-localhost address is required to be configured at the worker nodes (depends on your network configuration.
To start the worker the DISPLAY
variable needs to be left undefined, hence the BACKEND
variable needs to be set:
docker run --rm --privileged -v /lib/modules:/lib/modules -it --cap-add=NET_ADMIN -e BACKEND=<backend-ip>:0 umrds/ccnl_core_worker
The backend variable can also be set in the docker-compose.yml
file:
...
environment:
- CORE_PARAMS=/core_scripts/scenarios/default.xml
# DISPLAY needs to be undefined, when connecting to a backend
# - DISPLAY=docker.for.mac.localhost:0
- BACKEND=docker.for.mac.localhost