AI Glossary / Data engineering and architecture / Beginner
Distributed computing
Definition
Distributed computing is the use of multiple networked computers or processes to perform a coordinated task or provide a service. The components communicate and divide responsibilities, but they do not necessarily share memory, observe events simultaneously or fail together.
What it means
A service can appear to be one application while its work happens on many machines. One component may accept a request, another store data, and others process queued jobs. A scientific calculation may divide its input among workers and combine their results.
Distribution is about where computation and coordination occur. It overlaps with parallel computing, which emphasizes doing work concurrently, but the terms are not identical. A distributed workflow can contain sequential dependencies, while several cores in one machine can execute work in parallel.
Reasons to distribute include capacity, geographic reach, specialized resources and resilience. Each brings costs: messages take time, coordination consumes resources and individual components can become unavailable while others continue operating. Adding computers creates possibilities, not an automatic improvement in every property.
How it works
Designers decide how to divide work and where the required data will reside. Components communicate through requests, messages or shared services. They need agreed formats, identifiers and rules for interpreting results. Some tasks can run independently; others must wait for earlier stages or coordinate access to shared information.
A scheduler may assign work, monitor progress and replace failed workers. Stateful services may replicate records or partition them across machines. Those choices introduce questions about ordering, visibility and ownership of updates.
Failure handling must account for uncertainty. If a request times out, the sender may not know whether the receiver completed it before the reply was lost. Retrying can be useful but may repeat a side effect. Designs therefore use appropriate identifiers, duplicate handling, bounded retries and recovery procedures. Monitoring needs to connect events across components rather than assuming one machine's log tells the whole story.
Three practical examples
- A media company distributes independent rendering tasks across workers, then assembles the completed frames into a final sequence.
- An online service uses separate application, data and background-processing components that communicate to fulfill customer requests.
- An AI training system distributes model computation or data processing across accelerators and coordinates the information required for training updates.
Think of it this way
Think of several workshop teams building parts of the same exhibition. They can work in parallel, but dimensions, delivery times and interfaces must agree. A delay in one essential part can hold up the whole assembly even when the other teams finish.
Computers exchange data rather than physical parts, and their failure and timing rules are different. The analogy highlights coordination and dependencies rather than suggesting that simply adding more teams guarantees faster completion.
Worked example
Suppose a fictional analysis takes 120 minutes on one worker. Of that time, 20 minutes is an unavoidable sequential preparation step and 100 minutes can be divided perfectly among five workers.
Ignoring communication, the new duration is 20 plus 100 divided by 5: 40 minutes. The speedup is 120 divided by 40, or three times, not five times. If coordination and data movement add another 10 minutes, total time becomes 50 minutes and speedup is 2.4 times.
These simplified assumptions help identify the constraint. Even unlimited workers would not remove the 20-minute sequential step in this model. Real workloads can also have uneven task sizes, shared-storage bottlenecks and slow workers, so measured performance may differ further.
Illustrative case study
Fictional case: a mapping studio distributes image conversion across six worker machines. Most files process independently, making the workload a plausible candidate. Its first trial nevertheless creates duplicate outputs when a worker finishes a task but loses its acknowledgment.
The team gives each conversion a stable job identifier and writes outputs through a process that detects already completed jobs. It records input versions and checks that the final assembly includes every required file exactly once. It also tests a slow worker and a temporarily unreachable storage service.
The resulting design includes recovery rules rather than only a worker count. The scenario illustrates how distribution depends on complete, identifiable work and safe handling of uncertain outcomes.
Common misconceptions and mistakes
One misconception is that a remote operation behaves exactly like a local function call. Similar-looking code can hide network delays and ambiguous failures. Another is that a timeout proves the remote action did not happen.
It is also a mistake to equate more replicas with complete resilience. Replicas may share a failing dependency, location or configuration. Likewise, splitting a program into many services does not by itself improve performance or maintainability. The task must justify the extra communication, deployment and operational work.
Business use
Businesses should connect distribution to a concrete requirement: more throughput, processing near users, access to specialized hardware or a defined recovery objective. Measure the complete workflow, including data transfer and waiting, instead of reporting only worker processing speed.
Operational planning should identify critical dependencies, partial-failure behavior and ownership of incidents. For AI workloads, include movement of training data, model parameters and checkpoints. A distributed architecture is successful when its coordination costs and failure behavior fit the business requirement, not simply when many machines participate.
People also ask
Is cloud computing the same as distributed computing?
No. Cloud services often use distributed systems, but distributed computing can run on local clusters or other networks without being offered as a cloud service.
Does distributing work always make it faster?
No. Dependencies, communication and uneven work can limit or reverse the benefit. Some workloads are more suitable than others.
Can part of a distributed system fail while the rest works?
Yes. Partial failure is a central concern. A working client cannot assume a remote component or the connecting network is working too.
Check your understanding
A client requests creation of a report and times out before receiving a reply. Is it safe to assume that no report was created and submit an unrelated new request?
Answer: No. The first request may have completed. A stable operation identifier and a way to check or safely retry that operation help avoid duplicate work.
Related terms
- Parallel computing
- Message passing
- Replication (statistics)
- Distributed transaction
- Fault tolerance
- partial failure
- replication
- partitioning
- idempotency
- coordination
Learn next
study partial failure and idempotent operations to understand uncertain outcomes. Then explore replication and consistency for stateful services, or scheduling and parallel speedup for batch workloads. Choose the path that matches the problem you want to solve.
More in Data engineering and architecture
- Disjoint pattern databases - Disjoint pattern databases are precomputed heuristic tables used in search problems, where suitable nonoverlapping subproblems provide lower-bound costs...
- Distributed algorithmic mechanism design - Distributed algorithmic mechanism design studies how to design computationally practical rules for networked participants whose incentives may differ, when...
- Distributed cache - A distributed cache is a caching system used across networked computers, commonly providing a shared cache service and often distributing cached items over...
- Distributed concurrency control - Distributed concurrency control coordinates overlapping operations or transactions on data managed across multiple networked nodes.
- Distributed data store - A distributed data store is a system that stores and retrieves data across multiple networked machines.
- Distributed database - A distributed database is a database whose data and database operations are managed across multiple networked nodes.
Sources
Waldo, Wyant, Wollrath and Kendall, A Note on Distributed Computing: https://waldo.scholars.harvard.edu/publications/note-distributed-computing . Primary publication abstract describing latency, memory, concurrency and partial failure. Amazon Builders' Library, Challenges with distributed systems: https://aws.amazon.com/builders-library/challenges-with-distributed-systems/ . Primary engineering discussion of independent failures and uncertainty in request/reply communication. The numerical example is a simplified original calculation.
Previous: Distributed cache Next: Distributed concurrency control