Skip to content

Commit 1a8fc56

Browse files
committed
initial high-level cortex docs
1 parent 6db3ae7 commit 1a8fc56

2 files changed

Lines changed: 45 additions & 2 deletions

File tree

docs/architecture/cortex.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: Cortex initial placement and scheduling
3+
---
4+
5+
# Cortex
6+
7+
Cortex is a modular and extensible service for initial placement and scheduling in cloud-native environments covering workloads such as compute, storage, network, and other scheduling domains.
8+
It improves resource utilization and operational performance by making smart placement decisions based on the current state of the environment and defined constraints and objectives.
9+
10+
## Features
11+
12+
- **Modular and versatile design**: Cortex consists of a minimal core framework that can be extended with various plugins to support different data sources and scheduling algorithms. This provides flexibility in adapting to various cloud environments and requirements.
13+
- **Centralized knowledge database**: Cortex provides a holistic knowledge database that stores enriched data from various sources, enabling efficient retrieval and processing of information for scheduling decisions.
14+
- **Unified placement and scheduling**: Cortex combines initial placement and continuous scheduling into a single service.
15+
- **Cross-domain support**: Cortex supports a wide range of workloads from various scheduling domains, including compute, storage, and network. The architecture allows handling the domains independently or in a unified manner.
16+
- **Performance and scalability**: Cortex is designed to minimize the resource footprint and maximize its performance using alghorithmic and heuristic approaches. It is battle-tested in large-scale, produciton environmments.
17+
18+
## High-level Architecture
19+
20+
This section presents the conceptual workflow on a high-level.
21+
22+
23+
```mermaid
24+
graph LR
25+
External["Kubernetes\nCinder\nManila\nNeutron\nNova\n..."] --> Retrieval["Retrieval and enrichment"]
26+
27+
subgraph Cortex
28+
direction LR
29+
Retrieval -->|features| DB[(Knowledge Database)]
30+
31+
Scheduler["Scheduler"]
32+
DB <-->|x | Scheduler
33+
34+
IniPlacement["Initial Placement"]
35+
DB <--> IniPlacement
36+
37+
API["API"]
38+
DB <--> API
39+
end
40+
41+
External <-->|receive placement request\nreturn placement suggestion| IniPlacement
42+
External <-->|trigger migration| Scheduler
43+
API <--> User["User / Dashboard"]
44+
```

docs/architecture/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ CobaltCore is built on top of OpenStack and IronCore, leveraging their capabilit
1212
- [**OpenStack**](./openstack): The various OpenStack services that provide compute, storage, and networking capabilities to the CobaltCore environment.
1313
- **Greenhouse**: The monitoring and management tool that provides insights into the health and performance of the CobaltCore environment.
1414
- [**HA Service**](./cluster#ha-service): The high availability service that ensures critical workloads remain operational even in the event of failures.
15-
- **Cortex**: Smart placement service for VMs and storage in an OpenStack cloud environment.
16-
15+
- [**Cortex**](./cortex): Smart initial placement and scheduling service for compute, storage, and network in cloud-native cloud environments.

0 commit comments

Comments
 (0)