Chapter 8 - Performance Flashcards

1
Q

what is performance?

A

the ability of a system to meet timing requirements

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

for the performance general scenario, what is the source

A

internal or external to the system

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

for the performance general scenario, what is the stimulus

A

arrival of a periodic, sporadic, or stochastic event

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

for the performance general scenario, what is the artifact

A

the system or one or more of its components

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

for the performance general scenario, what are the 4 possible environments

A

normal mode

emergency mode

peak load

overload mode

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

for the performance general scenario, what are the 2 responses

A

process events

change level of service

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

for the performance general scenario, what are the 5 possible response measures

A
latency
deadline
throughput
jitter
miss rate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is the primary goal of performance tactics

A

to generate a response to an event arriving at the system within some time-based constraint

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

2 categories of performance tactics

A

control resource demand

manage resources

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

6 tactics for controlling resource demand

A
  • manage sampling rate
  • limit event response
  • prioritize events
  • reduce overhead
  • bound execution times
  • increase resource efficiency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what does it mean to manage sampling rate

A

to reduce the sampling frequency at which a stream of data is captured if possible typically with some loss of fidelity

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

what does it mean to limit event response

A

process events only up to a set maximum rate to ensure more predictable processing

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

what does it mean to prioritize events

A

you can rank events in order of how important it is to service them

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

what does it mean to bound execution times

A

place a limit on how much execution time is used to respond to an event

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

what does it mean to increase resource efficiency

A

improving algorithms used in critical areas to decrease latency

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

6 tactics for managing resources

A

increase resources

introduce concurrency

maintain multiple copies of computations

maintain multiple copies of the data

bound queue sizes

schedule resources

17
Q

what does it mean to maintain multiple copies of computations

A

have replicas on different servers to reduce resource contention that would occur if all computations took place on a single server

18
Q

what does it mean to maintain multiple copies of data

A

to keep copies of data on storage media with different access speeds

19
Q

what does it mean to bound queue sizes

A

control the maximum number of queued arrivals and consequently, the resources used to process the arrivals

20
Q

what does it mean to schedule resources

A

when there is resource contention, the resource must be scheduled

21
Q

2 issues with performance in regards to allocation of responsibilities

A
  • determine the system responsibilities that will involve heavy loading, have critical time-response requirements, or impact portions of the system where heavy load or time-critical stuff occurs
  • ensure required performance response can be met
22
Q

5 things to consider for system responsibilities that involve heavy loading or have time-critical response requirements

A
  • identify process requirements of each responsibility to determine if any bottlenecks will occur
  • identify responsibilities to recognize and process requests appropriately
  • identify threads that cross process or processor boundaries
  • identify responsibilities to manage threads
  • identify responsibilities for scheduling shared resources
23
Q

4 things to consider when evaluating a coordination model with respect to performance

A
  • does it support concurrency, event prioritization, or a scheduling strategy
  • does it ensure that required performance response can be delivered
  • can it capture periodic, stochastic, or sporadic event arrivals
  • does it have the appropriate properties of the communication mechanism
24
Q

4 things to consider for data abstractions of the data model that will be heavily loaded or have time-critical response requirements

A
  • determine whether keeping copies of key data would benefit performance
  • determine if partitioning data would benefit performance
  • determine whether reducing processing requirements for data abstractions is possible
  • determine whether adding resources to reduce bottlenecks is feasible
25
Q

4 issues with performance in regards to mapping among architectural elements

A
  • determine where heavy network loading will occur and whether or not to co-locate some components
  • ensure that components with heavy computational requirements are assigned to processors with the most processing capacity
  • determine where introducing concurrency can have a significant positive effect
  • determine whether the choice of threads and the responsibilities introduce bottlenecks
26
Q

2 issues with performance in regards to resource management

A
  • determine whether resources in the system are critical for performance
  • for such resources ensure that they will be managed under normal and overloaded system operation
27
Q

3 issues with performance in regards to binding time

A
  • determine the time necessary to complete any bindings after compile time
  • determine the additional overhead introduced by using the late binding mechanism
  • ensure that the above values do not impose unacceptable performance penalties on the system
28
Q

4 issues with performance in regards to choice of technology

A
  • will the choice of technologies let you set and meet hard real-time deadlines
  • do you know its characteristics under load and its limits
  • does your choice of technology introduce excessive overhead for heavily used ops