fuel-web/nailgun
Alexander Kislitsky 4fa861fa8a Distributed serialization implementation
Distributed serialization is implemented with python distributed
library. We have scheduler for jobs management and workers for
jobs processing. Scheduler is started on the master node as well
as set of workers on it. Also workers are started on all nodes.
In the cluster settings we can select the type of serialization
and nodes statuses that allows serialization on it. By default
nodes with status 'ready' are excluded from the workers list.

For data serialization we are using only nodes from the cluster
where serialization is performing.

Before the computation fresh nailgun code is sent to the workers
as zip file and it will be imported for job execution. So we always
have fresh nailgun code on the workers.

In one job we are processing chunks of tasks on the workers. This
approach significantly boosts performance. The tasks chunk size
is defined as settings.LCM_DS_TASKS_PER_JOB parameter.

For limiting memory consumption on the master node we use parameter
settings.LCM_DS_NODE_LOAD_COEFF for calculation max number of jobs
in the processing queue.

Synthetic tests of distributed serialization for 500 nodes with
nubmer of ifaces >= 5 performed on 40 cores (4 different machines)
took 6-7 minutes on average.

Change-Id: Id8ff8fada2f1ab036775fc01c78d91befdda9ea2
Implements: blueprint distributed-serialization
2017-03-24 15:15:30 +00:00
..
examples
nailgun Distributed serialization implementation 2017-03-24 15:15:30 +00:00
tools Do not remove logs on 'tox -e cleanup' 2016-09-06 13:27:44 +03:00
MANIFEST.in
conftest.py
manage.py Add fuyaql to allow debug expressions on master node 2016-06-22 15:50:45 +03:00
requirements.txt Distributed serialization implementation 2017-03-24 15:15:30 +00:00
setup.cfg Align nailgun docs building with OS-Infra 2016-04-25 19:33:43 +03:00
setup.py Extract cluster upgrade to a separate repository 2016-07-29 12:44:00 +03:00
test-requirements.txt Align nailgun docs building with OS-Infra 2016-04-25 19:33:43 +03:00
tox.ini Fix hacking 0.10 errors in nailgun 2015-10-08 12:01:55 +02:00