[ 
https://issues.apache.org/jira/browse/S4-95?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459711#comment-13459711
 ] 

Matthieu Morel commented on S4-95:
----------------------------------

I slightly updated the benchmarking framework, and added several optimizations. 
They are included in this branch so that current performance work is 
centralized here.

Current optimizations are mainly focusing on messaging:
- serialization of messages now uses kryo 2 and in particular avoids previously 
identified deserialization bottleneck
- serialized messages are passed around as byte buffers in order to limit 
copies (and there is room for more improvements here)
- intermediate EventMessage instances have been removed

My throughput measurements (messages/s), reproducible using the benchmarking 
framework, show improvements of up to 300% wrt the previous commit.
                
> Add reproducible performance benchmarks
> ---------------------------------------
>
>                 Key: S4-95
>                 URL: https://issues.apache.org/jira/browse/S4-95
>             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: http://www.atlassian.com/software/jira

Reply via email to