Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Issue 2904183002: Structure of BBR's implementation,some main classes and functions which are going to be used (Closed)

Created:
3 years, 7 months ago by gnish1
Modified:
3 years, 6 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhuangzesen_agora.io, stefan-webrtc, mflodman
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

This is an initial cl, which contains small amount of implemented functions, and large amount of unimplemented ones. Code should implement BBR which is the congestion controlling algorithm. BBR tries to estimate two values bottle-neck bandwidth(bw) and round trip time(rtt),then use these two values to set two control parameters pacing rate(pacing_rate),the rate at which data should be sent and congestion window size (cwnd), cwnd is the upper bound for data in flight,data_in_flight <= cwnd at all time. BBR has four modes: 1)Startup-ramping up throughput discovering estimated bw. 2)Drain-after Startup decrease throughput to drain queues. 3)Probe Bandwidth-most of the time BBR should be in this mode, sending data at the rate of estimated bw, while sometimes trying to discover new bandwidth. 4)Probe Rtt-in this mode BBR tries to discover new rtt for the connection. The key moment in BBR is when we receive feedback from the receiver,as this is the only moment which should effect our two estimators. At this moment all the switches between modes should happen, except switch to ProbeRtt mode (switching to ProbeRtt mode should happen when current min_rtt value expires). This cl serves to emphasize the structure of Bbr, when switches happen and what key classes/functions should be implemented for proper functionality. BUG=webrtc:7713 NOTRY=True Review-Url: https://codereview.webrtc.org/2904183002 Cr-Commit-Position: refs/heads/master@{#18444} Committed: https://chromium.googlesource.com/external/webrtc/+/6dcdf10c76d68459758a6503d9874d76ed1473e5

Patch Set 1 #

Total comments: 24

Patch Set 2 : nothing #

Patch Set 3 : nothing #

Total comments: 1

Patch Set 4 : Moved include on top #

Total comments: 60

Patch Set 5 : Updated code according to reviews. #

Patch Set 6 : This is a very basic representation of what BBR implementation should look like and what classes it… #

Total comments: 10

Patch Set 7 : some minor stylistic fixes. #

Total comments: 10

Patch Set 8 : minor changes #

Patch Set 9 : Added header files to build file #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -4 lines) Patch
M webrtc/modules/BUILD.gn View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc View 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe.h View 1 chunk +3 lines, -2 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe.cc View 1 2 3 4 5 3 chunks +5 lines, -0 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc View 1 1 chunk +8 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h View 1 2 3 4 5 6 1 chunk +87 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc View 1 2 3 4 5 1 chunk +79 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h View 1 2 3 4 5 6 7 1 chunk +51 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h View 1 2 3 4 5 6 7 1 chunk +49 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h View 1 2 3 4 5 6 7 1 chunk +44 lines, -0 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/packet.h View 1 2 3 4 2 chunks +19 lines, -0 lines 0 comments Download

Messages

Total messages: 46 (25 generated)
gnish2
3 years, 7 months ago (2017-05-26 13:34:24 UTC) #2
gnish2
3 years, 6 months ago (2017-05-29 08:43:46 UTC) #3
gnish2
3 years, 6 months ago (2017-05-29 08:45:01 UTC) #5
philipel
Some initial comments. Please update the description of the bug, both the subject and what ...
3 years, 6 months ago (2017-05-29 09:38:51 UTC) #6
gnish2
https://codereview.webrtc.org/2904183002/diff/1/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc File webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc (right): https://codereview.webrtc.org/2904183002/diff/1/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc#newcode159 webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc:159: const std::vector<std::pair<uint64_t, int64_t> >& packet_feedback_vector) On 2017/05/29 09:38:49, philipel ...
3 years, 6 months ago (2017-05-29 11:04:27 UTC) #8
philipel
Please update the description https://codereview.webrtc.org/2904183002/diff/40001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc File webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc (right): https://codereview.webrtc.org/2904183002/diff/40001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc#newcode17 webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc:17: #include "webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h" This should be ...
3 years, 6 months ago (2017-05-29 11:48:21 UTC) #9
philipel
Starting to look good :) I still think you need to update the description (and ...
3 years, 6 months ago (2017-05-30 09:43:39 UTC) #14
stefan-webrtc
https://codereview.webrtc.org/2904183002/diff/60001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc File webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc (right): https://codereview.webrtc.org/2904183002/diff/60001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc#newcode26 webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc:26: const float kHighGain = 2.885f; Could you point to ...
3 years, 6 months ago (2017-05-30 09:45:14 UTC) #15
gnish2
https://codereview.webrtc.org/2904183002/diff/60001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc File webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc (right): https://codereview.webrtc.org/2904183002/diff/60001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc#newcode26 webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc:26: const float kHighGain = 2.885f; On 2017/05/30 09:45:13, stefan-webrtc ...
3 years, 6 months ago (2017-05-30 15:13:22 UTC) #17
gnish2
3 years, 6 months ago (2017-06-01 13:13:09 UTC) #18
philipel
Just some minor comment https://codereview.webrtc.org/2904183002/diff/100001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h File webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h (right): https://codereview.webrtc.org/2904183002/diff/100001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h#newcode38 webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h:38: // Queue draining phase,which where ...
3 years, 6 months ago (2017-06-01 15:06:53 UTC) #19
gnish2
https://codereview.webrtc.org/2904183002/diff/100001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h File webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h (right): https://codereview.webrtc.org/2904183002/diff/100001/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h#newcode38 webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.h:38: // Queue draining phase,which where created during startup. On ...
3 years, 6 months ago (2017-06-01 15:12:44 UTC) #20
philipel
lgtm
3 years, 6 months ago (2017-06-02 11:53:04 UTC) #21
stefan-webrtc
lgtm with nits fixed. May also want to wait for terelius review. https://codereview.webrtc.org/2904183002/diff/120001/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h File webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h ...
3 years, 6 months ago (2017-06-02 12:08:34 UTC) #26
philipel
One more thing, update the subject of this CL, "Initial CL" is not very descriptive.
3 years, 6 months ago (2017-06-02 12:19:46 UTC) #27
gnish1
https://codereview.webrtc.org/2904183002/diff/120001/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h File webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h (right): https://codereview.webrtc.org/2904183002/diff/120001/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h#newcode32 webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h:32: int64_t data_inflight(); On 2017/06/02 12:08:34, stefan-webrtc wrote: > would ...
3 years, 6 months ago (2017-06-02 12:26:52 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2904183002/140001
3 years, 6 months ago (2017-06-05 12:28:31 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2904183002/140001
3 years, 6 months ago (2017-06-05 12:29:11 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/17802)
3 years, 6 months ago (2017-06-05 12:33:32 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2904183002/160001
3 years, 6 months ago (2017-06-05 12:59:16 UTC) #43
commit-bot: I haz the power
3 years, 6 months ago (2017-06-05 13:01:33 UTC) #46
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/external/webrtc/+/6dcdf10c76d68459758a6503d...

Powered by Google App Engine
This is Rietveld 408576698