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...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3 Fundamentals <strong>of</strong> Optimizing <strong>Integration</strong> <strong>Flows</strong><br />
for this example plan, the re-optimization time is dominated by the physical plan compilation<br />
and the waiting time for the next possible exchange <strong>of</strong> plans. The generation <strong>of</strong><br />
physical plans regardless <strong>of</strong> whether or not a new plan was found has been reasoned by<br />
optimization techniques (such as switch path re-ordering), which directly reorder operators<br />
and thus, they always signal that recompilation is required. Clearly, for periodical<br />
re-optimization, we could use a larger ∆t and thus, would reduce the cumulative total<br />
optimization time. However, in that case, we would use suboptimal plans for a longer<br />
time and hence, we would miss more optimization opportunities.<br />
Furthermore, Figures 3.20(d) and 3.20(f) show the execution time using periodical reoptimization<br />
compared to the non-optimized execution. The different execution times<br />
are caused by the changing workload characteristics in the sense <strong>of</strong> different input cardinalities<br />
as well as selectivities <strong>of</strong> the different operators. When using periodical reoptimization,<br />
the <strong>of</strong>ten re-occurring small peaks are caused by the numerous asynchronous<br />
re-optimization steps. Further, a major characteristic <strong>of</strong> periodical re-optimization is that<br />
after a certain workload shift, there is an adaptation delay until periodical re-optimization<br />
is triggered. During this time, the execution time <strong>of</strong> the current plan is much longer than<br />
the execution time <strong>of</strong> the optimal plan. In order to reduce these adaptation delays, a small<br />
∆t is required. However, this would significantly increase the total re-optimization time.<br />
To summarize, over time, significant execution time reductions are yielded by periodical<br />
re-optimization due to the adaptation to changing workload characteristics.<br />
(a) Cumulative Execution Time (b) Cumulative Opt. Time (c) Scenario Elapsed Time<br />
Figure 3.21: Influence <strong>of</strong> <strong>Optimization</strong> Interval ∆t<br />
Second, we used the introduced comparison scenario in order to investigate the influence<br />
<strong>of</strong> the parameter ∆t in more detail. We re-executed this with different optimization periods<br />
∆t ∈ {1 s, 2 s, 3.75 s, 7.5 s, 15 s, 30 s, 60 s, 120 s, 240 s, 480 s, 960 s 1800 s, 3600 s, 7200 s}.<br />
Figure 3.21(a) illustrates the resulting cumulative execution time for optimized execution<br />
compared to the unoptimized execution. We observe that the higher the optimization<br />
period, the higher the cumulative execution time because we miss optimization opportunities<br />
after a workload shift due to deferred adaptation. However, it is important to<br />
note that if the optimization period is too small, the execution time gets worse again.<br />
This is reasoned by small benefits reached by immediate asynchronous re-optimization in<br />
combination with increasing optimization costs as shown in Figure 3.21(b). While, so far<br />
we used only the cumulative execution time (sum <strong>of</strong> plan execution times) as indicator,<br />
now, we also discuss the elapsed time (time required for executing the sequence <strong>of</strong> plan instances,<br />
which includes the workflow engine overhead and time during exchange <strong>of</strong> plans).<br />
Figure 3.21(c) shows that for small optimization intervals ∆t—where we <strong>of</strong>ten exchange<br />
plans—the elapsed time increase faster than the cumulative execution time. The reason is<br />
76