incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Morel (JIRA)" <>
Subject [jira] [Commented] (S4-95) Add reproducible performance benchmarks
Date Wed, 14 Nov 2012 18:10:12 GMT


Matthieu Morel commented on S4-95:

I just updated more improvements in commit f9689ea 

In addition to improvements from previous commits, we further and better decoupled the processing
pipeline into asynchronous stages with configurable executors: reception, deserialization,
processing, serialization and event emission.

We can reach 250+ thousands _remote_ events/s per node with a sufficient number of injectors
using not the most recent hardware and OS, and that translates into 1M+ _remote_ events per
seconds with only 4 S4 nodes. 

Since remote events require going through the communication layer and the network, we expect
even higher rates when combining with internal events as in a standard application. (Internal
events are passed by reference).

> Add reproducible performance benchmarks
> ---------------------------------------
>                 Key: S4-95
>                 URL:
>             Project: Apache S4
>          Issue Type: Test
>    Affects Versions: 0.6
>            Reporter: Matthieu Morel
>            Assignee: Matthieu Morel
> In order to track performance improvements, we need some reproducible performance benchmarks.
Here are some ideas of what we'd need:
> - use PEs that do nothing but create a new message and forward. Allows us to focus on
the overhead of the platform 
> - what is the maximum throughput without dropping messages, in a given host (in a setup
with 1 adapter node and 1 or 2 app nodes)
> - what is the latency for end to end processing (avg, median, etc...)
> - using a very simple app, with only 1 PE prototype
> - varying the number of keys
> - using a slightly more complex app (at least 2 communicating prototypes), in order to
take into account inter-PE communications and related optimizations
> - start measurements after a warmup phase
> Some tests could be part of the test suite (by specifying a given option for those performance-related
tests). That would allow some tracking of the performance.
> We could also add a simple injection mechanism that would work out of the box with the
example bundled with new S4 apps (through "s4 newApp" command).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message