vald icon indicating copy to clipboard operation
vald copied to clipboard

[Experimental] [WIP] add QUIC support and use netpoll for more efficient network handling

Open kpango opened this issue 3 years ago • 5 comments

Signed-off-by: kpango [email protected]

Description:

Vald has been working on minimizing the overhead of the network by enhancing the libraries around each network, including gRPC. Recently, the final specification of QUIC has been fixed, and Vald would like to verify the approach of gRPC over QUIC, since it will be in practical use soon. This PR contains the code to verify gRPC over QUIC using quic-go from netpoll and other Network I/O blocking solutions.

Related Issue:

How Has This Been Tested?:

Environment:

  • Go Version: 1.16.6
  • Docker Version: 19.03.8
  • Kubernetes Version: 1.18.2
  • NGT Version: 1.12.3

Types of changes:

  • [ ] Bug fix [type/bug]
  • [ ] New feature [type/feature]
  • [ ] Add tests [type/test]
  • [ ] Security related changes [type/security]
  • [ ] Add documents [type/documentation]
  • [ ] Refactoring [type/refactoring]
  • [ ] Update dependencies [type/dependency]
  • [ ] Update benchmarks and performances [type/bench]
  • [ ] Update CI [type/ci]

Changes to Core Features:

  • [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
  • [ ] Have you written new tests for your core changes, as applicable?
  • [ ] Have you successfully ran tests with your changes locally?

Checklist:

  • [ ] I have read the CONTRIBUTING document.
  • [ ] I have checked open Pull Requests for the similar feature or fixes?
  • [ ] I have added tests and benchmarks to cover my changes.
  • [ ] I have ensured all new and existing tests passed.
  • [ ] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have updated the documentation accordingly.

kpango avatar Jul 27 '21 11:07 kpango

[CHATOPS:HELP] ChatOps commands.

  • :ok_woman: /approve - approve
  • :love_letter: /changelog - replace the PR body by changelog details
  • :bento: /format - format codes and add licenses
  • :white_check_mark: /gen-test - generate test codes
  • :label: /label - add labels
  • :rewind: /rebase - rebase master
  • :end: :two: :end: /label actions/e2e-deploy - run E2E deploy & integration test

vdaas-ci avatar Jul 27 '21 11:07 vdaas-ci

Codecov Report

Merging #1357 (54ea37b) into master (d55e2db) will increase coverage by 17.45%. The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1357       +/-   ##
===========================================
+ Coverage   30.80%   48.25%   +17.45%     
===========================================
  Files         372      214      -158     
  Lines       32395    10759    -21636     
===========================================
- Hits         9980     5192     -4788     
+ Misses      22042     5384    -16658     
+ Partials      373      183      -190     
Impacted Files Coverage Δ
...nt/core/ngt/service/vqueue/uninserted_index_map.go 70.49% <0.00%> (-2.74%) :arrow_down:
internal/errgroup/group.go 93.00% <0.00%> (-1.00%) :arrow_down:
internal/worker/worker.go 83.59% <0.00%> (ø)
internal/config/grpc.go
internal/config/net.go
internal/net/dialer.go
internal/net/grpc/option.go
internal/net/net.go
internal/servers/server/server.go
internal/servers/servers.go
... and 153 more

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 d55e2db...54ea37b. Read the comment docs.

codecov[bot] avatar Jul 27 '21 11:07 codecov[bot]

[WARNING:INTCFG] Changes in interal/config may require you to change Helm charts. Please check.

vdaas-ci avatar Jul 28 '21 07:07 vdaas-ci

[FOSSA] The scan result will be available at https://app.fossa.com/projects/custom%2B21465%2Fvald/refs/branch/feature%2Finternal-net%2Fsupport-quic/bc6705577d6c36af4bb29437a1409edf00d28f63

github-actions[bot] avatar Aug 31 '21 11:08 github-actions[bot]

Profile Report

typevald-agent-ngtvald-lb-gatewayvald-discoverervald-manager-index
cpu
heap
other images

vdaas-ci avatar Aug 31 '21 11:08 vdaas-ci