Systems and Layers Flashcards

1
Q

What is system design?

A

Computer systems have computation, storage and transmission resources. System design is putting these together into a harmonious whole.

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

What is the goal of system design?

A

Maximizing a set of performance metrics given a set of resource constraints.

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

Time constraints

A

Deadline for task completion, time to market and mean time between failures.

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

Response time

A

Mean time to complete a task

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

Throughput

A

Number of tasks completed per unit time

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

Degree of Parallelism

A

Response time * throughput

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

Space Constraints

A

Limit to available memory and limits to bandwidth.

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

Computation Constraints

A

Amount of processing that can be done in unit time.

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

Money Constraints

A

What components can be used, what prices users are willing to pay for a service and the number of engineers available to complete a task.

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

Labour Constraints

A

Labour is the human efffor required to design and build a system nd constrains what can be done and how fast.

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

Social Constraints - Standards

A

Forces designs to conform to sometimes non-sensical requirements. Underspecified standard can lead to faulty and non-interopable implementations.

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

Social Constraints - Market Requirements

A

Backwards compatibility and the need to use a particular operating system.

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

Scaling

A

A design constraint - centralised elements prevent the design from easily scaling

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

Bottleneck

A

The most constrained element in the system.

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

Balanced system

A

A system in which all resources are simultaneously bottlenecked.

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

Multiplexing

A

Essentially sharing, trades time and space for money as user sees an increased response time and takes up space while waiting but the system costs less.

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

Statistical Multiplexing

A

We can use statistical knowledge of how frequently users are active and for how long to minimise cost of link. Temporal - expect a task to be active only part of the time. Spatial - we expect only a fraction of tasks to be simultaneously active.

18
Q

Pipelining

A

Break tasks down into serially dependent subtasks so that each subtask only depends on previous one in execution chain. This allows stages of the process to be executed simultaneously.

19
Q

Batching

A

Groups tasks together to amortize overhead. This only works when overhead is nonlinear. Trading off reduced overhead for longer worst case response time and increased throughput.

20
Q

Hierachy

A

Recursive decomposition of a system into smaller pieces that depend only on parent for proper execution.

21
Q

Binding

A

Translation from an abstraction to an instance.

22
Q

Indirection

A

Automatic binding where translation table is stored in a well known place.

23
Q

Virtualization

A

Combination of indirection and multiplexing by referring to a virtual resource that hets matched to an instance at run time.

24
Q

Soft State

A

State that is deleted on a timer. If it is desierd to be kept then refresh. This allows for automatic clean up after failure but increases bandwidth requirements.

25
Q

Hysteresis

A

System may change state depending on whether a variable is above or below a threshold. If variable fluctuates near threshold this can lead to rapid fluctuations in system state. This can be fixed by using a state-dependent threshold or hysteresis.

26
Q

Separating Data and Control

A

Divide actions that happen once per dta transfer from actions that happen once per packet. This can increase throughput by minimising actions in data path but keeping control info in data element allows for per-packet QoS.

27
Q

Steps in Performance analysing and tuning

A

Measure, characterise workload, build a system model, analyse and implement.

28
Q

Protocol

A

A set of rules and formats that govern the communication between communicating peers including the set of valid messages and the meaning of each message.

29
Q

What does a protocol tell us?

A

The syntax of a message - what fields, what format.

Semantics - what does a message mean

Actions to take on receipt of a message.

30
Q

Protocol Layering

A

A protocol using another as a step in its execution e.g. packet transfer is one step in execution of a reliable file transfer protocol.

31
Q

Service Access Point

A

Interface between an upper layer and a lower layer

32
Q

Protocol Data Units

A

Packets exchanged between peer entities.

33
Q

Service Data Units

A

Packets handed to a layer by an upper layer.

34
Q

Protocol Stack

A

A set of protocol layers with each layer using the layer belwo and providing a service to the layer above. Allows for information hiding and change decoupiling.

35
Q

Importance of being layered

A

Breaks up a comlex problem into smaller manageable pieces. Allows for abstraction of implementation details allowing for the sepearation of implementation and specification. It also allows functionality to be reused.

36
Q

Problems with layering

A

Hidden information can be used to improve performance but layering hides information.

37
Q

Open Protocol

A

Details are publicly available and cahnges are managed by an organisation whose membership and transactions are open to the public.

38
Q

ISO OSI - Outline

A

Open System Interconnect

Reference Model - Architecture

It formally defines what is meant by a layer, a service etc.

Service architecture - Design

Describes the services provided by each layer and the service access point.

Protocol architecture - Implementation

Set of protocols that implement the service architecture.

39
Q

ISO OSI - Seven Layers

A

Physical - Coding Scheme, shapes and sizes of connectors, bit-level synchronization

Datalink layer - Defines frames (sets of bits that belong together), Idle tells us link not carrying a fram, Begin and End delimit a frame. In broadcast links also need MAC to ensure end-system only receives bits meant for it.

Network Layer - Logically concatenates a set of links to form the abstraction of an end-to-end link.

Transport Layer - Creates abstraction of error-controlled, flow-controlled and multiplexed end-to-end link.

Session-Layer - Provides full-duplex service, expedited data delivery (allows some messages to skip ahead in end system queues), synchronization allows users to place marks and roll back.

Presentation Layer - Hides data representation differences between applications. It can also encrypt data.

Application Layer - The set of applications that use the network.

40
Q

Why seven layers?

A

Need a top and bottom so 2. Need physical link so 3. Need end-to-end and hop-to-hop so need at least network and transport so 5 layers at least needed but 7 is excessive.