Comet opens the Beacon sensor box to fix a loose wire. Inside are chips, a battery and a tangle of tiny parts.
"How does my little alert rule from week 3 turn into all this?" she asks.
Wren points at the screen, then at the chips. "What do you notice? Our app never talks to the chips directly."
Nova hovers above the open box. "There are layers in between," she says. "Each one hides detail from the layer above."
Meanwhile, the nightly photo job is taking ages. Comet groans. "Three photos, one after another, every single night."
"What if three devices each squeezed one photo at the same time?" Wren asks.
At the bottom, a computer is physical hardware and electrical signals.
Layers of software are built on top of the hardware. Each layer works with the layers above and below it, which reduces complexity.
System software manages a device's resources so that other software can work with the hardware.
Beacon's app sits on top. It asks for a water reading without knowing how the chips measure it.
Everyday devices hide their implementation details. You use them without seeing how they work inside.
Take a car stereo. Its data include saved radio station presets and the volume level.
Its procedures include turning the volume up, saving or recalling a station, and mute.
You press mute and the sound stops. How it happens stays hidden. That hiding is abstraction.
Sequential computing does operations in order, one at a time. A sequential solution takes as long as the sum of all its steps.
Parallel computing breaks a program into smaller parts, some of which run at the same time. Distributed computing uses several devices to run a program.
A parallel solution takes as long as its sequential tasks plus the longest of its parallel tasks.
Speedup is the sequential time divided by the parallel time.
| Nightly job | Seconds | Can run in parallel? |
|---|---|---|
| Set up the photo batch | 10 | No, it must happen first |
| Squeeze photo 1 | 30 | Yes |
| Squeeze photo 2 | 20 | Yes |
| Squeeze photo 3 | 40 | Yes |
These timings are invented for our story. In parallel, three devices each squeeze one photo.
| Statement | True or false? |
|---|---|
| System software manages a device's resources. | ? |
| The Beacon app must know exactly how each chip works. | ? |
| A parallel solution is still limited by its sequential part. | ? |
| Distributed computing uses several devices to run a program. | ? |
Great systems thinking. Tomorrow is Impact Friday: keeping data safe on shared networks.