Why architecture determines system scalability in SCADA systems - Performance Analysis
We want to understand how the design of a system affects how well it can handle more work.
Specifically, how does the system's structure impact the speed as more devices or data are added?
Analyze the time complexity of the following architecture example.
// Simple SCADA system polling sensors sequentially
for (sensor in sensors_list) {
data = poll_sensor(sensor)
process_data(data)
}
This code polls each sensor one by one and processes its data before moving to the next.
Look at what repeats as the system grows.
- Primary operation: Polling each sensor and processing its data.
- How many times: Once per sensor in the list.
As the number of sensors increases, the total time grows directly with it.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 polls and processes |
| 100 | 100 polls and processes |
| 1000 | 1000 polls and processes |
Pattern observation: Doubling sensors doubles the work and time needed.
Time Complexity: O(n)
This means the time to complete grows in direct proportion to the number of sensors.
[X] Wrong: "Adding more sensors won't slow down the system much because polling is fast."
[OK] Correct: Even if each poll is quick, doing many polls one after another adds up, making the total time grow with the number of sensors.
Understanding how system design affects growth helps you explain why some systems handle more work better than others.
What if we changed the system to poll sensors in parallel instead of one by one? How would the time complexity change?