This is an automated email from the ASF dual-hosted git repository. mergebot-role pushed a commit to branch mergebot in repository https://gitbox.apache.org/repos/asf/beam-site.git
commit fa4cf1e30f04933adf243353a2d13ffb0bde7915 Author: melissa <meliss...@google.com> AuthorDate: Wed Sep 27 17:23:42 2017 -0700 Update with review feedback and new diagrams --- src/documentation/execution-model.md | 159 +++++---- src/images/execution_model_bundling.svg | 382 +++++++++++++++++++-- .../execution_model_bundling_coupled_failure.svg | 59 +++- src/images/execution_model_bundling_gantt.svg | 55 ++- src/images/execution_model_bundling_gantt_max.svg | 68 ++-- src/images/execution_model_bundling_multi.svg | 361 +++++++++++++++++-- .../execution_model_bundling_multi_gantt.svg | 60 ++-- src/images/execution_model_failure_retry.svg | 68 ++-- 8 files changed, 981 insertions(+), 231 deletions(-) diff --git a/src/documentation/execution-model.md b/src/documentation/execution-model.md index a8ebee0..e09fe56 100644 --- a/src/documentation/execution-model.md +++ b/src/documentation/execution-model.md @@ -6,13 +6,11 @@ permalink: /documentation/execution-model/ # Apache Beam Execution Model -The Beam model allows runners to execute your pipeline in different ways. -Depending on the runner’s choices, you may observe various effects as a result. -This page describes the effects of these choices so you can better understand -how Beam pipelines execute. +The Beam model allows runners to execute your pipeline in different ways. You +may observe various effects as a result of the runner’s choices. This page +describes these effects so you can better understand how Beam pipelines execute. -**Table of Contents:** -* TOC +* toc {:toc} ## Processing of elements @@ -22,41 +20,39 @@ most expensive operations in a distributed execution of your pipeline. Avoiding this serialization may require re-processing elements after failures or may limit the distribution of output to other machines. -The runner processes elements on many machines and may serialize elements in -between machines for other communication and persistence reasons. - ### Serialization and communication -The runner may serialize elements for communication or persistence. +The runner may serialize elements between machines for communication purposes +and for other reasons such as persistence. For example, a runner may serialize +and persist elements in these two situations. + +1. When used as part of a stateful `DoFn`, the runner may persist values to some + state mechanism. +1. When committing the results of processing, the runner may persist the outputs + as a checkpoint. -The runner may decide to transfer elements between transforms in a variety of +A runner may decide to transfer elements between transforms in a variety of ways, such as: 1. Routing elements to a worker for processing as part of a grouping operation. - This may involve serializing elements and sorting them by their key. + This may involve serializing elements and grouping or sorting them by their + key. 1. Redistributing elements between workers to adjust parallelism. This may involve serializing elements and communicating them to other workers. 1. Using the elements in a side input to a `ParDo`. This may require serializing the elements and broadcasting them to all the workers executing the `ParDo`. 1. Passing elements between transforms that are running on the same worker. - This may avoid having to serialize the elements, and instead just passing - them in memory. - -Additionally, the runner may serialize and persist elements for other reasons: - -1. When used as part of a Stateful `DoFn`, the runner may persist values to some - state mechanism. -1. When committing the results of processing, the runner may persist the outputs - as a checkpoint. + This may allow the runner to avoid serializing elements; instead, the runner + can just pass the elements in memory. ### Bundling and persistence -Beam pipelines often focus on ["embarassingly parallel"](https://en.wikipedia.org/wiki/Embarrassingly_parallel) -problems. Because of this, the APIs emphasize processing elements in parallel, -which makes it difficult to express things like "assign a sequence number to -each element in a PCollection." This is intentional since such algorithms are -much more likely to suffer from scalability problems. +Beam pipelines often focus on "[embarassingly parallel](https://en.wikipedia.org/wiki/embarrassingly_parallel)" +problems. Because of this, the APIs emphasize processing elements in parallel, +which makes it difficult to express actions like "assign a sequence number to +each element in a PCollection". This is intentional as such algorithms are much +more likely to suffer from scalability problems. Processing all elements in parallel also has some drawbacks. Specifically, it makes it impossible to batch any operations, such as writing elements to a sink @@ -66,56 +62,69 @@ Instead of processing all elements simultaneously, the elements in a `PCollection` are processed in _bundles_. The division of the collection into bundles is arbitrary and selected by the runner. This allows the runner to choose an appropriate middle-ground between persisting results after every -element, and having to retry everything if there is a failure. +element, and having to retry everything if there is a failure. For example, a +streaming runner may prefer to process and commit small bundles, and a batch +runner may prefer to process larger bundles. -## Failures and parallelism within and between transforms +## Failures and parallelism within and between transforms {#parallelism} In this section, we discuss how elements in the input collection are processed in parallel, and how transforms are retried when failures occur. ### Data-parallelism within one transform {#data-parallelism} -The bundling of elements when executing a single `ParDo` may look something like -this. In this diagram, a collection with 9 elements is divided into 2 -bundles: +When executing a single `ParDo`, a runner might divide an example input +collection of nine elements into two bundles as shown in figure 1. ![bundling]({{ site.baseurl }}/images/execution_model_bundling.svg) -When the `ParDo` executes, these bundles may be processed in parallel worker -threads. The elements in each bundle are processed in sequence, as shown in this -diagram: +**Figure 1:** A runner divides an input collection with nine elements +into two bundles. + +When the `ParDo` executes, workers may process the two bundles in parallel as +shown in figure 2. ![bundling_gantt]({{ site.baseurl }}/images/execution_model_bundling_gantt.svg) +**Figure 2:** Two workers process the two bundles in parallel. The elements in +each bundle are processed in sequence. + Since elements cannot be split, the maximum parallelism for a transform depends -on the number of elements in the collection. In this case, the maximum -parallelism is 9: +on the number of elements in the collection. In our example, the input +collection has nine elements, so the maximum parallelism is nine. ![bundling_gantt_max]({{ site.baseurl }}/images/execution_model_bundling_gantt_max.svg) +**Figure 3:** The maximum parallelism is nine, as there are nine elements in the +input collection. + Note: Splittable ParDo allows splitting the processing of a single input across -multiple bundles. This feature is still a work in progress, but may already be -useful in some cases. +multiple bundles. This feature is a work in progress. ### Dependent-parallelism between transforms {#dependent-parallellism} -When two transforms are connected as shown below, the runner may choose to -execute them in a way such that the bundling of the two transforms are -dependent. +`ParDo` transforms that are in sequence may be _dependently parallel_ if the +runner chooses to execute the consuming transform on the producing transform's +output elements without altering the bundling. In figure 4, `ParDo1` and +`ParDo2` are _dependently parallel_ if the output of `ParDo1` for a given +element must be processed on the same worker. ![bundling_multi]({{ site.baseurl }}/images/execution_model_bundling_multi.svg) -In this picture, `ParDo1` and `ParDo2` are _dependently parallel_ if the output -of `ParDo1` for a given element must be processed on the same worker thread. +**Figure 4:** Two transforms in sequence and their corresponding input collections. + +Figure 5 shows how these dependently parallel transforms might execute. The +first worker executes `ParDo1` on the elements in bundle A (which results in +bundle C), and then executes `ParDo2` on the elements in bundle C. Similarly, +the second worker executes `ParDo1` on the elements in bundle B (which results +in bundle D), and then executes `ParDo2` on the elements in bundle D. ![bundling_multi_gantt.svg]({{ site.baseurl }}/images/execution_model_bundling_multi_gantt.svg) -For example, two `ParDo` transforms in sequence may be _dependently parallel_ if -the runner chooses to execute the consuming transform on each output from the -producing transform without altering the bundling in between. +**Figure 5:** Two workers execute dependently parallel ParDo transforms. Executing transforms this way allows a runner to avoid redistributing elements -between workers, saving on communication costs. However, the maximum parallelism +between workers, which saves on communication costs. However, the maximum parallelism now depends on the maximum parallelism of the first of the dependently parallel steps. @@ -123,38 +132,56 @@ steps. If processing of an element within a bundle fails, the entire bundle fails. The elements in the bundle must be retried (otherwise the entire pipeline fails), -although they need not be retried with the same bundling. +although they do not need to be retried with the same bundling. -In the following illustration, two elements (in green) were successfully -processed. The third element’s processing failed, and there are three elements -(in yellow) still to be processed. We see that the same elements were retried -and processing successfully completed. Note that as shown, the retry does not -necessarily happen in the same worker thread as the original attempt. +For this example, we will use the `ParDo` from figure 1 that has an input +collection with nine elements and is divided into two bundles. -Because we encountered a failure while processing an element in the input -bundle, we had to reprocess all of the elements in the input bundle. Thus, the -entire output bundle must be thrown away since all of the results it contains -will be recomputed. +In figure 6, the first worker successfully processes all five elements in bundle +A. The second worker processes the four elements in bundle B: the first two +elements were successfully processed, the third element’s processing failed, and +there is one element still awaiting processing. + +We see that the runner retries all elements in bundle B and the processing +completes successfully the second time. Note that the retry does not necessarily +happen on the same worker as the original processing attempt, as shown in the +diagram. ![failure_retry]({{ site.baseurl }}/images/execution_model_failure_retry.svg) -If the failed transform is a `ParDo`, then the `DoFn` instance is torn down and -abandoned. +**Figure 6:** The processing of an element within bundle B fails, and another worker +retries the entire bundle. -### Coupled failure: Failures between transforms +Because we encountered a failure while processing an element in the input +bundle, we had to reprocess _all_ of the elements in the input bundle. This means +the runner must throw away the entire output bundle since all of the results it +contains will be recomputed. + +Note that if the failed transform is a `ParDo`, then the `DoFn` instance is torn +down and abandoned. + +### Coupled failure: Failures between transforms {#coupled-failure} If a failure to process an element in `ParDo2` causes `ParDo1` to re-execute, these two steps are said to be _co-failing_. -In the following illustration, two `ParDo` transforms are processing elements. -While processing an element, the second `ParDo` fails (which is shown in red). -As a result, the runner must discard and recompute the output of the second -`ParDo`. Because the runner was executing the two `ParDo`s together, the output -bundle from the first `ParDo` must also be thrown away, and the elements in the -input bundle must be retried. These two `ParDo`s are co-failing. +For this example, we will use the dependently parallel `ParDo`s from figure 4. + +In figure 7, worker two successfully executes `ParDo1` on all elements in bundle +B. However, the worker fails to process an element in bundle D, so `ParDo2` +fails (shown as the red X). As a result, the runner must discard and recompute +the output of `ParDo2`. Because the runner was executing `ParDo1` and `ParDo2` +together, the output bundle from `ParDo1` must also be thrown away, and all +elements in the input bundle must be retried. These two `ParDo`s are co-failing. ![bundling_coupled failure]({{ site.baseurl }}/images/execution_model_bundling_coupled_failure.svg) +**Figure 7:** Processing of an element within bundle D fails, so all elements in +the input bundle are retried. + +Note that the retry does not necessarily have the same processing time as the +original attempt, as shown in the diagram. + All `DoFns` that experience coupled failures are terminated and must be torn down since they aren’t following the normal `DoFn` lifecycle . diff --git a/src/images/execution_model_bundling.svg b/src/images/execution_model_bundling.svg index 7a257e3..8fc4ef7 100644 --- a/src/images/execution_model_bundling.svg +++ b/src/images/execution_model_bundling.svg @@ -1,33 +1,357 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="144.38" width="419.8" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <metadata id="metadata7"> - <rdf:RDF> - <cc:Work rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:title/> - </cc:Work> - </rdf:RDF> - </metadata> - <g id="layer1" transform="translate(25.429,-781.45258)"> - <g id="g3135" transform="translate(8.1428566,0)"> - <rect id="rect2987" ry="11.782" height="34.286" width="197.14" y="876.55" x="26.429" fill="#ff7f2a"/> - <text id="text2991" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" y="901.14917" x="88.930664" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan2993" y="901.14917" x="88.930664" font-size="20px">ParDo1</tspan></text> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + height="217.11" + width="421.51" + version="1.1" + inkscape:version="0.48.4 r9939" + sodipodi:docname="execution_model_bundling.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1146" + id="namedview37" + showgrid="false" + inkscape:zoom="1.9795165" + inkscape:cx="16.948817" + inkscape:cy="88.348045" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="g5315" /> + <defs + id="defs28"> + <marker + inkscape:stockid="Arrow2Lstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Lstart" + style="overflow:visible"> + <path + id="path4078" + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(1.1) translate(1,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path4063" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Lend" + style="overflow:visible;"> + <path + id="path3923" + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(1.1) rotate(180) translate(1,0)" /> + </marker> + <marker + id="Arrow2Lend-1" + refY="0" + refX="0" + orient="auto"> + <path + id="path3823-1" + stroke-linejoin="round" + d="M8.7186,4.0337-2.2073,0.016013,8.7186-4.0017c-1.7455,2.3721-1.7354,5.6175-6E-7,8.0354z" + fill-rule="evenodd" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + stroke-width="0.625" /> + </marker> + </defs> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="g5315"> + <g + stroke-miterlimit="4" + transform="matrix(0.88811359,0,0,1,-3.8563836,-770.72906)" + id="g3135" + style="stroke-width:0.53056151;stroke-miterlimit:4;stroke-dasharray:none"> + <rect + x="49.662998" + y="876.54999" + width="147.47" + height="34.285999" + ry="11.782" + id="rect2987" + style="fill:#f4a460;stroke:#000000" /> + </g> + <path + d="m 103.79,140.11 0.18839,60.668" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend)" + id="path12814" + inkscape:connector-curvature="0" /> + <path + d="m 103.17,15.5 0.18366,89.157" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);marker-mid:none" + id="path12814-7" + inkscape:connector-curvature="0" /> + <g + id="g4404"> + <text + id="text3163" + font-size="20px" + line-height="125%" + font-family="Sans" + xml:space="preserve" + style="letter-spacing:0px;word-spacing:0px;" + y="152.86745" + x="231.89923" + font-weight="normal" + font-style="normal" + fill="#000000"><tspan + id="tspan3165" + y="152.86745" + x="231.89923" + font-size="12px">Bundle A (five elements)</tspan></text> + <text + id="text3163-1" + font-size="20px" + line-height="125%" + font-family="Sans" + xml:space="preserve" + style="letter-spacing:0px;word-spacing:0px;" + y="173.16542" + x="231.81685" + font-weight="normal" + font-style="normal" + fill="#000000"><tspan + id="tspan3165-8" + y="173.16542" + x="231.81685" + font-size="12px">Bundle B (four elements)</tspan></text> + <rect + id="rect3025-9" + stroke-dasharray="none" + height="14.365" + width="21.511" + stroke="#000" + stroke-miterlimit="4" + y="141.93" + x="203.73" + stroke-width="0.5" + fill="#d8bfd8" /> + <rect + id="rect3025-9-3" + stroke-dasharray="none" + height="14.365" + width="21.511" + stroke="#000" + stroke-miterlimit="4" + y="162.32" + x="204.03" + stroke-width="0.5" + fill="#add8e6" /> + </g> + <g + id="g4412"> + <text + id="text3153" + font-size="20px" + line-height="125%" + font-family="Sans" + xml:space="preserve" + style="letter-spacing:0px;word-spacing:0px;" + y="32.067104" + x="180.63188" + font-weight="normal" + font-style="normal" + fill="#000000"><tspan + id="tspan3155" + y="32.067104" + x="180.63188" + font-size="16px">Input collection:</tspan></text> + <g + id="g18259" + transform="matrix(1.0730169,0,0,1,-9.331575,-27.774711)"> + <rect + id="rect3161" + height="51.429" + width="5" + y="66.479" + x="243.12" + fill="#1c2422" /> + <rect + id="rect3025-4" + stroke-dasharray="none" + height="36.368" + width="115.97" + stroke="#000" + stroke-miterlimit="4" + y="74.242" + x="127.82" + stroke-width="1.0104" + fill="#d8bfd8" /> + <rect + id="rect3025-0" + stroke-dasharray="none" + height="36.656" + width="23.053" + stroke="#000" + stroke-miterlimit="4" + y="74.098" + x="127.66" + stroke-width="0.80829" + fill="#d8bfd8" /> + <rect + id="rect3025-0-0" + stroke-dasharray="none" + height="36.656" + width="23.053" + stroke="#000" + stroke-miterlimit="4" + y="74.098" + x="174.03" + stroke-width="0.80829" + fill="#d8bfd8" /> + <rect + id="rect3025-0-4" + stroke-dasharray="none" + height="36.656" + width="23.053" + stroke="#000" + stroke-miterlimit="4" + y="74.098" + x="150.85" + stroke-width="0.80829" + fill="#d8bfd8" /> + <rect + id="rect3025-0-44" + stroke-dasharray="none" + height="36.656" + width="23.053" + stroke="#000" + stroke-miterlimit="4" + y="74.098" + x="220.41" + stroke-width="0.80829" + fill="#d8bfd8" /> + <rect + id="rect3025-0-47" + stroke-dasharray="none" + height="36.656" + width="23.053" + stroke="#000" + stroke-miterlimit="4" + y="74.098" + x="197.22" + stroke-width="0.80829" + fill="#d8bfd8" /> + <g + id="g18250" + transform="matrix(1.1135475,0,0,0.99880924,127.32861,191.51183)" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + stroke-width="0.7723012" + fill="#add8e6"> + <g + id="g18243" + transform="translate(-157.70925,-188.54625)"> + <g + id="g18240" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + stroke-width="0.7723012" + fill="#add8e6"> + <rect + id="rect3025-5-11" + stroke-dasharray="none" + height="36.539" + width="82.466" + stroke="#000" + stroke-miterlimit="4" + y="71.073" + x="266.04" + stroke-width="0.7723" + fill="#add8e6" /> + </g> + </g> + <rect + id="rect3025-0-47-6" + y="-117.55" + width="21.024" + x="108.43" + height="36.695" /> + <rect + id="rect3025-0-47-3" + y="-117.55" + width="21.024" + x="149.4" + height="36.695" /> + <rect + id="rect3025-0-47-1" + y="-117.55" + width="21.024" + x="128.7" + height="36.695" /> + <rect + id="rect3025-0-47-7" + y="-117.55" + width="21.024" + x="170.47" + height="36.695" /> + </g> + </g> + </g> + <text + line-height="125%" + x="76.725883" + y="127.85606" + font-style="normal" + font-size="42.44491959px" + xml:space="preserve" + font-weight="normal" + style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;font-family:Sans" + id="text9065" + sodipodi:linespacing="125%"><tspan + x="76.725883" + y="127.85606" + font-size="16.97796822px" + id="tspan9067" + style="font-size:16px">ParDo1</tspan></text> </g> - <rect id="rect3025" height="36.429" width="237.14" y="815.51" x="14.571" fill="#afc6e9"/> - <path id="path3029" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(-14,812.36218)" fill="#59F"/> - <path id="path3029-9" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(94.85714,828.79075)" fill="#59F"/> - <path id="path3029-1" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(7.42857,826.64789)" fill="#59F"/> - <path id="path3029-2" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(40.285713,808.79075)" fill="#59F"/> - <path id="path3029-7" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(40.285713,824.50504)" fill="#59F"/> - <path id="path3029-0" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(75.285713,815.93361)" fill="#59F"/> - <path id="path3029-93" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(20.999998,814.50504)" fill="#59F"/> - <path id="path3029-6" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(108.14286,813.79075)" fill="#59F"/> - <path id="path3029-06" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(136,821.64789)" fill="#59F"/> - <text id="text3153" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="841.17542" x="257.14285" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3155" y="841.17542" x="257.14285">Collection</tspan></text> - <rect id="rect3161" height="51.429" width="5" y="808.01" x="110.71" fill="#1c2422"/> - <text id="text3163" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="811.64789" x="15.000003" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165" y="811.64789" x="15.000003">Bundle 1</tspan></text> - <text id="text3163-1" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="811.64789" x="128.29799" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165-8" y="811.64789" x="128.29799">Bundle 2</tspan></text> - </g> </svg> diff --git a/src/images/execution_model_bundling_coupled_failure.svg b/src/images/execution_model_bundling_coupled_failure.svg index 3c5b015..33d6cb2 100644 --- a/src/images/execution_model_bundling_coupled_failure.svg +++ b/src/images/execution_model_bundling_coupled_failure.svg @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="303.81" width="589.09" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="256.37" width="679.06" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -10,29 +10,50 @@ </cc:Work> </rdf:RDF> </metadata> - <g id="layer1" transform="translate(20.046875,-752.34875)"> - <path id="path3207" stroke-linejoin="miter" d="m50,805.93,0,196.43h436.43" stroke="#000" stroke-linecap="butt" stroke-width="1px" fill="none"/> - <text id="text3209" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="779.505" x="20" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3211" y="779.505" x="20">Worker</tspan><tspan id="tspan3219" y="799.505" x="20">Thread</tspan></text> - <text id="text3213" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="1020.9336" x="445" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3215" y="1020.9336" x="445">Processing</tspan><tspan id="tspan3217" y="1040.9336" x="445">Time</tspan></text> - <g id="g3140-54" transform="matrix(2.3376624,0,0,1.2745098,24.367395,-85.011242)"> - <rect id="rect3025-7-1-9-8-74" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="layer1" transform="translate(16.157673,-773.52648)"> + <g id="g3140-54" transform="matrix(1.4703519,0,0,1.2733995,38.653989,-84.095098)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.39496601" fill="#add8e6"> + <rect id="rect3025-7-1-9-8-74" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.39497" fill="#add8e6"/> </g> - <g id="g3140-54-9" transform="matrix(2.3376624,0,0,1.2745098,152.93886,-85.011242)" fill="#AFA"> - <rect id="rect3025-7-1-9-8-74-5" height="36.429" width="55" y="806.93" x="14.143" fill="#AFA"/> + <g id="g3140-54-9" transform="matrix(1.7799058,0,0,1.2747744,115.81366,-85.229582)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.32553703" fill="#1e90ff"> + <rect id="rect3025-7-1-9-8-74-5" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.32554" fill="#1e90ff"/> </g> - <g id="g3140-54-1" transform="matrix(1.6103896,0,0,1.2745098,37.081674,-143.43981)"> - <rect id="rect3025-7-1-9-8-74-7" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-54-1" transform="matrix(1.6807803,0,0,1.2732496,36.109093,-142.39997)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.3731702" fill="#d8bfd8"> + <rect id="rect3025-7-1-9-8-74-7" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.37317" fill="#d8bfd8"/> </g> - <g id="g3140-54-9-6" transform="matrix(2.5324676,0,0,1.2745098,112.4695,-143.43981)" fill="#AFA"> - <rect id="rect3025-7-1-9-8-74-5-1" height="36.429" width="55" y="806.93" x="14.143" fill="#AFA"/> + <g id="g3140-54-9-6" transform="matrix(1.1255822,0,0,1.2770216,141.67597,-145.5124)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.34072345" fill="#9370db"> + <rect id="rect3025-7-1-9-8-74-5-1" height="36.429" width="63.501" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="9.8924" stroke-width="0.34072" fill="#9370db"/> </g> - <path id="path3029-6" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(226.3817,907.58872)" fill="#ff2a2a"/> - <g id="g3140-54-1-9" transform="matrix(2.6753248,0,0,1.2745098,262.54504,-141.92755)"> - <rect id="rect3025-7-1-9-8-74-7-4" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <path id="path3207-9" stroke-linejoin="miter" d="m49.897,826.21,0,175.89h435.32" stroke="#000" stroke-linecap="butt" stroke-width="0.94508249px" fill="none"/> + <text id="text7100" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="812.71613" x="51.514202" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7104" y="812.71613" x="51.514202" font-size="16px" style="text-anchor:middle;text-align:center;">Worker</tspan></text> + <text id="text6762" font-size="16px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="994.6684" x="529.6355" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6764" y="994.6684" x="529.6355" style="text-anchor:middle;text-align:center;">Processing</tspan><tspan id="tspan6766" y="1014.6685" x="529.6355" style="text-anchor:middle;text-align:center;">Time</tspan></text> + <g id="g3140-54-1-5" transform="matrix(0.45891321,0,0,0.41422951,427.99183,478.05141)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.00000155" fill="#d8bfd8"> + <rect id="rect3025-7-1-9-8-74-7-6" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1" fill="#d8bfd8"/> </g> - <g id="g3140-54-9-6-8" transform="matrix(1.5194805,0,0,1.2745098,423.03483,-141.92755)" fill="#AFA"> - <rect id="rect3025-7-1-9-8-74-5-1-1" height="36.429" width="55" y="806.93" x="14.143" fill="#AFA"/> + <g id="g3140-54-4" transform="matrix(0.49362044,0,0,0.44268692,428.24508,431.02429)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99901491" fill="#87cefa"> + <rect id="rect3025-7-1-9-8-74-8" height="34.087" width="51.484" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="808.1" x="11.799" stroke-width="0.99901" fill="#87cefa"/> </g> - <flowRoot id="flowRoot5183" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" xml:space="preserve" font-size="20px" transform="translate(203.62946,797.53031)" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion5185"><rect id="rect5187" y="94.526" width="125.71" x="192.86" height="30.714"/></flowRegion><flowPara id="flowPara5189" font-size="24px">Retry</flowPara></flowRoot> + <text id="text6979" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="800.12573" x="467.31888" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981" y="800.12573" x="467.31888" font-size="12px">Bundle A (ParDo1 input)</tspan></text> + <text id="text6979-3" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="848.48145" x="468.29507" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981-9" y="848.48145" x="468.29507" font-size="12px">Bundle C (ParDo2 input)</tspan></text> + <text id="text6979-0" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="823.63007" x="468.2951" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981-8" y="823.63007" x="468.2951" font-size="12px">Bundle B (ParDo1 input)</tspan></text> + <text id="text6979-0-8" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="872.59741" x="468.65836" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981-8-5" y="872.59741" x="468.65836" font-size="12px">Bundle D (ParDo2 input)</tspan></text> + <text id="text6979-0-0" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="898.10181" x="468.69962" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981-8-9" y="898.10181" x="468.69962" font-size="12px">Element processing failed</tspan></text> + <text id="text7061" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="914.45178" x="29.878115" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7063" y="914.45178" x="29.878115" font-size="14px">2</tspan></text> + <text id="text7061-6" font-size="40px" font-family="Sans" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" xml:space="preserve" y="973.8656" x="29.225224" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7063-3" y="973.8656" x="29.225224" font-size="14px">1</tspan></text> + <path id="path6657-3-5-62-2-2" stroke-linejoin="miter" d="m41.658,909.91h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62-2-2-8" stroke-linejoin="miter" d="M41.005,967.98h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <g id="g3140-54-1-4" transform="matrix(1.0418535,0,0,1.2764221,224.78434,-145.282)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.3731702" fill="#d8bfd8"> + <rect id="rect3025-7-1-9-8-74-7-0" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.37317" fill="#d8bfd8"/> + </g> + <g id="g3140-54-9-6-5" transform="matrix(1.5768018,0,0,1.2749736,281.03685,-144.08674)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.34072345" fill="#9370db"> + <rect id="rect3025-7-1-9-8-74-5-1-94" height="36.429" width="63.501" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="9.8924" stroke-width="0.34072" fill="#9370db"/> + </g> + <g id="g3140-54-1-5-4" transform="matrix(0.45891321,0,0,0.41422951,428.31828,502.82028)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.00000155" fill="#1e90ff"> + <rect id="rect3025-7-1-9-8-74-7-6-8" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1" fill="#1e90ff"/> + </g> + <g id="g3140-54-1-5-1" transform="matrix(0.45891321,0,0,0.41422951,428.31828,527.63044)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1.00000155" fill="#9370db"> + <rect id="rect3025-7-1-9-8-74-7-6-2" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1" fill="#9370db"/> + </g> + <text id="text18024-8" style="letter-spacing:0px;word-spacing:0px;" font-family="Sans" font-weight="normal" xml:space="preserve" stroke-dasharray="none" font-size="40px" stroke="#000000" stroke-miterlimit="4" font-style="normal" y="899.92407" x="441.27896" stroke-width="0.2" line-height="125%" fill="#000000"><tspan id="tspan18026-9" stroke-width="0.2" stroke-dasharray="none" font-size="16px" stroke="#000000" stroke-miterlimit="4" y="899.92407" x="441.27896" font-weight="bold" fill="#ff [...] + <text id="text18024-8-3" style="letter-spacing:0px;word-spacing:0px;" font-family="Sans" font-weight="normal" xml:space="preserve" stroke-dasharray="none" font-size="40px" stroke="#000000" stroke-miterlimit="4" font-style="normal" y="913.63501" x="181.38664" stroke-width="0.2" line-height="125%" fill="#000000"><tspan id="tspan18026-9-6" stroke-width="0.2" stroke-dasharray="none" font-size="16px" stroke="#000000" stroke-miterlimit="4" y="913.63501" x="181.38664" font-weight="bold" fill= [...] </g> </svg> diff --git a/src/images/execution_model_bundling_gantt.svg b/src/images/execution_model_bundling_gantt.svg index 963ac6d..d73fc19 100644 --- a/src/images/execution_model_bundling_gantt.svg +++ b/src/images/execution_model_bundling_gantt.svg @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="303.81" width="589.09" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="221.19" width="584.79" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -10,24 +10,41 @@ </cc:Work> </rdf:RDF> </metadata> - <g id="layer1" transform="translate(20.046875,-752.34875)"> - <path id="path3207" stroke-linejoin="miter" d="m50,805.93,0,196.43h436.43" stroke="#000" stroke-linecap="butt" stroke-width="1px" fill="none"/> - <text id="text3209" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="16px" font-style="normal" y="779.505" x="20" font-weight="normal" fill="#000000"><tspan id="tspan3211" y="779.505" x="20">Worker</tspan><tspan id="tspan3219" y="799.505" x="20">Thread</tspan></text> - <text id="text3213" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="16px" font-style="normal" y="1020.9336" x="445" font-weight="normal" fill="#000000"><tspan id="tspan3215" y="1020.9336" x="445">Processing</tspan><tspan id="tspan3217" y="1040.9336" x="445">Time</tspan></text> - <g id="g3140" transform="translate(43.285717,0.78568637)"> - <rect id="rect3025-7-19" height="36.429" width="55" y="900.51" x="100.59" fill="#afc6e9"/> - <rect id="rect3025-7-1-4" height="36.429" width="55" y="900.51" x="160.11" fill="#afc6e9"/> - <rect id="rect3025-7-1-2-7" height="36.429" width="55" y="900.51" x="219.62" fill="#afc6e9"/> - <rect id="rect3025-7-1-9-8" height="36.429" width="55" y="900.51" x="279.14" fill="#afc6e9"/> - <rect id="rect3025-7" height="36.429" width="55" y="956.93" x="22.143" fill="#afc6e9"/> - <rect id="rect3025-7-1" height="36.429" width="55" y="956.93" x="82.571" fill="#afc6e9"/> - <rect id="rect3025-7-1-2" height="36.429" width="55" y="956.93" x="143" fill="#afc6e9"/> - <rect id="rect3025-7-1-9" height="36.429" width="55" y="956.93" x="203.43" fill="#afc6e9"/> - <text id="text3163" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" font-style="normal" y="926.17542" x="375.81967" font-weight="normal" fill="#000000"><tspan id="tspan3165" y="926.17542" x="375.81967">Bundle 1</tspan></text> - <text id="text3163-1" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" font-style="normal" y="982.604" x="260.8978" font-weight="normal" fill="#000000"><tspan id="tspan3165-8" y="982.604" x="260.8978">Bundle 2</tspan></text> - <text id="text3163-1-3" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" font-style="normal" y="982.29639" x="100.64494" font-weight="normal" fill="#000000"><tspan id="tspan3165-8-6" y="982.29639" x="100.64494">ParDo1</tspan></text> - <text id="text3435" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" font-style="normal" y="925.8678" x="164.21637" font-weight="normal" fill="#000000"><tspan id="tspan3437" y="925.8678" x="164.21637">ParDo1</tspan></text> - <rect id="rect3025-7-19-4" height="36.429" width="55" y="900.51" x="41.071" fill="#afc6e9"/> + <path id="path3207" stroke-linejoin="miter" d="m65.679,40.835,0,153.56h360.38" stroke="#000" stroke-linecap="butt" stroke-width="0.80344409px" fill="none"/> + <text id="text3213" font-size="16px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-style="normal" y="174.03949" x="572.71991" font-weight="normal" fill="#000000"><tspan id="tspan3215" y="174.03949" x="530.67303" style="text-anchor:middle;text-align:center;"/></text> + <g id="g3006" transform="translate(15.777413,-820.77153)"> + <text id="text3163" font-size="20px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-style="normal" y="854.52179" x="422.17236" font-weight="normal" fill="#000000"><tspan id="tspan3165" y="854.52179" x="422.17236" font-size="12px">Bundle A element</tspan></text> + <text id="text3163-1" font-size="20px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-style="normal" y="882.88568" x="421.50021" font-weight="normal" fill="#000000"><tspan id="tspan3165-8" y="882.88568" x="421.50021" font-size="12px">Bundle B element</tspan></text> + <path id="path6657-3" stroke-linejoin="miter" d="M44.308,976.84h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5" stroke-linejoin="miter" d="M44.777,920.73h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <text id="text6695" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="981.909" x="29.374258" font-weight="normal" fill="#000000"><tspan id="tspan6697" y="981.909" x="29.374258" font-size="14px">1</tspan></text> + <text id="text6699" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="926.83972" x="30.668245" font-weight="normal" fill="#000000"><tspan id="tspan6701" y="926.83972" x="30.668245" font-size="14px">2</tspan></text> + <rect id="rect3025-7-1-9-2" height="20.191" width="33.113" stroke="#000" y="868.96" x="377.83" fill="#add8e6"/> + <g id="g18259" transform="matrix(1.0730169,0,0,1,-86.480557,643.26922)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4"> + <g id="g18357" fill="#d8bfd8" transform="matrix(2.5823283,0,0,1,-198.50272,244.2816)"> + <rect id="rect3025-4" height="36.41" width="104.74" y="73.34" x="131.48" stroke-width="0.41851"/> + <rect id="rect3025-0" height="36.695" width="21.024" y="73.198" x="131.34" stroke-width="0.42052"/> + <rect id="rect3025-0-0" height="36.695" width="21.024" y="73.198" x="173.63" stroke-width="0.42052"/> + <rect id="rect3025-0-4" height="36.695" width="21.024" y="73.198" x="152.48" stroke-width="0.42052"/> + <rect id="rect3025-0-44" height="36.695" width="21.024" y="73.198" x="215.66" stroke-width="0.42052"/> + <rect id="rect3025-0-47" height="36.695" width="21.024" y="73.198" x="194.77" stroke-width="0.42052"/> + </g> + <g id="g18365" stroke-width="0.41577438" fill="#add8e6" transform="matrix(2.6416425,0,0,1,-948.11581,183.56421)"> + <g id="g18250" transform="translate(309.37641,193.57296)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.41577438" fill="#add8e6"> + <g id="g18243" transform="translate(-157.70925,-188.54625)"> + <g id="g18240" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.41577438" fill="#add8e6"> + <rect id="rect3025-5-11" stroke-dasharray="none" height="36.539" width="82.466" stroke="#000" stroke-miterlimit="4" y="71.073" x="266.04" stroke-width="0.41577" fill="#add8e6"/> + </g> + </g> + <rect id="rect3025-0-47-6" y="-117.55" width="21.024" x="108.43" height="36.695"/> + <rect id="rect3025-0-47-3" y="-117.55" width="21.024" x="149.4" height="36.695"/> + <rect id="rect3025-0-47-1" y="-117.55" width="21.024" x="128.7" height="36.695"/> + <rect id="rect3025-0-47-7" y="-117.55" width="21.024" x="170.1" height="36.695"/> + </g> + </g> </g> + <rect id="rect3025-7-1-9-2-5" height="20.191" width="33.113" stroke="#000" y="839.83" x="377.86" fill="#d8bfd8"/> </g> + <text id="text6762" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="16px" font-style="normal" y="185.96609" x="477.86038" font-weight="normal" fill="#000000"><tspan id="tspan6764" y="185.96609" x="477.86038" style="text-anchor:middle;text-align:center;">Processing</tspan><tspan id="tspan6766" y="205.96609" x="477.86038" style="text-anchor:middle;text-align:center;">Time</tspan></text> + <text id="text7100" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="27.15625" x="67.671875" font-weight="normal" fill="#000000"><tspan id="tspan7104" y="27.15625" x="67.671875" style="text-anchor:middle;text-align:center;" font-size="16px">Worker</tspan></text> </svg> diff --git a/src/images/execution_model_bundling_gantt_max.svg b/src/images/execution_model_bundling_gantt_max.svg index 661eaaa..06f65c5 100644 --- a/src/images/execution_model_bundling_gantt_max.svg +++ b/src/images/execution_model_bundling_gantt_max.svg @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="303.81" width="589.09" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="276.81" width="557.19" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -10,36 +10,58 @@ </cc:Work> </rdf:RDF> </metadata> - <g id="layer1" transform="translate(20.046875,-752.34875)"> - <path id="path3207" stroke-linejoin="miter" d="m50,805.93,0,196.43h436.43" stroke="#000" stroke-linecap="butt" stroke-width="1px" fill="none"/> - <text id="text3209" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="779.505" x="20" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3211" y="779.505" x="20">Worker</tspan><tspan id="tspan3219" y="799.505" x="20">Thread</tspan></text> - <text id="text3213" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="1020.9336" x="445" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3215" y="1020.9336" x="445">Processing</tspan><tspan id="tspan3217" y="1040.9336" x="445">Time</tspan></text> - <g id="g3140" transform="matrix(1,0,0,0.31372546,43.285717,554.56371)"> - <rect id="rect3025-7-1-9-8" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g10906"> + <g id="g3140" transform="matrix(1.7363636,0,0,0.31372546,50.783157,-199.0263)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99991053" fill="#3cb371"> + <rect id="rect3025-7-1-9-8" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.99991" fill="#3cb371"/> </g> - <g id="g3140-0" transform="matrix(1,0,0,0.31372546,43.285717,597.33157)"> - <rect id="rect3025-7-1-9-8-6" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-0" fill="#3cb371" transform="matrix(1.7181818,0,0,0.31372546,55.040303,-156.25844)" stroke="#000"> + <rect id="rect3025-7-1-9-8-6" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-1" transform="matrix(1,0,0,0.31372546,43.285717,682.86727)"> - <rect id="rect3025-7-1-9-8-5" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-1" fill="#3cb371" transform="matrix(1.6636364,0,0,0.31372546,51.811739,-70.722744)" stroke="#000"> + <rect id="rect3025-7-1-9-8-5" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-5" transform="matrix(1,0,0,0.31372546,53.285717,618.71549)"> - <rect id="rect3025-7-1-9-8-4" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-5" fill="#3cb371" transform="matrix(1.7818182,0,0,0.31372546,56.140294,-134.87452)" stroke="#000"> + <rect id="rect3025-7-1-9-8-4" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-7" transform="matrix(1,0,0,0.31372546,55.285717,704.2512)"> - <rect id="rect3025-7-1-9-8-65" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-7" fill="#3cb371" transform="matrix(1.6818182,0,0,0.31372546,73.554594,-49.338814)" stroke="#000"> + <rect id="rect3025-7-1-9-8-65" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-6" transform="matrix(1,0,0,0.31372546,51.285717,575.94764)"> - <rect id="rect3025-7-1-9-8-9" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-6" fill="#3cb371" transform="matrix(1.8181818,0,0,0.31372546,73.626003,-177.64237)" stroke="#000"> + <rect id="rect3025-7-1-9-8-9" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-3" transform="matrix(1,0,0,0.31372546,43.285717,640.09942)"> - <rect id="rect3025-7-1-9-8-7" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-3" fill="#3cb371" transform="matrix(1.6727273,0,0,0.31372546,51.683166,-113.49059)" stroke="#000"> + <rect id="rect3025-7-1-9-8-7" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-4" transform="matrix(1,0,0,0.31372546,85.285717,661.48335)"> - <rect id="rect3025-7-1-9-8-52" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-4" fill="#3cb371" transform="matrix(1.6545455,0,0,0.31372546,99.940308,-92.106664)" stroke="#000"> + <rect id="rect3025-7-1-9-8-52" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> - <g id="g3140-54" transform="matrix(1,0,0,0.31372546,43.285717,725.63512)"> - <rect id="rect3025-7-1-9-8-74" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> + <g id="g3140-54" fill="#3cb371" transform="matrix(1.6636363,0,0,0.31372546,63.81174,-27.954894)" stroke="#000"> + <rect id="rect3025-7-1-9-8-74" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#3cb371"/> </g> + <path id="path3207-9" stroke-linejoin="miter" d="m66.967,39.115,0,209.2h360.24" stroke="#000" stroke-linecap="butt" stroke-width="0.93760067px" fill="none"/> + <text id="text6762" font-size="16px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="241.58237" x="475.89737" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6764" y="241.58237" x="475.89737" style="text-anchor:middle;text-align:center;">Processing</tspan><tspan id="tspan6766" y="261.58237" x="475.89737" style="text-anchor:middle;text-align:center;">Time</tspan></text> + <g id="g3140-12" transform="matrix(0.43986114,0,0,0.31372546,321.10866,-217.39942)" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99871421" fill="#3cb371"> + <rect id="rect3025-7-1-9-8-70" height="36.429" width="55" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.99871" fill="#3cb371"/> + </g> + <text id="text6979" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="46.411533" x="360.37134" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan6981" y="46.411533" x="360.37134" font-size="12px">Element in the collection</tspan></text> + <path id="path6657-3-5" stroke-linejoin="miter" d="M59.393,60.15h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-9" stroke-linejoin="miter" d="M59.893,82.615h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-3" stroke-linejoin="miter" d="M60.392,102.58h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-6" stroke-linejoin="miter" d="M60.891,123.55h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-0" stroke-linejoin="miter" d="M59.893,146.02h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62" stroke-linejoin="miter" d="M60.392,167.98h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <text id="text7057" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="235.87523" x="47.467484" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7059" y="235.87523" x="47.467484" font-size="14px">1</tspan></text> + <text id="text7061" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="215.40685" x="47.46748" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7063" y="215.40685" x="47.46748" font-size="14px">2</tspan></text> + <text id="text7065" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="193.44386" x="46.965172" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7067" y="193.44386" x="46.965172" font-size="14px">3</tspan></text> + <text id="text7069" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="172.47627" x="46.965168" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7071" y="172.47627" x="46.965168" font-size="14px">4</tspan></text> + <text id="text7073" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="151.50867" x="46.968254" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7075" y="151.50867" x="46.968254" font-size="14px">5</tspan></text> + <text id="text7077" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="129.54257" x="46.965176" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7079" y="129.54257" x="46.965176" font-size="14px">6</tspan></text> + <text id="text7081" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="108.07574" x="47.963634" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7083" y="108.07574" x="47.963634" font-size="14px">7</tspan></text> + <text id="text7085" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="87.108109" x="47.963631" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7087" y="87.108109" x="47.963631" font-size="14px">8</tspan></text> + <text id="text7089" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="64.1436" x="47.464424" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7091" y="64.1436" x="47.464424" font-size="14px">9</tspan></text> + <text id="text7100" font-size="40px" font-family="Sans" xml:space="preserve" style="letter-spacing:0px;word-spacing:0px;" font-style="normal" y="27.15625" x="67.671875" font-weight="normal" line-height="125%" fill="#000000"><tspan id="tspan7104" y="27.15625" x="67.671875" font-size="16px" style="text-anchor:middle;text-align:center;">Worker</tspan></text> + <path id="path6657-3-5-62-2" stroke-linejoin="miter" d="M59.893,188.44h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62-2-0" stroke-linejoin="miter" d="M59.893,210.42h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62-2-2" stroke-linejoin="miter" d="M59.893,230.39h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> </g> </svg> diff --git a/src/images/execution_model_bundling_multi.svg b/src/images/execution_model_bundling_multi.svg index 8d0d09c..75a29d8 100644 --- a/src/images/execution_model_bundling_multi.svg +++ b/src/images/execution_model_bundling_multi.svg @@ -1,35 +1,336 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="256.02" width="317.14" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <metadata id="metadata7"> - <rdf:RDF> - <cc:Work rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:title/> - </cc:Work> - </rdf:RDF> - </metadata> - <g id="layer1" transform="translate(24.327568,-613.00507)"> - <g id="g3135" transform="translate(9.24386,-180)"> - <rect id="rect2987" ry="11.782" height="34.286" width="197.14" y="876.55" x="26.429" fill="#ff7f2a"/> - <text id="text2991" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" font-size="40px" font-style="normal" y="901.14917" x="88.930664" font-family="Sans" xml:space="preserve" fill="#000000"><tspan id="tspan2993" font-size="20px" y="901.14917" x="88.930664">ParDo1</tspan></text> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + height="396.51" + width="405.69" + version="1.1" + inkscape:version="0.48.4 r9939" + sodipodi:docname="execution_model_bundling_multi.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1146" + id="namedview36" + showgrid="false" + inkscape:zoom="1.6834602" + inkscape:cx="102.45652" + inkscape:cy="198.255" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /> + <defs + id="defs7289"> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="marker4605" + style="overflow:visible;"> + <path + id="path4370" + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(1.1) rotate(180) translate(1,0)" /> + </marker> + <marker + id="Arrow2Lend" + refY="0" + refX="0" + orient="auto"> + <path + id="path3823" + stroke-linejoin="round" + d="M8.7186,4.0337-2.2073,0.016013,8.7186-4.0017c-1.7455,2.3721-1.7354,5.6175-6E-7,8.0354z" + fill-rule="evenodd" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + stroke-width="0.625" /> + </marker> + </defs> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <rect + id="rect3025-5" + height="36.429" + width="136.1" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + y="70.871" + x="229.33" + stroke-width="0.5" + fill="#d8bfd8" /> + <rect + id="rect3025-9" + height="36.429" + width="96.969" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + y="71.523" + x="128.32" + stroke-width="0.5" + fill="#add8e6" /> + <rect + id="rect3161-3" + height="51.429" + width="5" + y="64.023" + x="224.46" + fill="#1c2422" /> + <text + id="text3163-19" + style="letter-spacing:0px;word-spacing:0px;" + font-family="Sans" + xml:space="preserve" + font-size="20px" + line-height="125%" + font-style="normal" + y="94.810165" + x="146.11887" + font-weight="normal" + fill="#000000"><tspan + id="tspan3165-4" + y="94.810165" + x="146.11887" + font-size="14px">Bundle A</tspan></text> + <text + id="text3163-1-7" + style="letter-spacing:0px;word-spacing:0px;" + font-family="Sans" + xml:space="preserve" + font-size="20px" + line-height="125%" + font-style="normal" + y="94.810158" + x="261.11557" + font-weight="normal" + fill="#000000"><tspan + id="tspan3165-8-8" + y="94.810158" + x="261.11557" + font-size="14px">Bundle B</tspan></text> + <rect + id="rect3025-5-4" + stroke-dasharray="none" + transform="scale(-1,1)" + height="36.429" + width="136.1" + stroke="#000" + stroke-miterlimit="4" + y="221.22" + x="-264.42" + stroke-width="0.5" + fill="#1e90ff" /> + <rect + id="rect3025-9-5" + transform="scale(-1,1)" + height="36.429" + width="96.969" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + y="221.87" + x="-365.44" + stroke-width="0.5" + fill="#9370db" /> + <rect + id="rect3161-3-0" + transform="scale(-1,1)" + height="51.429" + width="5" + y="214.37" + x="-269.3" + fill="#1c2422" /> + <g + id="g3135-2" + transform="matrix(0.88811359,0,0,1,-3.8561905,-743.90322)" + stroke="#000" + stroke-miterlimit="4" + stroke-dasharray="none" + stroke-width="0.53056151" + fill="#f4a460"> + <rect + id="rect2987-2" + ry="11.782" + height="34.286" + width="147.47" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + y="876.55" + x="49.663" + stroke-width="0.53056" + fill="#f4a460" /> </g> - <g id="g3995" transform="translate(1.1010034,0)"> - <rect id="rect3025" height="36.429" width="237.14" y="635.51" x="14.571" fill="#afc6e9"/> - <rect id="rect3161" height="51.429" width="5" y="628.01" x="110.71" fill="#1c2422"/> - <text id="text3163" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" font-size="20px" line-height="125%" xml:space="preserve" font-style="normal" y="661.17542" x="20.000004" font-family="Sans" fill="#000000"><tspan id="tspan3165" y="661.17542" x="20.000004">Bundle 1</tspan></text> - <text id="text3163-1" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" font-size="20px" line-height="125%" xml:space="preserve" font-style="normal" y="661.17542" x="136.15514" font-family="Sans" fill="#000000"><tspan id="tspan3165-8" y="661.17542" x="136.15514">Bundle 2</tspan></text> + <g + id="g3135-7" + transform="matrix(0.88811359,0,0,1,-3.0891015,-592.0192)"> + <rect + id="rect2987-36" + ry="11.782" + height="34.286" + width="147.47" + stroke="#000" + stroke-dasharray="none" + stroke-miterlimit="4" + y="876.55" + x="49.663" + stroke-width="0.53056" + fill="#f4a460" /> + <text + id="text9065" + style="letter-spacing:0px;word-spacing:0px;" + font-weight="normal" + xml:space="preserve" + transform="scale(1.061123,0.94239781)" + font-size="42.44491959px" + font-style="normal" + y="792.91864" + x="85.25296" + font-family="Sans" + line-height="125%" + fill="#000000"><tspan + id="tspan9067" + font-size="16.97796822px" + y="792.91864" + x="85.25296">ParDo1</tspan></text> + <text + id="text9069" + style="letter-spacing:0px;word-spacing:0px;" + font-weight="normal" + xml:space="preserve" + transform="scale(1.061123,0.94239781)" + font-size="42.44491959px" + font-style="normal" + y="953.38422" + x="85.319267" + font-family="Sans" + line-height="125%" + fill="#000000"><tspan + id="tspan9071" + font-size="16.97796822px" + y="953.38422" + x="85.319267">ParDo2</tspan></text> + <text + id="text3153" + font-size="21.22245979px" + font-family="Sans" + transform="scale(1.061123,0.94239781)" + style="letter-spacing:0px;word-spacing:0px;" + line-height="125%" + xml:space="preserve" + y="686.90991" + x="151.91734" + font-weight="normal" + font-style="normal" + fill="#000000"><tspan + id="tspan3155" + y="686.90991" + x="151.91734" + font-size="16.97796822px">Input collection to ParDo1:</tspan></text> + <text + id="text3153-3" + font-size="21.22245979px" + font-family="Sans" + transform="scale(1.061123,0.94239781)" + style="letter-spacing:0px;word-spacing:0px;" + line-height="125%" + xml:space="preserve" + y="848.19299" + x="150.28938" + font-weight="normal" + font-style="normal" + fill="#000000"><tspan + id="tspan3155-1" + y="848.19299" + x="150.28938" + font-size="16.97796822px">Input collection to ParDo2:</tspan></text> </g> - <g id="g3135-4" transform="translate(9.24386,-56.808306)"> - <rect id="rect2987-3" ry="11.782" height="34.286" width="197.14" y="876.55" x="26.429" fill="#ff7f2a"/> - <text id="text2991-0" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" font-size="40px" font-style="normal" y="901.14917" x="88.930664" font-family="Sans" xml:space="preserve" fill="#000000"><tspan id="tspan2993-7" font-size="20px" y="901.14917" x="88.930664">ParDo2</tspan></text> - </g> - <g id="g4003" transform="translate(1.5014038e-5,0)"> - <rect id="rect3025-8" height="36.429" width="237.14" y="758.7" x="15.672" fill="#afc6e9"/> - <rect id="rect3161-9" height="51.429" width="5" y="751.2" x="155.82" fill="#1c2422"/> - <text id="text3163-2" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" font-size="20px" line-height="125%" xml:space="preserve" font-style="normal" y="784.36713" x="41.8153" font-family="Sans" fill="#000000"><tspan id="tspan3165-6" y="784.36713" x="41.8153">Bundle 3</tspan></text> - <text id="text3163-1-6" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" font-size="20px" line-height="125%" xml:space="preserve" font-style="normal" y="784.36713" x="160.82756" font-family="Sans" fill="#000000"><tspan id="tspan3165-8-4" y="784.36713" x="160.82756">Bundle 4</tspan></text> - </g> - </g> + <text + id="text3163-19-6" + style="letter-spacing:0px;word-spacing:0px;" + font-family="Sans" + xml:space="preserve" + font-size="20px" + line-height="125%" + font-style="normal" + y="243.86116" + x="168.85825" + font-weight="normal" + fill="#000000"><tspan + id="tspan3165-4-3" + y="243.86116" + x="168.85825" + font-size="14px">Bundle C</tspan></text> + <text + id="text3163-19-2" + style="letter-spacing:0px;word-spacing:0px;" + font-family="Sans" + xml:space="preserve" + font-size="20px" + line-height="125%" + font-style="normal" + y="244.16243" + x="286.22314" + font-weight="normal" + fill="#000000"><tspan + id="tspan3165-4-0" + y="244.16243" + x="286.22314" + font-size="14px">Bundle D</tspan></text> + <path + id="path8330" + stroke-linejoin="miter" + style="marker-end:url(#marker4605)" + d="m106.48,15.5,0,117.4" + stroke="#000" + stroke-linecap="butt" + stroke-width="1px" + fill="none" /> + <path + id="path8330-5" + stroke-linejoin="miter" + style="marker-end:url(#marker4605)" + d="m105.72,167.38,0,117.4" + stroke="#000" + stroke-linecap="butt" + stroke-width="1px" + fill="none" /> + <path + id="path8522" + stroke-linejoin="miter" + style="marker-end:url(#marker4605)" + d="m105.54,318.99-0.71152,61.191" + stroke="#000" + stroke-linecap="butt" + stroke-width="1px" + fill="none" /> </svg> diff --git a/src/images/execution_model_bundling_multi_gantt.svg b/src/images/execution_model_bundling_multi_gantt.svg index 689fcbc..547a6d4 100644 --- a/src/images/execution_model_bundling_multi_gantt.svg +++ b/src/images/execution_model_bundling_multi_gantt.svg @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="303.81" width="589.09" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="222.47" width="640.8" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -10,25 +10,43 @@ </cc:Work> </rdf:RDF> </metadata> - <g id="layer1" transform="translate(20.046875,-752.34875)"> - <path id="path3207" stroke-linejoin="miter" d="m50,805.93,0,196.43h436.43" stroke="#000" stroke-linecap="butt" stroke-width="1px" fill="none"/> - <text id="text3209" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="779.505" x="20" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3211" y="779.505" x="20">Worker</tspan><tspan id="tspan3219" y="799.505" x="20">Thread</tspan></text> - <text id="text3213" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="1020.9336" x="445" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3215" y="1020.9336" x="445">Processing</tspan><tspan id="tspan3217" y="1040.9336" x="445">Time</tspan></text> - <g id="g3140-54" transform="matrix(2.3376624,0,0,1.2745098,24.367395,-85.011242)"> - <rect id="rect3025-7-1-9-8-74" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> - </g> - <flowRoot id="flowRoot4030" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" xml:space="preserve" font-size="20px" transform="translate(20.644914,751.7051)" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion4032"><rect id="rect4034" y="202.14" width="107.14" x="65" height="24.286"/></flowRegion><flowPara id="flowPara4036">ParDo1</flowPara></flowRoot> - <g id="g3140-54-9" transform="matrix(2.3376624,0,0,1.2745098,152.93886,-85.011242)" fill="#AFA"> - <rect id="rect3025-7-1-9-8-74-5" height="36.429" width="55" y="806.93" x="14.143" fill="#AFA"/> - </g> - <flowRoot id="flowRoot4030-0" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" xml:space="preserve" font-size="20px" transform="translate(149.21638,751.7051)" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion4032-4"><rect id="rect4034-8" y="202.14" width="107.14" x="65" height="24.286"/></flowRegion><flowPara id="flowPara4036-7">ParDo2</flowPara></flowRoot> - <g id="g3140-54-1" transform="matrix(3.2727274,0,0,1.2745098,13.571526,-143.43981)"> - <rect id="rect3025-7-1-9-8-74-7" height="36.429" width="55" y="806.93" x="14.143" fill="#afc6e9"/> - </g> - <flowRoot id="flowRoot4030-2" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" xml:space="preserve" font-size="20px" transform="translate(48.787789,693.27658)" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion4032-7"><rect id="rect4034-2" y="202.14" width="107.14" x="65" height="24.286"/></flowRegion><flowPara id="flowPara4036-2">ParDo1</flowPara></flowRoot> - <g id="g3140-54-9-6" transform="matrix(2.5324676,0,0,1.2745098,203.89807,-143.43981)" fill="#AFA"> - <rect id="rect3025-7-1-9-8-74-5-1" height="36.429" width="55" y="806.93" x="14.143" fill="#AFA"/> - </g> - <flowRoot id="flowRoot4030-0-0" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-weight="normal" xml:space="preserve" font-size="20px" transform="translate(208.36595,693.27658)" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion4032-4-6"><rect id="rect4034-8-1" y="202.14" width="107.14" x="65" height="24.286"/></flowRegion><flowPara id="flowPara4036-7-5">ParDo2</flowPara></flowRoot> + <path id="path3207" stroke-linejoin="miter" d="m65.786,41.192,0,154.12h436.54" stroke="#000" stroke-linecap="butt" stroke-width="0.88588864px" fill="none"/> + <g id="g3140-54" transform="matrix(2.7741088,0,0,1.2745098,41.451621,-950.10162)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.26591122" fill="#d8bfd8"> + <rect id="rect3025-7-1-9-8-74" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.26591" fill="#d8bfd8"/> </g> + <g id="g3140-54-9" transform="matrix(1.8497901,0,0,1.2745098,207.10026,-950.10162)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.32563958" fill="#9370db"> + <rect id="rect3025-7-1-9-8-74-5" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.32564" fill="#9370db"/> + </g> + <g id="g3140-54-1" transform="matrix(1.8350217,0,0,1.2745098,54.454778,-891.85754)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.32694733" fill="#add8e6"> + <rect id="rect3025-7-1-9-8-74-7" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.32695" fill="#add8e6"/> + </g> + <g id="g3140-54-9-6" transform="matrix(2.8020374,0,0,1.2745098,141.5615,-891.85754)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="0.26458269" fill="#1e90ff"> + <rect id="rect3025-7-1-9-8-74-5-1" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="0.26458" fill="#1e90ff"/> + </g> + <text id="text7100" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="27.15625" x="67.671875" font-weight="normal" fill="#000000"><tspan id="tspan7104" y="27.15625" x="67.671875" style="text-anchor:middle;text-align:center;" font-size="16px">Worker</tspan></text> + <text id="text6762" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="16px" font-style="normal" y="187.24072" x="553.37195" font-weight="normal" fill="#000000"><tspan id="tspan6764" y="187.24072" x="553.37195" style="text-anchor:middle;text-align:center;">Processing</tspan><tspan id="tspan6766" y="207.24072" x="553.37195" style="text-anchor:middle;text-align:center;">Time</tspan></text> + <g id="g3140-54-1-7" transform="matrix(0.51284591,0,0,0.55742729,407.92987,-421.19411)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="1.03240836" fill="#add8e6"> + <rect id="rect3025-7-1-9-8-74-7-6" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1.0324" fill="#add8e6"/> + </g> + <g id="g3140-54-9-6-5" fill="#1e90ff" stroke="#000" transform="matrix(0.51711225,0,0,0.59618851,408.10523,-396.76975)"> + <rect id="rect3025-7-1-9-8-74-5-1-6" height="36.429" width="55" stroke="#000" y="806.93" x="14.143" fill="#1e90ff"/> + </g> + <g id="g3140-54-9-5" transform="matrix(0.52769358,0,0,0.5768079,408.0176,-352.22682)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="1.00053561" fill="#9370db"> + <rect id="rect3025-7-1-9-8-74-5-2" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1.0005" fill="#9370db"/> + </g> + <path id="path6657-3-5-62-2" stroke-linejoin="miter" d="M57.323,162.92h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62-2-5" stroke-linejoin="miter" d="M58.735,102.91h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <text id="text7065" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="108.07944" x="43.947361" font-weight="normal" fill="#000000"><tspan id="tspan7067" y="108.07944" x="43.947361" font-size="14px">2</tspan></text> + <text id="text7065-4" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="167.8378" x="43.831757" font-weight="normal" fill="#000000"><tspan id="tspan7067-7" y="167.8378" x="43.831757" font-size="14px">1</tspan></text> + <text id="text9219" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="43.542969" x="455.73755" font-weight="normal" fill="#000000"><tspan id="tspan9221" y="43.542969" x="455.73755" font-size="12px">Bundle A (ParDo1 input)</tspan></text> + <text id="text9219-4" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="98.928284" x="455.15936" font-weight="normal" fill="#000000"><tspan id="tspan9221-4" y="98.928284" x="455.15936" font-size="12px">Bundle C (ParDo2 input)</tspan></text> + <text id="text9219-3" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="70.64399" x="455.15939" font-weight="normal" fill="#000000"><tspan id="tspan9221-0" y="70.64399" x="455.15939" font-size="12px">Bundle B (ParDo1 input)</tspan></text> + <text id="text9219-7" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="40px" font-style="normal" y="126.50546" x="455.86649" font-weight="normal" fill="#000000"><tspan id="tspan9221-8" y="126.50546" x="455.86649" font-size="12px">Bundle D (ParDo2 input)</tspan></text> + <g id="g3140-54-9-5-9" transform="matrix(0.52769358,0,0,0.5768079,407.23906,-409.04606)" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-width="1.00053561" fill="#d8bfd8"> + <rect id="rect3025-7-1-9-8-74-5-2-6" stroke-dasharray="none" height="36.429" width="55" stroke="#000" stroke-miterlimit="4" y="806.93" x="14.143" stroke-width="1.0005" fill="#d8bfd8"/> + </g> + <text id="text3163-19" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="165.46114" x="98.791801" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165-4" y="165.46114" x="98.791801" font-size="14px">Bundle A</tspan></text> + <text id="text3163-19-6" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="164.04692" x="224.87898" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165-4-3" y="164.04692" x="224.87898" font-size="14px">Bundle C</tspan></text> + <text id="text3163-1-7" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="107.47837" x="126.0857" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165-8-8" y="107.47837" x="126.0857" font-size="14px">Bundle B</tspan></text> + <text id="text3163-19-2" style="letter-spacing:0px;word-spacing:0px;" line-height="125%" font-family="Sans" xml:space="preserve" font-size="20px" y="106.77127" x="253.40208" font-weight="normal" font-style="normal" fill="#000000"><tspan id="tspan3165-4-0" y="106.77127" x="253.40208" font-size="14px">Bundle D</tspan></text> </svg> diff --git a/src/images/execution_model_failure_retry.svg b/src/images/execution_model_failure_retry.svg index bc4c097..1e8a68c 100644 --- a/src/images/execution_model_failure_retry.svg +++ b/src/images/execution_model_failure_retry.svg @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="303.81" width="589.09" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="248.27" width="601.9" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> @@ -10,27 +10,47 @@ </cc:Work> </rdf:RDF> </metadata> - <g id="layer1" transform="translate(20.046875,-752.34875)"> - <path id="path3207" stroke-linejoin="miter" d="m50,805.93,0,196.43h436.43" stroke="#000" stroke-linecap="butt" stroke-width="1px" fill="none"/> - <text id="text3209" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="779.505" x="20" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3211" y="779.505" x="20">Worker</tspan><tspan id="tspan3219" y="799.505" x="20">Thread</tspan></text> - <text id="text3213" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="1020.9336" x="445" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan3215" y="1020.9336" x="445">Processing</tspan><tspan id="tspan3217" y="1040.9336" x="445">Time</tspan></text> - <rect id="rect3025-7-19-4" height="36.429" width="114.29" y="900.8" x="80.357" fill="#afc6e9"/> - <path id="path3029-9" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(48.453122,912.45817)" fill="#4A0"/> - <path id="path3029-0" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(37.453124,899.60097)" fill="#4A0"/> - <path id="path3029-6" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(70.310271,897.45817)" fill="#ff2a2a"/> - <path id="path3029-06" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(98.167409,905.31527)" fill="#ffe680"/> - <path id="path3029-06-4" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(131.38169,914.95814)" fill="#ffe680"/> - <rect id="rect3025-7-19-4-9" height="36.429" width="114.29" y="850.8" x="57.81" fill="#afc6e9"/> - <path id="path3029-06-65" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(113.52455,899.01729)" fill="#ffe680"/> - <g id="g5265"> - <rect id="rect3025-7-19-4-1" height="36.429" width="114.29" y="850.8" x="215.67" fill="#afc6e9"/> - <path id="path3029-9-5" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(192.33482,862.45818)" fill="#4A0"/> - <path id="path3029-0-97" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(169.90625,858.17241)" fill="#4A0"/> - <path id="path3029-6-7" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(211.62054,853.45818)" fill="#4A0"/> - <path id="path3029-06-6" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(233.47768,855.31528)" fill="#4A0"/> - <path id="path3029-06-6-3" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(261.38169,864.0173)" fill="#4A0"/> - <flowRoot id="flowRoot5183" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" transform="translate(47.200894,756.81605)" line-height="125%" font-size="20px" font-style="normal" font-family="Sans" fill="#000000"><flowRegion id="flowRegion5185"><rect id="rect5187" y="94.526" x="192.86" width="125.71" height="30.714"/></flowRegion><flowPara id="flowPara5189" font-size="24px">Retry</flowPara></flowRoot> - <path id="path3029-9-5-3" d="m57.857,14.286c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" transform="translate(183.52455,849.0173)" fill="#4A0"/> - </g> - </g> + <path id="path3207-9" stroke-linejoin="miter" d="m65.98,68.662,0,151.23h360.38" stroke="#000" stroke-linecap="butt" stroke-width="0.79734099px" fill="none"/> + <text id="text7100" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="56.552471" x="67.671875" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan7104" style="text-anchor:middle;text-align:center;" font-size="16px" y="56.552471" x="67.671875">Worker</tspan></text> + <text id="text6762" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="16px" font-style="normal" y="213.0417" x="478.54456" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan6764" style="text-anchor:middle;text-align:center;" y="213.0417" x="478.54456">Processing</tspan><tspan id="tspan6766" style="text-anchor:middle;text-align:center;" y="233.0417" x="478.54456">Time</tspan></text> + <text id="text9219" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="32.49892" x="378.46069" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan9221" font-size="12px" y="32.49892" x="378.46069">Bundle A</tspan></text> + <rect id="rect3025-7-19-4-92" height="22.065" width="27.454" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="41.803" x="340.93" stroke-width="0.5" fill="#add8e6"/> + <text id="text9219-0" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="56.003277" x="378.46069" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan9221-6" font-size="12px" y="56.003277" x="378.46069">Bundle B</tspan></text> + <text id="text7065" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="140.70111" x="44.729984" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan7067" font-size="14px" y="140.70111" x="44.729984">2</tspan></text> + <text id="text7065-4" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="193.45233" x="45.071857" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan7067-7" font-size="14px" y="193.45233" x="45.071857">1</tspan></text> + <path id="path6657-3-5-62-2-5" stroke-linejoin="miter" d="m59.774,134.81h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <path id="path6657-3-5-62-2-5-1" stroke-linejoin="miter" d="m60.427,187.7h11.088" stroke="#000" stroke-linecap="butt" stroke-width="1.09913433px" fill="none"/> + <text id="text9219-0-2" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="83.930176" x="378.79578" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan9221-6-7" font-size="12px" y="83.930176" x="378.79578">Element processing successful</tspan></text> + <text id="text9219-0-2-1" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="104.47797" x="378.26312" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan9221-6-7-0" font-size="12px" y="104.47797" x="378.26312">Element awaiting processing</tspan></text> + <text id="text9219-0-2-6" style="letter-spacing:0px;word-spacing:0px;" font-weight="normal" xml:space="preserve" font-size="40px" font-style="normal" y="124.71785" x="378.26312" font-family="Sans" line-height="125%" fill="#000000"><tspan id="tspan9221-6-7-1" font-size="12px" y="124.71785" x="378.26312">Element processing failed</tspan></text> + <path id="path3029-9-9-5" d="m359.12,79.622c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-06-64-9" d="m358.47,99.862c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#FF0"/> + <rect id="rect3025-7-19-4-92-2" height="22.065" width="27.454" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="15.25" x="340.8" stroke-width="0.5" fill="#d8bfd8"/> + <rect id="rect3025-0" height="36.608" width="27.716" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="82.188" stroke-width="0.88569" fill="#d8bfd8"/> + <rect id="rect3025-0-0" height="36.608" width="27.716" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="137.94" stroke-width="0.88569" fill="#d8bfd8"/> + <rect id="rect3025-0-4" height="36.608" width="27.716" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="110.06" stroke-width="0.88569" fill="#d8bfd8"/> + <rect id="rect3025-0-44" height="36.608" width="27.716" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="193.69" stroke-width="0.88569" fill="#d8bfd8"/> + <rect id="rect3025-0-47" height="36.608" width="27.716" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="165.82" stroke-width="0.88569" fill="#d8bfd8"/> + <rect id="rect3025-0-47-6" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="232.45" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-3" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="286.21" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-1" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="259.04" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-7" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="168.59" x="313.86" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-6-1" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="117.01" x="100.23" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-3-7" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="117.01" x="154" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-1-8" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="117.01" x="126.83" stroke-width="0.8837" fill="#add8e6"/> + <rect id="rect3025-0-47-7-5" height="36.612" width="27.589" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" y="117.01" x="181.65" stroke-width="0.8837" fill="#add8e6"/> + <path id="path3029-06-64-9-3" d="m198.85,135.97c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#FF0"/> + <path id="path3029-9-9-5-8" d="m117.89,135.97c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-6" d="m144.01,135.97c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-0" d="m99.609,187.55c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-4" d="m156.41,186.9c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-88" d="m127.68,186.9c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-89" d="m183.83,187.55c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-7" d="m211.91,187.55c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-76" d="m249.12,187.55c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-43" d="m276.54,187.55c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-03" d="m305.27,186.9c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <path id="path3029-9-9-5-09" d="m332.04,186.9c0,2.3669-1.9188,4.2857-4.2857,4.2857s-4.2857-1.9188-4.2857-4.2857c0.001-2.367,1.919-4.286,4.286-4.286,2.3669,0,4.2857,1.9188,4.2857,4.2857z" stroke="#000" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.5" fill="#32cd32"/> + <text id="text18024-8" style="letter-spacing:0px;word-spacing:0px;" font-family="Sans" font-weight="normal" xml:space="preserve" stroke-dasharray="none" transform="scale(0.97018693,1.0307292)" stroke="#000000" stroke-miterlimit="4" font-size="36.6902771px" font-style="normal" y="121.74629" x="359.76794" stroke-width="0.18345138" line-height="125%" fill="#000000"><tspan id="tspan18026-9" stroke-width="0.18345138" stroke-dasharray="none" font-size="14.67611027px" stroke="#000000" stroke-m [...] + <text id="text18024-8-8" style="letter-spacing:0px;word-spacing:0px;" font-family="Sans" font-weight="normal" xml:space="preserve" stroke-dasharray="none" transform="scale(0.97018693,1.0307292)" stroke="#000000" stroke-miterlimit="4" font-size="36.6902771px" font-style="normal" y="137.26543" x="166.62782" stroke-width="0.18345138" line-height="125%" fill="#000000"><tspan id="tspan18026-9-0" stroke-width="0.18345138" stroke-dasharray="none" font-size="14.67611027px" stroke="#000000" stro [...] </svg> -- To stop receiving notification emails like this one, please contact "commits@beam.apache.org" <commits@beam.apache.org>.