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

Issue 1151603008: Make the BWE threshold adaptive. (Closed)

Created:
5 years, 6 months ago by stefan-webrtc
Modified:
5 years, 5 months ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, rwolff_gocast.it, yujie_mao (webrtc), Andrew MacDonald, stefan-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Make the BWE threshold adaptive. This improves self-fairness and competing for resources with TCP flows. BUG=4711 Committed: https://crrev.com/c62642c7a662a2a88293b82192e2240049f0cbb9 Cr-Commit-Position: refs/heads/master@{#9545}

Patch Set 1 #

Patch Set 2 : Min threshold changed to 6 to better handle jitter. #

Patch Set 3 : Improve self-fairness. #

Total comments: 14

Patch Set 4 : Comments addressed. #

Patch Set 5 : More cleanup. #

Patch Set 6 : Further cleanup #

Patch Set 7 : Fix unittests. #

Patch Set 8 : Retuned test thresholds. #

Patch Set 9 : Remove platform variations in the over-use detector test. #

Patch Set 10 : Cleanups and parameters tuned. #

Patch Set 11 : Small unittest tweak. #

Patch Set 12 : Experiment simplified - removed Var2 prefix. #

Total comments: 9

Patch Set 13 : Put more of the changes inside experiment. Addressed comments. #

Patch Set 14 : Fix mistake and cleaning. #

Patch Set 15 : Redid the experiment settings initialization slightly and set the default threshold back to 12.5. #

Total comments: 18

Patch Set 16 : pbos comments addressed. #

Patch Set 17 : Fix a mistake and put overusing time threshold change under the experiment as well. #

Total comments: 4

Patch Set 18 : Rebase #

Patch Set 19 : Changed fake finch implementation to allow me to set up experiment tests using different finch striā€¦ #

Patch Set 20 : Tests. #

Total comments: 5

Patch Set 21 : Switched to sscanf #

Patch Set 22 : Removed assert #

Total comments: 1

Patch Set 23 : Cleanup unused stringstream. #

Patch Set 24 : Revert to stringstream #

Patch Set 25 : Revert revert... #

Patch Set 26 : Correct mistake #

Patch Set 27 : Tests fixed after bug fix. #

Total comments: 4

Patch Set 28 : Last comments addressed. #

Patch Set 29 : Fix finch test issue. #

Patch Set 30 : Fix string length issue. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+448 lines, -221 lines) Patch
M webrtc/common_types.h View 1 chunk +2 lines, -2 lines 0 comments Download
M webrtc/modules/pacing/paced_sender.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +5 lines, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/aimd_rate_control.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +2 lines, -2 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 9 chunks +22 lines, -48 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc View 4 chunks +13 lines, -7 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/overuse_detector.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 chunks +11 lines, -5 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/overuse_detector.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 5 chunks +79 lines, -22 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 chunks +180 lines, -48 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/overuse_estimator.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +4 lines, -5 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -8 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +3 lines, -6 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +8 lines, -8 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +3 lines, -2 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc View 2 chunks +15 lines, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe.h View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.h View 1 2 3 4 5 6 7 8 2 chunks +1 line, -20 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -27 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/random.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +40 lines, -0 lines 0 comments Download
A webrtc/modules/remote_bitrate_estimator/test/random.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +41 lines, -0 lines 0 comments Download
M webrtc/test/field_trial.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +4 lines, -3 lines 0 comments Download

Messages

Total messages: 43 (13 generated)
stefan-webrtc
Hi guys, This patch contains the final changes. Please take a look and review the ...
5 years, 6 months ago (2015-06-08 11:19:22 UTC) #2
stefan-webrtc
5 years, 6 months ago (2015-06-09 09:36:27 UTC) #4
stefan-webrtc
Ping, it would be great if you guys could take a first look at this.
5 years, 6 months ago (2015-06-16 21:28:38 UTC) #5
mflodman
Review started, but I don't think I'm the best person to verify the new algorithm.
5 years, 6 months ago (2015-06-22 04:55:23 UTC) #6
Gaetano Carlucci
The main issue we see is that the receiver needs to know the Maximum Bitrate ...
5 years, 6 months ago (2015-06-25 11:58:36 UTC) #7
stefan-webrtc
Comments addressed. https://codereview.webrtc.org/1151603008/diff/40001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc File webrtc/modules/remote_bitrate_estimator/overuse_detector.cc (right): https://codereview.webrtc.org/1151603008/diff/40001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc#newcode47 webrtc/modules/remote_bitrate_estimator/overuse_detector.cc:47: k_down_(0.000175) { On 2015/06/25 11:58:36, gaetano.carlucci wrote: ...
5 years, 6 months ago (2015-06-25 12:37:13 UTC) #8
stefan-webrtc
I think this is now ready for a thorough review which looks at code style ...
5 years, 5 months ago (2015-06-29 15:19:16 UTC) #9
mflodman
A few general questions. https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc File webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc (right): https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc#newcode158 webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc:158: } Why was the kRcAboveMax ...
5 years, 5 months ago (2015-07-03 08:29:56 UTC) #10
Gaetano Carlucci
Some answers to the comments. Gaetano https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc File webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc (right): https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc#newcode158 webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc:158: } On 2015/07/03 ...
5 years, 5 months ago (2015-07-03 10:54:29 UTC) #11
stefan-webrtc
https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc File webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc (right): https://codereview.webrtc.org/1151603008/diff/220001/webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc#newcode158 webrtc/modules/remote_bitrate_estimator/aimd_rate_control.cc:158: } On 2015/07/03 08:29:55, mflodman wrote: > Why was ...
5 years, 5 months ago (2015-07-03 13:45:11 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1151603008/280001
5 years, 5 months ago (2015-07-03 13:45:40 UTC) #14
mflodman
Very quick review and LGTM since I'll go on vacation, but might be good with ...
5 years, 5 months ago (2015-07-03 14:30:16 UTC) #15
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 5 months ago (2015-07-03 16:00:10 UTC) #17
pbos-webrtc
Some initial thoughts on the experiment wireup. I might've missed some parts, so let me ...
5 years, 5 months ago (2015-07-06 10:01:41 UTC) #19
stefan-webrtc
https://codereview.webrtc.org/1151603008/diff/280001/webrtc/common_types.h File webrtc/common_types.h (right): https://codereview.webrtc.org/1151603008/diff/280001/webrtc/common_types.h#newcode754 webrtc/common_types.h:754: struct OverUseDetectorOptions { On 2015/07/06 10:01:40, pbos-webrtc wrote: > ...
5 years, 5 months ago (2015-07-06 10:54:26 UTC) #20
pbos-webrtc
https://codereview.webrtc.org/1151603008/diff/280001/webrtc/modules/remote_bitrate_estimator/overuse_detector.h File webrtc/modules/remote_bitrate_estimator/overuse_detector.h (right): https://codereview.webrtc.org/1151603008/diff/280001/webrtc/modules/remote_bitrate_estimator/overuse_detector.h#newcode44 webrtc/modules/remote_bitrate_estimator/overuse_detector.h:44: virtual void InitializeExperiment(); On 2015/07/06 10:54:26, stefan-webrtc (holmer) wrote: ...
5 years, 5 months ago (2015-07-06 11:13:26 UTC) #21
pbos-webrtc
https://codereview.webrtc.org/1151603008/diff/320001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc File webrtc/modules/remote_bitrate_estimator/overuse_detector.cc (right): https://codereview.webrtc.org/1151603008/diff/320001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc#newcode55 webrtc/modules/remote_bitrate_estimator/overuse_detector.cc:55: InitializeExperiment(); Only call under in_experiment_? https://codereview.webrtc.org/1151603008/diff/320001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc#newcode137 webrtc/modules/remote_bitrate_estimator/overuse_detector.cc:137: void OveruseDetector::InitializeExperiment() ...
5 years, 5 months ago (2015-07-06 11:14:24 UTC) #22
stefan-webrtc
PTAL at the change to field_trial.cc as well. https://codereview.webrtc.org/1151603008/diff/280001/webrtc/modules/remote_bitrate_estimator/overuse_detector.h File webrtc/modules/remote_bitrate_estimator/overuse_detector.h (right): https://codereview.webrtc.org/1151603008/diff/280001/webrtc/modules/remote_bitrate_estimator/overuse_detector.h#newcode44 webrtc/modules/remote_bitrate_estimator/overuse_detector.h:44: virtual ...
5 years, 5 months ago (2015-07-06 12:16:13 UTC) #23
pbos-webrtc
https://codereview.webrtc.org/1151603008/diff/380001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc File webrtc/modules/remote_bitrate_estimator/overuse_detector.cc (right): https://codereview.webrtc.org/1151603008/diff/380001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc#newcode140 webrtc/modules/remote_bitrate_estimator/overuse_detector.cc:140: DCHECK(in_experiment_); If this is now the only place where ...
5 years, 5 months ago (2015-07-06 13:30:17 UTC) #24
stefan-webrtc
Cleanup unused stringstream.
5 years, 5 months ago (2015-07-06 14:09:15 UTC) #25
pbos-webrtc
lgtm https://codereview.webrtc.org/1151603008/diff/500001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc File webrtc/modules/remote_bitrate_estimator/overuse_detector.cc (right): https://codereview.webrtc.org/1151603008/diff/500001/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc#newcode56 webrtc/modules/remote_bitrate_estimator/overuse_detector.cc:56: if (in_experiment_) I meant, do you need it ...
5 years, 5 months ago (2015-07-07 08:21:31 UTC) #26
stefan-webrtc
https://codereview.webrtc.org/1151603008/diff/380001/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc File webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc (right): https://codereview.webrtc.org/1151603008/diff/380001/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc#newcode610 webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc:610: overuse_detector_.reset(new OveruseDetector(options_)); On 2015/07/06 13:30:17, pbos-webrtc wrote: > Don't ...
5 years, 5 months ago (2015-07-07 08:31:33 UTC) #27
stefan-webrtc
Last comments addressed.
5 years, 5 months ago (2015-07-07 08:32:27 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1151603008/520001
5 years, 5 months ago (2015-07-07 08:33:05 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: mac_asan on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_asan/builds/8222) (exceeded global retry quota)
5 years, 5 months ago (2015-07-07 08:51:43 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1151603008/540001
5 years, 5 months ago (2015-07-07 09:01:29 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: win_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_rel/builds/8407) (exceeded global retry quota)
5 years, 5 months ago (2015-07-07 09:21:03 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1151603008/560001
5 years, 5 months ago (2015-07-07 10:38:08 UTC) #41
commit-bot: I haz the power
Committed patchset #30 (id:560001)
5 years, 5 months ago (2015-07-07 11:20:40 UTC) #42
commit-bot: I haz the power
5 years, 5 months ago (2015-07-07 11:20:47 UTC) #43
Message was sent while issue was closed.
Patchset 30 (id:??) landed as
https://crrev.com/c62642c7a662a2a88293b82192e2240049f0cbb9
Cr-Commit-Position: refs/heads/master@{#9545}

Powered by Google App Engine
This is Rietveld 408576698