You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
target="_blank" rel="noopener">View the project on GitHub↗︎</a>
65
+
target="_blank" rel="noopener">View the project on GitHub↗︎</a>
67
66
</p>
68
67
</header>
69
68
@@ -76,11 +75,11 @@ <h2>Motivation</h2>
76
75
<strong>stable CPU load for a finite period</strong> by closing the loop with a PID regulator.
77
76
</p>
78
77
<ul>
79
-
<li><strong>Performance testing: </strong>Stress‑test applications and full systems to uncover bottlenecks and verify robustness under load.</li>
80
-
<li><strong>Resource‑allocation optimisation: </strong>Reproduce real‑world utilisation scenarios so you can fine‑tune CPU quotas and scheduling policies.</li>
81
-
<li><strong>Benchmarking: </strong>Generate a consistent, repeatable workload that makes it easy to compare CPUs, machines, or configurations.</li>
82
-
<li><strong>Education & training: </strong>Give students hands‑on experience with discrete PID control and demonstrate how load impacts performance.</li>
83
-
<li><strong>Thermal / power analysis: </strong>Investigate heat dissipation and energy consumption under a controlled, steady workload.</li>
78
+
<li><strong>Performance testing:</strong>Stress‑test applications and full systems to uncover bottlenecks and verify robustness under load.</li>
79
+
<li><strong>Resource‑allocation optimisation:</strong>Reproduce real‑world utilisation scenarios so you can fine‑tune CPU quotas and scheduling policies.</li>
80
+
<li><strong>Benchmarking:</strong>Generate a consistent, repeatable workload that makes it easy to compare CPUs, machines, or configurations.</li>
81
+
<li><strong>Education & training:</strong>Give students hands‑on experience with discrete PID control and demonstrate how load impacts performance.</li>
82
+
<li><strong>Thermal / power analysis:</strong>Investigate heat dissipation and energy consumption under a controlled, steady workload.</li>
84
83
</ul>
85
84
</section>
86
85
@@ -110,12 +109,62 @@ <h3>Controller Thread</h3>
110
109
(<code>K<sub>i</sub></code>) actions. The derivative term is not used.
111
110
</p>
112
111
113
-
```python
114
-
# actuator snippet
112
+
<pre><code># actuator snippet
115
113
def generate_load(self, sleep_time):
116
114
interval = time.time() + self.period - sleep_time
117
115
while time.time() <interval:
118
116
pr = 213123#busy‑work
119
117
_ = pr*pr
120
118
pr = pr+1
121
-
time.sleep(sleep_time)
119
+
time.sleep(sleep_time)</code></pre>
120
+
121
+
<pre><code># main PI control loop
122
+
def run(self):
123
+
def cpu_model(cpu_period):
124
+
return self.period - cpu_period # maps period to sleep time
0 commit comments