25.01.2015 Views

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!