Escolar Documentos
Profissional Documentos
Cultura Documentos
Architecture Design
Overview
How to think about the design process
Elaborating Generate and test and Design
Decisions
Two Connected Design Philosophies
Design as a collection of decisions
Design as generate and test
Design as a collection of decisions
One method for thinking about design in the
abstract is that it is a collection of decisions
design decisions
Generate Generate
Test
Initial Next
hypothesis
Hypothesis Hypothesis
Outline
Responsibilities as functionality description
Decisions involved in generating the initial
hypothesis
Decisions involved in testing the hypothesis
Decisions involved in generating the next
hypothesis
Responsibilities as Design Description
A responsibility is a general statement about an
architectural element and include the actions an
element performs, the knowledge an element
maintains, and major decisions an element
makes that affect others.
Architectural decisions
Testing techniques
Thought experiments
Modeling
Simulation
prototypes
Key requirements as test cases
exceptions
version upgrades
modification scenarios
Look for
Allocation of responsibilities to modules
Understanding Performance - 1
Typical performance measures are the
time from the arrival of an event to the end of the
processing of that event (latency)
number of events that can be processed in a unit
of time (throughput)
The time to process an event is key in both
measures.
Two basic contributors to the time to process
an event are resource consumption and
blocked time.
: Module 4
Understanding Performance - 2
Afteran event arrives, either the system is
processing that event and consuming
resources or the processing is blocked for
some reason.
Resources include central processing unit
(CPU), data stores, network communication
bandwidth, and memory.
Understanding Performance - 3
A computation can be blocked from using a
resource because
there is contention for the resource,
the resource is unavailable, or
the computation depends on the result of other
computations that are not yet available.
: Module 4
Scheduling
algorithm
arrivals results
queue
server
Routing of
Parameters: messages
Arrival rate
Queuing discipline
Latency can be affected only by
Scheduling algorithm changing one of the parameters.
Service time
Topology
Network bandwidth
Routing algorithm
Controlling Performance Parameters
Architectural means for controlling the
parameters of a performance model
Arrival rate restrict access, differential rate/charging structure,
constrain message size
Queuing discipline first-come first served (FCFS), priority
queues, etc.
Service time
Increase efficiency of algorithms.
Cut down on overhead (reduce inter-process
communication, use thread pools, use pool of DB
connections, etc.).
Use faster processor.