Shared-nothing parallel clusters, interconnect topologies, wormhole routing, zero-copy user-level messaging, Remote Procedure Calls, Distributed Shared Memory, and dynamic load balancing.
A multicomputer is a tightly coupled parallel computing system composed of multiple autonomous computers (nodes). Unlike shared-memory multiprocessors, multicomputer nodes share no physical memory and cannot directly execute atomic bus transactions or hardware cache-snooping across nodes. Each node runs its own local operating system kernel with private RAM and coordinates strictly via message exchange across an interconnection network.
The communication network topology determines scaling properties, routing latency, and contention. Four canonical topologies characterize multicomputer fabrics:
| Topology | Node Degree | Network Diameter | Bisection Bandwidth | Properties |
|---|---|---|---|---|
| Ring | 2 | \lfloor n / 2 \rfloor | 2 links | Simple wiring; prone to single-link bottlenecks and high hop counts. |
| 2D Mesh / Grid | 4 (interior) | 2(\sqrtn - 1) | \sqrtn links | Planar mapping to silicon substrates; perimeter nodes have boundary penalties. |
| 2D Torus | 4 | 2 × \lfloor \sqrtn / 2 \rfloor | 2\sqrtn links | Wraparound edges create symmetry; every node observes identical topology. |
| k-ary d-cube (Hypercube) | d = \log2 n | d = \log2 n | n / 2 links | Logarithmic diameter growth; excellent fault paths; high cable complexity. |
Simulate a 4-flit packet traversing 3 router hops (Node 0 → Router 1 → Router 2 → Dest 3):
In traditional operating systems, network communication relies on kernel mediation. A send() system call copies payload data from user space into a kernel socket buffer, attaches protocol headers, programs the network interface controller (NIC) via DMA descriptors, and awaits an interrupt on completion.
For modern 100+ Gbps interconnects, the latency of kernel traps, context switches, and CPU data buffer copies dwarfs the actual wire transmission latency. Two design models contrast:
| Dimension | Traditional Kernel-Mediated I/O | User-Level Zero-Copy Interface (RDMA) |
|---|---|---|
| Control Path | System call trap on every transmission (Ring 3 → Ring 0). | Memory-mapped doorbells; application posts directly to NIC. |
| Memory Copies | User buffer → Kernel buffer → NIC DMA buffer (2–3 copies). | Zero copies; NIC DMAs directly from pinned user memory pages. |
| Interrupts | Interrupt Service Routine (ISR) executed per packet. | Completion queues polled in user space; interrupts avoided. |
| Protection | Enforced by kernel checking file descriptors. | Hardware protection keys enforced directly by NIC translation tables. |
Pioneered by Birrell and Nelson (1984), Remote Procedure Calls (RPC) bridge the programming gap between local procedural invocation and message passing. The core design goal is syntactic transparency: making a remote procedure call look identical to a standard local call in the high-level language.
Pioneered by Kai Li (1986), Distributed Shared Memory (DSM) emulates a single, shared virtual address space across a collection of disjoint multicomputer nodes using standard MMU paging hardware and network message passing.
Virtual address space is divided into uniform pages (e.g., 4 KiB). When CPU 0 references a page currently mapped locally, the memory access completes at full hardware RAM speed without network latency.
Observe virtual page replication, write invalidations, and false sharing across two independent nodes sharing Page 12 (containing Variables A and B):
In a multicomputer, scheduling must assign independent tasks across distinct physical nodes to minimize completion time without creating communication bottlenecks.
Tasks are modeled as nodes in a graph with edges weighted by inter-task communication volume. The scheduling objective minimizes total execution cost plus communication cost across nodes. If two tasks communicate heavily, placing them on the same node eliminates network delay entirely.
When task arrival rates fluctuate dynamically, nodes exchange tasks to prevent imbalance: