upgrade
upgrade

💻Parallel and Distributed Computing

Key Concepts in Distributed Computing Architectures

Study smarter with Fiveable

Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.

Get Started

Why This Matters

Understanding distributed computing architectures isn't just about memorizing definitions—it's about recognizing why different systems are designed the way they are and when to apply each model. You're being tested on your ability to analyze trade-offs between centralization vs. decentralization, latency vs. throughput, and scalability vs. complexity. These architectures form the backbone of everything from web applications to scientific simulations, and exam questions frequently ask you to compare approaches or recommend solutions for specific scenarios.

The key insight is that each architecture solves a particular set of problems while introducing its own limitations. Whether you're dealing with fault tolerance, resource sharing, real-time processing, or service modularity, the architecture you choose determines your system's behavior under load, failure, and growth. Don't just memorize what each architecture does—know what problem it solves and what trade-offs it accepts.


Centralized vs. Decentralized Control Models

The fundamental architectural decision in distributed systems is where control and coordination live. Centralized models simplify management but create bottlenecks and single points of failure; decentralized models distribute risk but increase coordination complexity.

Client-Server Architecture

  • Centralized request-response model—clients initiate requests, dedicated servers process and respond, creating clear separation of concerns
  • Scalability through server replication—horizontal scaling adds servers behind load balancers to handle increased demand
  • Simplified security and data management—centralized storage enables consistent access control, backup policies, and data integrity checks

Peer-to-Peer (P2P) Architecture

  • Fully decentralized model—every node acts as both client and server, eliminating hierarchical dependencies
  • No single point of failure—system resilience increases as peers join; network survives individual node failures
  • Self-scaling resource pool—each new peer contributes capacity, making the system grow stronger with adoption (used in blockchain and file-sharing protocols)

Cluster Computing

  • Tightly coupled nodes functioning as a unified system—multiple machines share workloads through coordinated scheduling and load balancing
  • High availability through redundancy—if one node fails, others absorb its tasks without service interruption
  • Optimized for HPC workloads—scientific simulations, rendering, and large-scale data processing benefit from parallel execution across nodes

Compare: Client-Server vs. P2P—both enable resource sharing, but client-server centralizes control (easier management, single point of failure) while P2P distributes it (fault-tolerant, harder to secure). If an FRQ asks about trade-offs in system design, this contrast is your go-to example.


Service-Based Decomposition Patterns

Modern distributed systems often break applications into discrete services that communicate over networks. The granularity and coupling of these services determine flexibility, deployment speed, and operational complexity.

Service-Oriented Architecture (SOA)

  • Coarse-grained services communicating via standardized protocols—SOAP, REST, or message queues enable interoperability across platforms
  • Promotes reusability across applications—services are designed as shared components that multiple systems can invoke
  • Legacy system integration—SOA's protocol standardization makes it ideal for connecting older systems with modern applications

Microservices Architecture

  • Fine-grained, independently deployable services—each microservice owns a specific business function and its own data store
  • Continuous deployment enabled—teams can update individual services without redeploying the entire application
  • Technology diversity permitted—different services can use different languages, frameworks, and databases based on their specific needs

Distributed Object Architecture

  • Object-oriented principles applied to networked components—encapsulation, inheritance, and polymorphism work across machine boundaries
  • Remote method invocation (RMI)—objects call methods on remote objects as if they were local, abstracting network communication
  • Enhanced modularity—distributed objects can be developed, tested, and reused independently across systems

Compare: SOA vs. Microservices—both decompose applications into services, but SOA uses larger, shared services with enterprise-wide governance while microservices favor smaller, autonomous units with decentralized control. Microservices trade coordination simplicity for deployment flexibility.


Location-Aware Processing Architectures

Where computation happens matters enormously for latency, bandwidth, and real-time responsiveness. These architectures represent a spectrum from fully centralized (cloud) to fully distributed (edge) processing.

Cloud Computing

  • On-demand resources delivered over the internet—pay-as-you-go model eliminates upfront infrastructure investment
  • Elastic scalability—resources scale up or down automatically based on demand, optimizing cost and performance
  • Multiple service models—IaaS provides raw infrastructure, PaaS offers development platforms, SaaS delivers complete applications

Fog Computing

  • Intermediate layer between cloud and edge—computation occurs at network aggregation points closer to data sources
  • Reduces cloud-bound traffic—local preprocessing filters and aggregates data before transmission, lowering bandwidth costs
  • Supports IoT at scale—handles the coordination layer for thousands of edge devices while maintaining cloud connectivity

Edge Computing

  • Processing at or near data generation sources—computation happens on devices, gateways, or local servers rather than remote data centers
  • Minimizes latency for real-time applications—autonomous vehicles, industrial automation, and AR/VR require sub-millisecond response times
  • Enhanced data privacy—sensitive information stays local, reducing exposure during transmission and storage

Compare: Cloud vs. Edge vs. Fog—cloud centralizes processing (high latency, unlimited scale), edge distributes it maximally (low latency, limited compute), and fog occupies the middle ground. FRQs about IoT or real-time systems often require you to justify which layer should handle specific tasks.


Resource Pooling and Shared Infrastructure

Some architectures focus primarily on aggregating distributed resources into unified pools for large-scale computation. The key mechanism is abstracting heterogeneous resources into a coherent, schedulable whole.

Grid Computing

  • Geographically distributed resource sharing—connects heterogeneous systems across institutions into a virtual supercomputer
  • Designed for compute-intensive batch workloads—scientific simulations, genomics analysis, and physics modeling benefit from massive parallelism
  • Middleware-coordinated scheduling—job schedulers distribute tasks across available nodes based on resource requirements and availability

Compare: Grid Computing vs. Cluster Computing—both aggregate multiple machines, but clusters are typically homogeneous, tightly coupled, and locally managed, while grids span organizations, tolerate heterogeneity, and coordinate loosely. Clusters optimize for performance; grids optimize for resource sharing across boundaries.


Quick Reference Table

ConceptBest Examples
Centralized controlClient-Server
Decentralized controlPeer-to-Peer, Blockchain applications
Fault tolerance through redundancyP2P, Cluster Computing, Grid Computing
Service decompositionSOA, Microservices, Distributed Object Architecture
Latency optimizationEdge Computing, Fog Computing
Elastic scalabilityCloud Computing, Microservices
Legacy integrationSOA
High-performance computingCluster Computing, Grid Computing

Self-Check Questions

  1. Which two architectures both eliminate single points of failure but differ in how tightly coupled their nodes are? Explain the trade-off.

  2. A hospital needs to process patient monitoring data in real-time while maintaining long-term records in a central system. Which combination of architectures would you recommend, and why?

  3. Compare and contrast SOA and Microservices: What problem does each solve best, and when would you choose one over the other?

  4. An FRQ describes a system that must scale automatically with demand, minimize infrastructure costs, and support rapid feature deployment. Which architectures address each requirement?

  5. Why might an autonomous vehicle system use edge computing rather than cloud computing for obstacle detection, even though cloud computing offers more computational power?