ArticleslgStudy

computer science

Multiprocessor system architecture

Multiprocessor system architecture is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Multiprocessor system architecture rather than just read about it. In short: A multiprocessor (MP) system is defined as "a system with more than one processor", and, more precisely, "a number of central processing units linked together to enable parallel processing to take place". The key objective of a multiprocessor is to boost a system's execution speed.

Multiprocessor system architecture — main illustration
Multiprocessor system architecture — illustration

Key takeaways

  • Multiprocessor system architecture belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Multiprocessor system architecture to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Multiprocessor system architecture from memory before moving on to harder problems.

Reference excerpt

A multiprocessor (MP) system is defined as "a system with more than one processor", and, more precisely, "a number of central processing units linked together to enable parallel processing to take place". The key objective of a multiprocessor is to boost a system's execution speed. The other objectives are fault tolerance and application matching. The term "multiprocessor" can be confused with the term "multiprocessing". While multiprocessing is a type of processing in which two or more processors work together to execute multiple programs simultaneously, multiprocessor refers to a hardware architecture that allows multiprocessing. Multiprocessor systems are classified according to how processor memory access is handled and whether system processors are of a single type or various ones.

Multiprocessor system types There are many types of multiprocessor systems:

Loosely coupled multiprocessor system Tightly coupled multiprocessor system Homogeneous multiprocessor system Heterogeneous multiprocessor system Shared memory multiprocessor system Distributed memory multiprocessor system Uniform memory access (UMA) system cc–NUMA system Hybrid system – shared system memory for global data and local memory for local data

Loosely-coupled (distributed memory) multiprocessor system

In loosely-coupled multiprocessor systems, each processor has its own local memory, input/output (I/O) channels, and operating system. Processors exchange data over a high-speed communication network by sending messages via a technique known as "message passing". Loosely-coupled multiprocessor systems are also known as distributed-memory systems, as the processors do not share physical memory and have individual I/O channels.

System characteristics These systems are able to perform multiple-instructions-on-multiple-data (MIMD) programming. This type of architecture allows parallel processing. The distributed memory is highly scalable.

Tightly-coupled (shared memory) multiprocessor system Multiprocessor system with a shared memory closely connected to the processors. A symmetric multiprocessing system is a system with centralized shared memory called main memory (MM) operating under a single operating system with two or more homogeneous processors. There are two types of systems:

Uniform memory-access (UMA) system NUMA system

Uniform memory access (UMA) system Heterogeneous multiprocessing system Symmetric multiprocessing system (SMP)

Heterogeneous multiprocessor system A heterogeneous multiprocessing system contains multiple, but not homogeneous, processing units – central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), or any type of application-specific integrated circuits (ASICs). The system architecture allows any accelerator – for instance, a graphics processor – to operate at the same processing level as the system's CPU.

Symmetric multiprocessor system

Systems operating under a single OS (operating system) with two or more homogeneous processors and with a centralized shared main memory. A symmetric multiprocessor system (SMP) is a system with a pool of homogeneous processors running under a single OS with a centralized, shared main memory. Each processor, executing different programs and working on different sets of data, has the ability to share common resources (memory, I/O device, interrupt system, and so on) that are connected using a system bus, a crossbar, or a mix of the two, or an address bus and data crossbar. Each processor has its own cache memory that acts as a bridge between the processor and main memory. The function of the cache is to alleviate the need for main-memory data access, thus reducing system-bus traffic. Use of shared memory allows for a uniform memory-access time (UMA).

cc-NUMA system

It is known that the SMP system has limited scalability. To overcome this limitation, the architecture called "cc-NUMA" (cache coherency–non-uniform memory access) is normally used. The main characteristic of a cc-NUMA system is having shared global memory that is distributed to each node, although the effective "access" a processor has to the memory of a remote component subsystem, or "node", is slower compared to local memory access, which is why the memory access is "non-uniform". A cc–NUMA system is a cluster of SMP systems – each called a "node", which can have a single processor, a multi-core processor, or a mix of the two, of one or other kinds of architecture – connected via a high-speed "connection network" that can be a "link" that can be a single or double-reverse ring, or multi-ring, point-to-point connections, or a mix of these (e.g. IBM Power Systems), bus interconnection (e.g. NUMAq), "crossbar", "segmented bus" (NUMA Bull HN ISI ex Honeywell,) "mesh router", etc. cc-NUMA is also called "distributed shared memory" (DSM) architecture. The difference in access times between local and remote memory can be also an order of magnitude, depending on the kind of connection network used (faster in segmented bus, crossbar, and point-to-point interconnection; slower in serial rings connection).

Examples of interconnection

To overcome this limit, a large remote cache (see Remote cache) is normally used. With this solution, the cc-NUMA system becomes very close to a large SMP system.

Tightly-coupled versus loosely-coupled architecture Both architectures have trade-offs which may be summarized as follows:

Loosely-coupled architectures feature high performances of each individual processor but do not enable for easy real-time balancing of the load among processors. Tightly-coupled architectures feature easy load-balancing and distribution among processors but suffer from the bottleneck consisting in the sharing of common resources through one or more buses.

… excerpt ends here. Continue reading the full article.

Illustrations

Multiprocessor system architecture: Symmetric multiprocessing system
Symmetric multiprocessing system
Multiprocessor system architecture: cc-NUMA system
cc-NUMA system
Multiprocessor system architecture: cc-NUMA remote memory read
cc-NUMA remote memory read
Multiprocessor system architecture: Double-reverse ring
Double-reverse ring
Multiprocessor system architecture: Segmented bus
Segmented bus

Worked examples

Example 1 — a first encounter with Multiprocessor system architecture

Start with the simplest possible case. Write down what Multiprocessor system architecture claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Multiprocessor system architecture before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Multiprocessor system architecture ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Multiprocessor system architecture

In research
Multiprocessor system architecture appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Multiprocessor system architecture in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Multiprocessor system architecture is common in secondary-school and first-year university syllabi. It links to neighbouring topics Classes of computers, Parallel computing, so understanding it makes those chapters shorter.
In everyday life
Look for Multiprocessor system architecture outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Multiprocessor system architecture in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Multiprocessor system architecture means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Multiprocessor system architecture out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Multiprocessor system architecture in simple terms?

A multiprocessor (MP) system is defined as "a system with more than one processor", and, more precisely, "a number of central processing units linked together to enable parallel processing to take place". The key objective of a multiprocessor is to boost a system's execution speed.

Why does Multiprocessor system architecture matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Multiprocessor system architecture?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Multiprocessor system architecture.

Tags

  • Classes of computers
  • Parallel computing

Keep exploring