|
1 | 1 | # MLSysOps Framework |
2 | 2 |
|
3 | | -The *MLSysOps Framework* is the open‑source outcome of the EU‑funded MLSysOps |
4 | | -Horizon Europe project (Grant ID 101092912), running from Jan 2023 to Dec 2025. |
5 | | -Its aim is to deliver an AI‑enabled, agent‑based platform for autonomic, |
6 | | -cross‑layer management of compute, storage, and network resources across cloud, |
7 | | -edge, and IoT environments. |
| 3 | +The **MLSysOps Framework** is the open-source result of the Horizon Europe _MLSysOps_ project (Grant ID 101092912), running from Jan 2023 to Dec 2025. It delivers an AI-enabled, agent-based platform for autonomic, cross-layer management of compute, storage, and network resources across cloud, edge, and IoT environments. |
8 | 4 |
|
9 | | -## Key Objectives |
| 5 | +--- |
10 | 6 |
|
11 | | -- Provide an *open, AI‑ready framework* for scalable, trustworthy, |
12 | | - explainable system operation across heterogeneous infrastructures. |
13 | | -- Enable *continual ML learning* and retraining during runtime via |
14 | | - hierarchical agents. |
15 | | -- Support *portable, efficient execution* using container innovation and |
16 | | - modular, FaaS-inspired offloading. |
17 | | -- Promote *green, resource‑efficient, and secure operations* while |
18 | | - maintaining `QoS`/`QoE` targets. |
19 | | -- Facilitate realistic evaluation using real-world deployments in smart‑city |
20 | | - and precision‑agriculture scenarios. |
| 7 | +## 🚀 Key Objectives |
21 | 8 |
|
22 | | -## Core Components |
| 9 | +- Provide an **AI-ready, open framework** for scalable and explainable operations across heterogeneous infrastructures. |
| 10 | +- Enable **continual ML learning and retraining** at runtime using hierarchical agents. |
| 11 | +- Support **portable and efficient execution** via containers and modular, FaaS-style offloading. |
| 12 | +- Promote **green, resource-efficient, and secure operations** while maintaining QoS/QoE. |
| 13 | +- Enable **realistic evaluation** through deployments in smart city and precision agriculture scenarios. |
23 | 14 |
|
24 | | -- Hierarchical Agent Architecture: Interfaces with orchestration/control |
25 | | - systems and exposes an ML‑model API for plug‑and‑play explainable/re-trainable |
26 | | - models. |
| 15 | +--- |
27 | 16 |
|
28 | | -- Telemetry & Control Knobs: Collects metrics across the continuum and adjusts |
29 | | - configuration (e.g., compute, network, storage, accelerator usage) |
30 | | - dynamically. |
| 17 | +## 🧩 Core Components |
31 | 18 |
|
32 | | -- Distributed FaaS‑style Executor: Enables function offloading across tiers to |
33 | | - optimize latency, energy, and performance. |
| 19 | +- **Hierarchical Agent Architecture** |
| 20 | + Interfaces with orchestration/control systems and supports plug-and-play ML models. |
34 | 21 |
|
35 | | -- Explainable ML & Reinforcement Learning Module: Offers transparent decisions, |
36 | | - highlighting input factors influencing agent actions. |
| 22 | +- **Telemetry & Control Knobs** |
| 23 | + Collects metrics and dynamically tunes compute, network, storage, and accelerators. |
37 | 24 |
|
38 | | -- Use-cases: Includes real applications focusing on smart cities and agriculture. |
| 25 | +- **Distributed FaaS-style Executor** |
| 26 | + Offloads functions across layers to optimize latency, energy, and performance. |
39 | 27 |
|
40 | | -## Repository Contents |
| 28 | +- **Explainable ML & RL Modules** |
| 29 | + Provides transparent decision-making and insight into agent behavior. |
41 | 30 |
|
42 | | -| Directory | Description | |
43 | | -|----------|-------------| |
44 | | -| `agents/` | Core autonomic agents with policy-based plugins and ML/analytics | |
45 | | -| `orchestrators/` | Scripts to facilitate testbed setup | |
46 | | -| `mlsysops-cli/` | Tool to manage MLSysOps-related descriptors (agents, applications, etc.)| |
47 | | -| `northbound-api/` | Glue API from the CLI to the core Agent framework| |
48 | | -| `docs/` | Internal and public-facing documentation | |
| 31 | +- **Real-world Use Cases** |
| 32 | + Includes smart city and precision agriculture applications. |
49 | 33 |
|
50 | | -## Getting Started |
| 34 | +--- |
| 35 | + |
| 36 | +## 📁 Repository Structure |
| 37 | + |
| 38 | +| Directory | Description | |
| 39 | +| ----------------- | ---------------------------------------------------------------------- | |
| 40 | +| `agents/` | Core autonomic agents with policy plugins and ML analytics | |
| 41 | +| `orchestrators/` | Scripts and tools for testbed orchestration | |
| 42 | +| `mlsysops-cli/` | Command Line Interface to manage agents, applications, and deployments | |
| 43 | +| `northbound-api/` | API layer connecting CLI with the core framework | |
| 44 | +| `docs/` | Design documents, usage guides, and contribution guidelines | |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## 🛠️ Getting Started |
51 | 49 |
|
52 | 50 | ### Prerequisites |
53 | 51 |
|
54 | | -- Kubernetes v1.26+ |
| 52 | +- Kubernetes `v1.26+` |
55 | 53 | - `kubectl`, `karmada` |
56 | | -- Python 3.10+ |
| 54 | +- Python `3.10+` |
57 | 55 | - Access to a 4-node testbed environment |
58 | 56 |
|
59 | 57 | ### Quick Start |
60 | 58 |
|
61 | | -Install the CLI tool: |
| 59 | +Install the CLI: |
62 | 60 |
|
63 | 61 | ```bash |
64 | 62 | pip install mlsysops-cli |
65 | 63 | ``` |
66 | 64 |
|
67 | | -Given an `ansible` inventory to setup 4 nodes in `inv.yml`, you can deploy the framework: |
| 65 | +Clone the repository: |
68 | 66 |
|
69 | 67 | ```bash |
70 | | -mls framework deploy-all --inventory inv.yml |
| 68 | +git clone https://github.com/RR-Sahoo/mlsysops-framework.git |
| 69 | +cd mlsysops-framework |
71 | 70 | ``` |
72 | 71 |
|
73 | | -Create and deploy an example application: |
| 72 | +Launch the test environment: |
74 | 73 |
|
75 | 74 | ```bash |
76 | | -mls framework create-app-test-description |
77 | | -mls apps deploy-app --path mlsysops-app-test-description.yaml |
| 75 | +make deploy-testbed |
78 | 76 | ``` |
79 | 77 |
|
80 | | -See docs/ for detailed component setup guides. |
| 78 | +Use the CLI: |
81 | 79 |
|
82 | | -## Documentation |
| 80 | +```bash |
| 81 | +mlsysops-cli --help |
| 82 | +``` |
83 | 83 |
|
84 | | -Check the full documentation at [docs.mlsysops.eu](https://docs.mlsysops.eu) |
| 84 | +--- |
85 | 85 |
|
86 | | -## Contributing |
| 86 | +## 🤝 Contributing |
87 | 87 |
|
88 | 88 | We welcome contributions from the community! |
89 | 89 |
|
90 | | -Browse [good first issues](https://github.com/mlsysops-eu/mlsysops-framework/issues?q=is%3Aissue%20state%3Aopen%20label%3Agood-first-issue) |
| 90 | +- See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for guidelines. |
| 91 | +- Read our [Code of Conduct](docs/CODE_OF_CONDUCT.md). |
| 92 | +- For design details, refer to [docs/design-overview.md](docs/design-overview.md). |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +## 👥 Maintainers |
| 97 | + |
| 98 | +The MLSysOps Framework is maintained by: |
| 99 | + |
| 100 | +- [Your Name / Org 1](mailto:your.email@example.com) |
| 101 | +- [Your Name / Org 2](mailto:another.email@example.com) |
| 102 | + |
| 103 | +See [MAINTAINERS.md](docs/MAINTAINERS.md) for the full list. |
91 | 104 |
|
92 | | -Review our [CONTRIBUTING.md](https://docs.mlsysops.eu/developer-guide/contribute/) |
| 105 | +--- |
93 | 106 |
|
94 | | -Follow our [CODE_OF_CONDUCT.md](https://github.com/mlsysops-eu/mlsysops-framework/blob/main/docs/developer-guide/Code-of-Conduct.md) |
| 107 | +## 📄 License |
95 | 108 |
|
96 | | -## License |
| 109 | +This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details. |
97 | 110 |
|
98 | | -This project is licensed under the Apache 2.0 License. |
| 111 | +--- |
99 | 112 |
|
100 | | -## Acknowledgements |
| 113 | +## 📢 Acknowledgements |
101 | 114 |
|
102 | | -This framework is developed as part of the Horizon Europe MLSysOps Project |
103 | | -(Grant ID 101092912), coordinated by the University of Thessaly, with |
104 | | -contributions from 12 European partners across academia and industry. |
| 115 | +This work is funded by the European Union’s Horizon Europe program under Grant Agreement No. 101092912 (MLSysOps). |
105 | 116 |
|
106 | | -Learn more at [mlsysops.eu](https://mlsysops.eu) |
| 117 | +--- |
0 commit comments