Skip to main content

A benchmarking framework for decentralized optimization

Project description

decent-bench logo

Welcome to decent-bench

Docs | Installation | Background

decent-bench allows you to benchmark decentralized optimization algorithms under various communication constraints, providing realistic algorithm comparisons in a user-friendly and highly configurable manner.

Installation

Requires Python 3.13+

pip install decent-bench

Background

Multiple paradigms exist in the field of mathematical optimization. One such paradigm is decentralized optimization. It addresses several of the challenges posed by traditional, centralized optimization. In centralized optimization, all training data is transferred to a central server that employs an optimization algorithm. In addition to increased network and power consumption, transferring data may raise privacy concerns, especially in the context of sensitive information such as medical data. There are also regulatory restrictions such as GDPR and the EU AI Act that may impact the feasibility of centralized optimization.

The decentralized paradigm addresses these issues. A network of agents participate in the optimization process by sending local variable updates to their neighbors, no training data is transmitted. There are two main approaches in decentralized optimization, federated and distributed. In the federated approach, agents only communicate with a coordinator. In each iteration, the coordinator retrieves local variable updates from the agents, updates the global model, and then distributes it back to the agents for the next iteration. In contrast, distributed optimization does not use a coordinator, agents communicate directly with their neighbors instead. Both approaches have their pros and cons, with federated being faster and distributed more robust. Despite their differences, both approaches take advantage of the Internet of Things and address the privacy concerns detailed earlier.

However, as decentralized optimization relies on network communication, factors such as noise, packet loss, compression, network sparsity, and agent heterogeneity may all impact the optimization process. Therefore, these constraints must be considered when evaluating an algorithm's performance. This is where decent-bench comes in. By benchmarking algorithms in different settings with different communication constraints, decent-bench provides you with realistic algorithm comparisons in a user-friendly and highly configurable manner.

Author

decent-bench is developed by Elias Ram under the supervision of Dr. Nicola Bastianello.

Project details


Download files

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

Source Distribution

decent_bench-0.1.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decent_bench-0.1.0-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file decent_bench-0.1.0.tar.gz.

File metadata

  • Download URL: decent_bench-0.1.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for decent_bench-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e62ed788ece1f4904a32cc08fa929b918f1aacdad933226b465db84895876cc8
MD5 864f4b684267c66af41e0d85cf8dd488
BLAKE2b-256 b2959a381c01548a0b79d5a0e329042eeb98df9a63d8527229c304a81d81313d

See more details on using hashes here.

File details

Details for the file decent_bench-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: decent_bench-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 40.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for decent_bench-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8880025458eab88d524599e2cc2c73c7d5fc04666e0091eea7147b7240dfa02
MD5 6b02fd783170e06fe2d4af520f8fc08d
BLAKE2b-256 8ef142d6b0f1473ed1d57e8c9eedf8b257d2efecd064171ba0e88b8ba050b5ff

See more details on using hashes here.

Supported by

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