A lightweight volunteer distributed computing framework for scientific workloads.
Project description
BeeMesh
BeeMesh is a lightweight volunteer distributed computing framework designed for scientific workloads. It allows a central Hive coordinator to distribute work across multiple Bee workers running on heterogeneous machines such as laptops, desktops, or clusters.
The goal of BeeMesh is to make it easy to execute distributed scientific simulations without complex cluster infrastructure.
Core Idea
A central Hive manages a queue of tasks. Worker nodes called Bees connect to the Hive, request work, execute tasks, and return results.
+------------------+
| BeeMesh |
| Hive |
| Task Queue |
+------------------+
↑ ↑
request request
| |
+-------+ +-------+
| Bee1 | | Bee2 |
+-------+ +-------+
| |
execute execute
| |
result result
└──────submit_result──────┘
Whichever worker asks first receives the next available task.
Architecture
BeeMesh consists of three main components:
Hive (Coordinator)
The Hive is a FastAPI server responsible for:
- worker registration
- job submission
- task queue management
- result collection
- cluster monitoring
Bees (Workers)
Workers connect to the Hive and continuously request tasks using long polling.
+------------------+
| BeeMesh |
| Hive |
| Task Queue |
+------------------+
▲ ▲
│ │
long poll long poll
│ │
+--------+ +--------+
| Bee 1 | | Bee 2 |
+--------+ +--------+
│ │
execute execute
│ │
└──submit_result──► Hive
Client
A client submits a high‑level job to the Hive. The Hive decomposes the job into smaller tasks that can be executed in parallel.
Client
│
│ submit_job (global simulation)
▼
+---------------------+
| BeeMesh Hive |
| job decomposition |
+---------------------+
│
│ create tasks
▼
Task Queue
│
┌──────┴──────┐
│ │
Bee1 Bee2
│ │
compute compute
│ │
└──submit_result──► Hive
Features
- Lightweight distributed task execution
- Worker capability reporting (CPU, RAM)
- Automatic job decomposition
- Live cluster monitoring via CLI
- Progress bars for job execution
- Cluster throughput metrics
Example CLI Usage
Start the Hive:
beemesh hive
Start workers:
beemesh bee --hostname worker1
beemesh bee --hostname worker2
Submit a distributed diffusion job:
beemesh submit-diffusion --nx 512 --ny 512 --blocks-x 4 --blocks-y 4
Monitor the cluster:
beemesh monitor
Project Vision
BeeMesh aims to provide a simple framework for:
- distributed scientific simulations
- volunteer computing
- heterogeneous cluster execution
Future work includes support for domain‑decomposed PDE solvers, enabling distributed simulations across many machines.
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bee_mesh-0.1.1.tar.gz.
File metadata
- Download URL: bee_mesh-0.1.1.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
560dc5b41fe5cac89734d57394d65e8858bd66b13bc298551b19eaa19da5cb2a
|
|
| MD5 |
c789cfc4ca60a8ce9ace1d19c8e476a0
|
|
| BLAKE2b-256 |
281cfd650d019b81499eeeb9fdee1c51bd8229befed4d6d838144c92e54d18d2
|
File details
Details for the file bee_mesh-0.1.1-py3-none-any.whl.
File metadata
- Download URL: bee_mesh-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed44544fc576d7ceff756d300cb63df47c9dd40c5d3ae72a8f6fb20f7638a669
|
|
| MD5 |
d52cf1b3a78037dbec733cca6ba30ad3
|
|
| BLAKE2b-256 |
bb57ecc5cdd7bcbc3f9d00a6defd820782e07af7a4c9cd2cebdaa66e44217a94
|