Skip to content

Commit a9d28b0

Browse files
committed
Cleanup for PR, lots of fixing whitespace and long lines, removed some unused requirements and code, and added some new entries to .gitignore.
1 parent 6c3c64e commit a9d28b0

File tree

11 files changed

+527
-489
lines changed

11 files changed

+527
-489
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,20 @@ artifacts/
8282
# Chutzpah Test files
8383
_Chutzpah*
8484

85+
# Python
86+
__pycache__/
87+
*.py[cod]
88+
*$py.class
89+
90+
# Virtual environments
91+
.env
92+
.venv
93+
env/
94+
venv/
95+
ENV/
96+
env.bak/
97+
venv.bak/
98+
8599
# Visual C++ cache files
86100
ipch/
87101
*.aps

scripts/crank-scheduler/CONFIGURATION_GUIDE.md

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This guide demonstrates all possible configuration options using `example_comple
55
## Machine Configuration Options
66

77
### 1. Single-Type Machine (Traditional)
8+
89
```json
910
{
1011
"name": "single-type-machine",
@@ -18,12 +19,15 @@ This guide demonstrates all possible configuration options using `example_comple
1819
"preferred_partners": ["dedicated-load", "dedicated-db"]
1920
}
2021
```
22+
2123
**Features:**
24+
2225
- ✅ One machine type only (SUT)
2326
- ✅ Single profile available
2427
- ✅ Preferred partners for load/db roles
2528

2629
### 2. Multi-Type Machine (Advanced)
30+
2731
```json
2832
{
2933
"name": "multi-type-machine",
@@ -57,13 +61,16 @@ This guide demonstrates all possible configuration options using `example_comple
5761
}
5862
}
5963
```
64+
6065
**Features:**
66+
6167
- ✅ Multiple machine types (SUT, LOAD, DB)
6268
- ✅ Priority ordering (1=preferred, 2=secondary, 3=fallback)
6369
- ✅ Multiple sub-profiles per type
6470
- ✅ Default profile for each type
6571

6672
### 3. Specialized Machine
73+
6774
```json
6875
{
6976
"name": "dedicated-load",
@@ -80,7 +87,9 @@ This guide demonstrates all possible configuration options using `example_comple
8087
}
8188
}
8289
```
90+
8391
**Features:**
92+
8493
- ✅ Dedicated to one role (LOAD only)
8594
- ✅ Multiple specialized profiles
8695
- ✅ No preferred partners needed
@@ -125,9 +134,11 @@ This guide demonstrates all possible configuration options using `example_comple
125134
"description": "Basic single machine scenario with default profiles"
126135
}
127136
```
137+
128138
**Result:** Uses default profiles for all machines
129139

130140
### 2. Custom Profile Selection
141+
131142
```json
132143
{
133144
"name": "Triple Machine Test with Custom Profiles",
@@ -144,9 +155,11 @@ This guide demonstrates all possible configuration options using `example_comple
144155
}
145156
}
146157
```
158+
147159
**Result:** Uses specific custom profiles for each machine type
148160

149161
### 3. Mixed Profile Usage
162+
150163
```json
151164
{
152165
"name": "Mixed Profile Scenario",
@@ -160,40 +173,46 @@ This guide demonstrates all possible configuration options using `example_comple
160173
}
161174
}
162175
```
163-
**Result:**
176+
177+
**Result:**
178+
164179
- `single-type-machine`: Uses default profile
165180
- `multi-type-machine` SUT: Uses custom profile
166181
- `multi-type-machine` LOAD: Uses default profile
167182

168183
## Configuration Properties Explained
169184

170185
### Machine Properties
171-
| Property | Required | Description |
172-
|----------|----------|-------------|
173-
| `name` || Unique machine identifier |
174-
| `capabilities` || Dict of machine types this machine can fulfill |
175-
| `preferred_partners` || List of preferred machines for other roles |
186+
187+
| Property | Required | Description |
188+
| -------------------- | -------- | ---------------------------------------------- |
189+
| `name` || Unique machine identifier |
190+
| `capabilities` || Dict of machine types this machine can fulfill |
191+
| `preferred_partners` || List of preferred machines for other roles |
176192

177193
### Capability Properties
178-
| Property | Required | Description |
179-
|----------|----------|-------------|
180-
| `machine_type` || Key: "sut", "load", or "db" |
181-
| `priority` || 1=preferred, 2=secondary, 3=fallback |
182-
| `profiles` || List of available profile names |
183-
| `default_profile` || Which profile to use by default (defaults to first profile in list) |
194+
195+
| Property | Required | Description |
196+
| ----------------- | -------- | ------------------------------------------------------------------- |
197+
| `machine_type` || Key: "sut", "load", or "db" |
198+
| `priority` || 1=preferred, 2=secondary, 3=fallback |
199+
| `profiles` || List of available profile names |
200+
| `default_profile` || Which profile to use by default (defaults to first profile in list) |
184201

185202
### Scenario Properties
186-
| Property | Required | Description |
187-
|----------|----------|-------------|
188-
| `name` || Scenario identifier |
189-
| `template` || YAML template file |
190-
| `scenario_type` || 1=single, 2=dual, 3=triple machine |
191-
| `target_machines` || List of machines to run on |
192-
| `estimated_runtime` || Runtime in minutes |
193-
| `description` || Human-readable description |
194-
| `profile_overrides` || Custom profile overrides |
203+
204+
| Property | Required | Description |
205+
| ------------------- | -------- | ---------------------------------- |
206+
| `name` || Scenario identifier |
207+
| `template` || YAML template file |
208+
| `scenario_type` || 1=single, 2=dual, 3=triple machine |
209+
| `target_machines` || List of machines to run on |
210+
| `estimated_runtime` || Runtime in minutes |
211+
| `description` || Human-readable description |
212+
| `profile_overrides` || Custom profile overrides |
195213

196214
### Profile Overrides Structure
215+
197216
```json
198217
"profile_overrides": {
199218
"machine-name": {

scripts/crank-scheduler/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ python main.py --config config.json --list-jobs-by-machine
165165
- **Machine**: Represents a physical machine with multiple capabilities and preferences
166166
- **Scenario**: Represents a performance test scenario with requirements and target machines
167167
- **MachineAllocator**: Handles machine assignment logic with preference matching and capability-based selection
168-
- **RuntimeEstimator**: Estimates runtimes for scenarios without known values based on similar scenarios
169168
- **CrankScheduler**: Main scheduler that creates optimized schedules with stage-based execution
170169
- **ScheduleSplitter**: Divides large schedules into smaller, parallelizable units
171170

0 commit comments

Comments
 (0)