Apama 10.15.0 | Developing Apama Applications | Developing Apama Applications in EPL | Implementing Parallel Processing | Samples for implementing contexts | Simple sample implementation of contexts
 
Simple sample implementation of contexts
In your Apama installation directory, in the samples\epl\contexts directory, there are two versions of a simple application. One version implements serial processing and the other implements parallel processing. Open the analyse-parallel.mon and analyse-serial.mon files from the Input directory in Software AG Designer to compare the implementations.
The sample uses the PySys testing framework. To execute the sample, use pysys run. The script runs the serial application and then the parallel version.
On a 2.4GHz Quad core Intel Q6600 machine, the serial implementation completes in about 63 seconds, while the parallel implementation completes in about 17 seconds. For an equivalent dual-core processor, you can expect the parallel implementation to complete in about 30 seconds.
Look at serial-results.evt and parallel-results.evt to compare the results. While the per-symbol output for each implementation is identical, the ordering of sent events for different symbols is different. Also, in the parallel implementation, there is more variation in the time taken to process all events for one symbol. The sample uses eight worker contexts. Each context is doing much the same work, but on different segments of the data. While it is not required, an application that has eight contexts typically working most of the time benefits from running on an 8-core host. You can expect an 8-core processor to run the sample parallel implementation more than seven times faster than it runs the serial implementation.