Files
cs249r_book/mlsysim/docs/api/engine.solver.OrchestrationModel.qmd
Vijay Janapa Reddi cb0ae4082f docs(mlsysim): regenerate quartodoc API stubs for the new module layout
Run quartodoc build against the refactored package (engine/ extracted from core/,
infra->infrastructure): regenerate the API reference so every stub points at the new
paths. Adds engine.*/infrastructure.* stubs, removes the 41 stale core.solver.* /
core.engine.* / core.scenarios.* / core.config.* / core.evaluation.* / infra*.qmd
orphans, and refreshes the package pages (core now primitives-only) + index.

Verified: all 47 documented symbols resolve in the new package; every index link
resolves; zero stale mlsysim.core.<engine-mod> / mlsysim.infra references anywhere in
docs/. (objects.json inventory is gitignored -- regenerated at build.)
2026-05-29 21:35:39 -04:00

54 lines
2.2 KiB
Plaintext

# engine.solver.OrchestrationModel { #mlsysim.engine.solver.OrchestrationModel }
```python
engine.solver.OrchestrationModel()
```
Analyzes Cluster Orchestration and Queueing (Little's Law).
**Caveat:** This model uses a pedagogical M/D/1 queue (single server, deterministic
service) to establish macroscopic wait-time bounds for dedicated, monolithic cluster workloads.
For detailed multi-tenant job packing and preemption, a discrete-event M/G/c
scheduler simulation would be required.
This model simulates the 'Wait Wall' in shared research clusters,
calculating job completion times and researcher wait times based on
cluster utilization and arrival rates.
Literature Source:
1. Little (1961), "A Proof for the Queuing Formula: L = λW."
2. Barroso et al. (2018), "The Datacenter as a Computer" (Cluster Mgmt).
3. Jeon et al. (2019), "Analysis of Large-Scale Multi-Tenant GPU Clusters."
## Methods
| Name | Description |
| --- | --- |
| [solve](#mlsysim.engine.solver.OrchestrationModel.solve) | Solves for cluster wait times and utilization. |
### solve { #mlsysim.engine.solver.OrchestrationModel.solve }
```python
engine.solver.OrchestrationModel.solve(
fleet,
arrival_rate_jobs_per_day,
avg_job_duration_days,
)
```
Solves for cluster wait times and utilization.
#### Parameters {.doc-section .doc-section-parameters}
| Name | Type | Description | Default |
|---------------------------|--------|------------------------------------------------------------------|------------|
| fleet | Fleet | The hardware cluster configuration. | _required_ |
| arrival_rate_jobs_per_day | float | λ: Rate at which new training jobs are submitted. | _required_ |
| avg_job_duration_days | float | The average time a job takes to run if it has the whole cluster. | _required_ |
#### Returns {.doc-section .doc-section-returns}
| Name | Type | Description |
|--------|------------------|----------------------------------------------------|
| | Dict\[str, Any\] | Wait time, system length, and utilization metrics. |