Lecture 4 Flashcards

1
Q

How do shared memory systems work?

A

Multiple processors or cores share a common physical memory space (typically implemented as RAM).
No need for message passing.
OpenMP provide APIs to facilitate shared memory programming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do distributed memory systems work?

A

Each process operates independently with their own private memory. These systems rely on messaging passing for communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are clusters?

A

A computing system that consists of multiple interconnected computers or nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are nodes?

A

An individual computing entity within a larger computing system, such as a cluster or a distributed computing network. Can be treated like a standalone computer or server.
Nodes of a cluster are joined by a communication network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are interconnection networks?

A

The topology that connects individual nodes within a larger computing system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Bus interconnect?

A

All nodes are connected to a single communication medium through which nodes can transmit and receive data.

Simple and low cost to implement since it requires few components.

Limited bandwidth. As more nodes are added to the system, the available bandwidth is shared among them, which can lead to congestion and reduced performance as the system scales.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Shared memory interconnect and crossbar?

A

Allows multiple nodes to access and share a communication memory address space. Consistency and coherency is maintained using synchronisation mechanisms such as semaphores, mutex and critical sections.

Can scale but are limited by the capacity and bandwidth of the shared memory itself. As the number of processors increases, the contention for share memory access may degrade performance.

Crossbar: inputs and outputs in a grid-like structure, forming a crossbar pattern; each input port is connected to each output port. This is non-blocking; allowing any pair of inputs and outputs to communicate.

This is faster than busses and offers high bandwidth but have a complex implementation the more processes there are.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Direct interconnect?

A

Provides direct point-to-point communication links between individual processing elements or nodes. Low latency since there’s no contention or shared resources among nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ring topology?

A

Circular topology: nodes are connected in a closes loop. Each node has two neighbouring nodes on the left and right. Each node receives data from its left, processes it, and sends to the right.
Simple to implement but have limited bandwidth when the number of nodes or distance between nodes increases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Torus interconnect?

A

Uses a toroidal mesh topology. Each node is connected to its neighbouring nodes in horizontal and vertical directions. The top row is connected to the bottom row and leftmost is connect to the rightmost.

Shortest path between two nodes can be found by traversing the edges of the grid in both horizontal and vertical directions.

Low latency.

Provide a good balance between connectivity, scalability and low-latency communication but involve complex network routing algorithms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Static INs?

A

Static interconnected networks are hardwired into a machine.
Processes connected directly to each other - no switches (e.g. linear ring)
Communication is fast but more distant nodes must use multiple steps.
Static topologies do well on problems which have predictable communication patterns.
Used for both SIMD and MIMD designs - not shared memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hypercube interconnect?

A

Highly connected network topology that forms a multidimensional cube-like structure.
The number of neighbours of a node in a Hypercube grows exponentially with the dimension of the cube. In an n-dimensional Hypercube, each node is connected to n neighbours. Short paths between any two nodes.

Routing is simple:
- Calculate source XOR destination
- number of hops needed = num_of_bits = hamming distance

Hypercubes can be partitioned into sub-cubes (3D -> two 2D cubes).
- Take the first digit as the sub-cube id.
- The remaining digits identify a node in the sub-cube.

Scalable but comes with complexity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Dynamic INs?

A

Allow for the dynamic addition or removal of nodes and connections during operations. When a new node is added, the network dynamically adjusts its routing tables, addressing schemes, and communication paths to incorporate the new node into existing network topology.

Usually outperforms busses.

Useful for scenarios that require flexibility, scalability, and fault tolerance. Static IN is better for situations where deterministic performance is more important.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Foster’s methodology?

A
  1. Partitioning: divide the computation to be performed and the data operated on by the computation into small tasks. The focus here should be on identifying tasks that can be executed in parallel.
  2. Communication: determine what communication needs to be carried out among the tasks identified in the previous step.
  3. Agglomeration / aggregation: combine tasks and communications identified in the first step into larger tasks. (E.g. if task A must be expected before task B, they can be aggregated into one tasks).
  4. Mapping: assign the composite tasks from the previous step to processes/threads. This should be done so that communication is minimised, and each process/thread gets roughly the same amount of work.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly