Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.3 Periodical Re-<strong>Optimization</strong><br />
With regard to the optimization objective <strong>of</strong> throughput maximization, we need some<br />
additional notation. The execution characteristics <strong>of</strong> a hypothetical finite message subsequence<br />
M ′ with M ′ ⊆ M are described by two major statistics:<br />
• Total Execution Time W (M ′ ): The total execution time <strong>of</strong> a finite message subsequence<br />
is determined by W (M ′ ) = ∑ W (p ′ ) as the sum <strong>of</strong> the execution time <strong>of</strong> all<br />
partitioned plan instances required to execute all messages m i ∈ M ′ .<br />
• Total Latency Time T L (M ′ ): The total latency time <strong>of</strong> a finite message subsequence<br />
is determined by T L (M ′ ) = t out (m |M ′ |) − t i (m 1 ) as the time between receiving the<br />
first message until the last message has been executed (both with regard to the<br />
subsequence M ′ ). This includes overlapping execution time and waiting time.<br />
Following these prerequisites, we now formally define the multi-flow optimization problem.<br />
Definition 5.2 (Multi-Flow <strong>Optimization</strong> Problem (P-MFO)). Maximize the message<br />
throughput with regard to a hypothetical finite message subsequence M ′ . The optimization<br />
objective φ is to execute M ′ with minimal latency time:<br />
φ = max |M ′ |<br />
= min T L (M ′ ). (5.2)<br />
∆t<br />
There, two additional restrictions must hold:<br />
1. Let lc denote a s<strong>of</strong>t latency constraint that must not be exceeded in expectation. Then,<br />
the condition ∀m i ∈ M ′ : T L (m i ) ≤ lc must hold.<br />
2. The external behavior must be serialized according to the incoming message order.<br />
Thus, the condition ∀m i ∈ M ′ : t out (m i ) ≤ t out (m i+1 ) must hold as well.<br />
Finally, the P-MFO describes the search for the optimal waiting time ∆tw with regard to<br />
φ and the given constraints.<br />
<strong>Based</strong> on the horizontal partitioning <strong>of</strong> message queues, Figure 5.10 illustrates the basic<br />
temporal aspects that need to be taken into account, for a scenario with partitioning<br />
attribute selectivity <strong>of</strong> sel = 1.0.<br />
p’ i :<br />
p’ 1<br />
∆tw(P’)<br />
W(P’)<br />
^<br />
T L<br />
T i :<br />
p’ 2<br />
p’ 3<br />
m i<br />
t i (m i )<br />
T L (m i )<br />
∆tw(P’) W(P’)<br />
t out (m i )<br />
T 2<br />
∆tw(P’)<br />
T 3<br />
W(P’)<br />
time t<br />
Figure 5.10: P-MFO Temporal Aspects (with ∆tw > W (P ′ ))<br />
Essentially, an instance p ′ i <strong>of</strong> a rewritten plan P ′ is initiated periodically at T i , where the<br />
period is determined by the waiting time ∆tw. A message partition b i is then executed by<br />
p ′ i with an execution time <strong>of</strong> W (P ′ ). Finally, we want to minimize the total latency time<br />
ˆT L (M ′ ) in order to solve the defined optimization problem. Comparing ∆tw and W (P ′ ),<br />
we have to distinguish the following three cases:<br />
• Case 1: ∆tw = W (P ′ ): We wait exactly for the period <strong>of</strong> time that is required for<br />
executing partition b i before executing b i+1 . This is the simplest model and results<br />
in the full utilization by a single plan. As we will show this specific case can be one<br />
desirable aim with regard to the optimization objective φ.<br />
143