Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support EPoll/KQueue #1064

Merged
merged 2 commits into from Dec 27, 2017
Merged

Support EPoll/KQueue #1064

merged 2 commits into from Dec 27, 2017

Conversation

no2chem
Copy link
Member

@no2chem no2chem commented Dec 12, 2017

Overview

Description: This PR builds on top of #1061 to support Epoll/Kqueue server channel types.

Why should this be merged: This relatively simple addition on top of #1061 allows the use of native Netty transports, which should be more performant than the default NIO channel type. In addition, this change paves the way to use the built-in Local channel type, which will allow us to use Netty for all tests.

Checklist (Definition of Done):

  • There are no TODOs left in the code
  • Coding conventions (e.g. for logging, unit tests) have been followed
  • Change is covered by automated tests
  • Public API has Javadoc

@no2chem no2chem added this to the 0.2.0 milestone Dec 12, 2017
@coveralls
Copy link

Coverage Status

Changes Unknown when pulling c42bc87 on EPoll into ** on master**.

@codecov
Copy link

codecov bot commented Dec 12, 2017

Codecov Report

❗ No coverage uploaded for pull request base (master@5b4ffd0). Click here to learn what that means.
The diff coverage is 31.57%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #1064   +/-   ##
=========================================
  Coverage          ?   66.85%           
=========================================
  Files             ?      225           
  Lines             ?    10259           
  Branches          ?     1019           
=========================================
  Hits              ?     6859           
  Misses            ?     3007           
  Partials          ?      393
Impacted Files Coverage Δ
...n/java/org/corfudb/infrastructure/CorfuServer.java 39.7% <31.57%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5b4ffd0...5a55bab. Read the comment docs.

@corfudb-performance
Copy link
Collaborator

Results automatically generated by CorfuDB Benchmark Framework to assess the performance of this pull request for commit 1848e77.

*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 10 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 10 threads, Disk mode

An interactive dashboard with Pull Request Performance Metrics for ALL cluster types and numbers of threads in run, is available at:
Pull Request #1064 Graphs

@@ -144,7 +144,7 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId> <!-- Use 'netty-all' for 4.0 or above -->
<version>4.1.10.Final</version>
<version>4.1.18.Final</version>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope this is ok. It is a z change so should be fine but I am not sure.

@no2chem
Copy link
Member Author

no2chem commented Dec 21, 2017

@medhavidhawan should we change the default to NIO? Or should we keep it auto?

@medhavidhawan
Copy link
Collaborator

I think we should keep the default to NIO. We can then test auto separately.

@corfudb-performance
Copy link
Collaborator

Results automatically generated by CorfuDB Benchmark Framework to assess the performance of this pull request for commit 328d59c.

*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 10 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 10 threads, Disk mode

An interactive dashboard with Pull Request Performance Metrics for ALL cluster types and numbers of threads in run, is available at:
Pull Request #1064 Graphs

@no2chem no2chem merged commit 2433536 into master Dec 27, 2017
@no2chem no2chem deleted the EPoll branch December 27, 2017 10:10
@corfudb-performance
Copy link
Collaborator

Results automatically generated by CorfuDB Benchmark Framework to assess the performance of this pull request for commit 5a55bab.

*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx+Scan workload, 10 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 1 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 5 threads, Disk mode
*** 0.0% transaction FAILURE rate for NonConflictingTx workload, 10 threads, Disk mode

An interactive dashboard with Pull Request Performance Metrics for ALL cluster types and numbers of threads in run, is available at:
Pull Request #1064 Graphs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants