Tactics Optimize repeated processing
Replication
Prioritize processing
Distribute processing over time
Minimize the use of shared resources
Reuse resources and results
Partition and parallelize
Scale up or scale out
Degrade gracefully
Use asynchronous processing
Reduce complexity
Make design compromises
Table 20 Tactics adressing performance and scalability
Not all tactics are explained in detail in this section. The tactic ―Make Design
compromises‖, for example, was omitted, as being too general and as the whole
idea of the design choices it to make compromises. Additionally, as
performance is something that is very dependent on both architecture and
implementation it is highly advisable to run through the corresponding activities
like creating a performance model or conduct practical testing with
measurements. The full list of activities are listed in Section 4.3.
Tactic
Impact on Views
Functional Information Deployment and Operation
Replication
Replication of
functional
components (DC
PS.1)
Replication of
gathered
Information (DC
PS.2)
Replication of instances of
Functional Components locally
(DC PS.3)
Replication of instances of
functional components in the
cloud (DC PS.4)
Prioritize
Processing
Functional
component offer
services for
different priorities
(DC PS.5)
Information holder
for priority
information
necessary (DC
PS.6)
Provide instances of different
functional components for
different priorities (DC PS.7)
Priority-aware functional
components with priority based
processing and networking (DC
PS.8)
Partition and
parallelize
Multi-thread /
multiprogramminga
ware Functional
components (DC
PS.9)
Information flow
needs to be
parallelizable (DC
PS.10)
Location-aware deployment of
functional components (DC
PS.11)
Deployment of functional
components need to be according
to data flow (DC PS.12)
Reduce
computational
No functional
component (DC
No Impact (^) Less functional component