Skip to main content

A lightweight multi-process Execution Pool with load balancing and customizable resource consumption constraints.

Project description

PyExPool is a concurrent execution pool with custom resource constraints (memory, timeouts, affinity, CPU cores and caching) and load balancing of the external applications on NUMA architecture. All main functionality is implemented as a single-file module to be easily included into your project and customized as a part of your distribution (like in PyCaBeM to execute multiple apps in parallel on the dedicated CPU cores and avoiding their swapping from the main memory), also it can be installed as a library. An optional minimalistic Web interface is provided in the separate module to inspect the load balancer and execution pool. Typically, PyExPool is used as an application framework for benchmarking, load testing or other heavy-loaded multi-process execution activities on constrained computational resources. PyExPool is convenient for the fine-grained resource control (including apps execution on the specific number of the optionally dedicated logical CPUs) and for the failover execution.

hwloc / lstopo should be additionally installed if customized CPU affinity masking and cache control are required, see Requirements section.

See details on the PyExPool page and star the project if you like it! For any further assistance you can drop me a email or write me on Linkedin.

BibTeX:

@misc{pyexpool,
	author = {Artem Lutov and Philippe Cudré-Mauroux},
	title = {PyExPool-v.3: A Lightweight Execution Pool with Constraint-aware Load-Balancer.},
	year = {2018},
	url = {https://github.com/eXascaleInfolab/PyExPool}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyexpool-3.2.1.tar.gz (64.7 kB view details)

Uploaded Source

Built Distribution

pyexpool-3.2.1-py2.py3-none-any.whl (53.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyexpool-3.2.1.tar.gz.

File metadata

  • Download URL: pyexpool-3.2.1.tar.gz
  • Upload date:
  • Size: 64.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.5.2

File hashes

Hashes for pyexpool-3.2.1.tar.gz
Algorithm Hash digest
SHA256 177bc8eb201e7ddde2da9d6fc68444f51f49eaab2662821f44a4bc4c7337d2dc
MD5 0b88679c3c85dfa6d68237088fba534b
BLAKE2b-256 5986930354456c43b1bd851a4bfe5374ee3c25f4760a6878cf361cf338dbe36a

See more details on using hashes here.

File details

Details for the file pyexpool-3.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pyexpool-3.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 53.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.5.2

File hashes

Hashes for pyexpool-3.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bc5e4ca4843e512dfc8373a4185f23e8fa1fde94f2e5cded881183be3a465e75
MD5 5302817edccbcd7bd22af29943745ddc
BLAKE2b-256 22e79a39adb25285225b2a54c394bdb13d780f80ccfa651c9682a9246e89f024

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page