In a distributed/Grid system, the worker is the “end” processor that does the actual work. it is the CPU that calculates the average of two numbers; it is the CPU that executes the business logic, etc…
I call this processor the “end” processor, because there could be many intermediate nodes/processors that route the work to the end node. In a graph-based architecture, the leaf node is the node that does the actual work. All the other nodes route the work to where it belongs. In a Grid/HPC environment, the scheduler sits in the middle and routes the jobs to the appropriate end node. We will ignore this middle portion for the time being and focus on the end nodes.
Anyhow, this end-node is the node that does the work. Its tendency, however, is to sit idle and not do anything. in other words, a processor wants to be idle. From an entropy perspective, “order” is when a processor is executing proper code, and “disorder” is when the processor is idle.
Do not focus on the fact that “we” as users want the processor to be busy all the time. The tendency of the processor is to sit idle. The processor aims to finish the work as fast as possible and sit idle. Another way of looking at this is that a processor upon receiving a jobs is in an ordered-place, and its tendency is towards disorder. When a processor is idle, it is that state.
We as users, however, want the processor to be utilized 100% of the time. That’s what we want. We will get to this conflict of interest in later postings.
From a macro-level, it all makes perfect sense now… Faster clock speeds, newer technology, etc, allow the processor to reach its preferred state faster:
Crossing the finish line is the only goal that both the master and the worker have in common
Art Sedighi