Volunteer Computing Platform for Evolutionary Algorithms
This repository houses the primary components of VolPE, i.e. the master and the worker applications.
- Install
podmanand the Go toolchain - Setup podman appropriately
- Download this repository
- Export the environment variable
CONTAINER_HOST. Value can be determined by runningpodman info -f json | jq .host.remoteSocket.path. The output from the command must be modified as follows.If the output is"/run/user/1000/podman/podman.sock", the following command must be used to export the env. var.
export CONTAINER_HOST=unix:///xyz.sock
The following are instructions to get the master application up and running in different platforms:
cdinto themaster/folder and rungo run .
The following are instructions to get the worker application up and running in different platforms:
- Set the
VOLPE_MASTERenvironment variable to the IP address where the master is accessible, with port 8000 by default. For example, if the master is accessible at IP address 192.168.0.2:
export VOLPE_MASTER=192.168.0.2:8080
cdinto theworker/folder and rungo run .
The worker requires a .ini config file at startup. Create it at any path and pass it via the -config-path flag:
go run . -config-path ./config.ini
The config file format is:
[general]
volpe_master=<master_ip>:8080
worker_id=<unique_worker_name>
[resources]
memory_gb=2.0
cpu_count=2If volpe_master is omitted from the config, the worker will fall back to the VOLPE_MASTER environment variable.
To change the firewall configs in WSL do
mkdir -p ~/.config/containers nano ~/.config/containers/containers.conf
And add this line
[network] firewall_driver = "iptables"
NOTE Shutdown the WSL. And reboot. Only then the changes reflect
wsl --shutdown # Shutdown wsl wsl -d <distro-name> # Reboot
- Clone repo
https://github.com/volpe-framework/volpe-container-py - cd into the repo
- Run
bash build-image.sh - Ensure
.tarfile present
The frontend for VolPE is available at https://github.com/volpe-framework/volpe-frontend