The master/worker model is a commonly used pattern for building distributed systems that have been around for practically forever. When building a cluster using this model, nodes can be classified into two distinct groups, namely, masters and workers.
The key responsibility of worker nodes is to perform compute-intensive tasks such as the following:
- Video transcoding
- Training large-scale neural networks with millions of parameters
- Calculating Online Analytical Processing (OLAP) queries
- Running a Continuous Integration (CI) pipeline
- Executing map-reduce operations on massive datasets
On the other hand, master nodes are typically assigned the role of the coordinator. To this end, they are responsible for the following:
- Discovering and keeping track of available worker nodes
- Breaking down jobs into smaller tasks and distributing them to each...