The multi-thread Engine uses several threads for the execution of interaction execution. The performance of the execution on multi-core platforms is thus improved by two kind of parallelism:
- Components. Components involved in an interaction can be executed in parallel. Maximal degree of parallelism is obtained when using one thread per component.
- Interactions. Under specific assumptions computed by an oracle, several interactions can also be executed in parallel. The oracle must preserve the semantics of BIP. The degree of parallelism introduced depends on the chosen oracle.
The multi-thread Engine is included in the core BIP distribution for GNU/Linux x86 platforms. You can dowload it here.