|
|
TeeTime provides the ability to divide a configuration in parts which then run concurrently.
|
|
|
## Exploit Parallelism
|
|
|
|
|
|
Usw. |
|
|
\ No newline at end of file |
|
|
TeeTime's ability to execute multiple stages simultaneously is its biggest feature and is - by a high chance - the reason you are using it.
|
|
|
To uncover the potential of a parallel pipe and filter architecture, let's stray from this domain a little bit.
|
|
|
|
|
|
### Why?
|
|
|
|
|
|
The idea of separating individual steps of a certain process to increase efficiency and throughput is followed by many domains.
|
|
|
For instance, Henry Ford introduced the assembly line into the car manufacturing industry in 1913.<sup>[1](http://www.history.com/this-day-in-history/fords-assembly-line-starts-rolling)</sup>
|
|
|
The whole assembly process of the Tin Lizzy was separated into 84 discrete steps (filter), which were executed simultaneously.
|
|
|
Every car passed one step after another in a certain sequence (pipe connections).
|
|
|
With this approach, Henry Ford was able to increase the throughput significantly and satisfy the demand on cars.
|
|
|
|
|
|
So, why not use this approach for high-throughput software scenarios?
|
|
|
|
|
|
### How?
|
|
|
|
|
|
Let's suppose you want to implement a program which creates "Tin Lizzy instances".
|
|
|
After the [first tutorial](Implement-your-own-PF-flavoured-architecture) you already know how to separate the program into discrete steps.
|
|
|
Now, your main focus is on high throughput, however, your configurations could only run in one thread until now.
|
|
|
As a result, only one stage is executed at any given time. |