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

Representation bandwidth based cache Response detection timeout #4546

Open
wants to merge 5 commits into
base: development
Choose a base branch
from

Conversation

piersoh
Copy link
Contributor

@piersoh piersoh commented Aug 13, 2024

This update changes the cached Response detection algorithm in the ThroughputModel so that it adjusts the cacheLoadThresholds according to the ratio of the bandwidth of the representation that has been downloaded to the top representation, as opposed to just using one threshold for all reps which can lead to incorrect cached response detection. This is on the assumption that the cacheLoadThresholds represent the time for a top representation bandwidth segment to be delivered.

  • Added new bandwidth_ratio metric which is a ratio of the current representation's bandwidth to the top representation
  • This bandwidth_ratio is used to adjust the timeout used in the cache detection algorithm so it doesn't incorrectly trigger for lower representations.

piersoh and others added 2 commits August 9, 2024 16:59
- Added new bandwidth_ratio metric which is a ratio of the current
  representation's bandwidth to the top representation
- This bandwidth_ratio is used to adjust the timeout used in the cache
  detection algorithm so it doesn't incorrectly trigger for lower
  representations.
- This is on the assumption that the cacheLoadThresholds represent
  the time for a top representation bandwidth segment to be delivered
@dsilhavy dsilhavy added this to the 5.0.0 milestone Aug 13, 2024
@dsilhavy
Copy link
Collaborator

Thanks @piersoh for the PR. Two immediate comments:

  • Can you please fix the unit tests it looks like some of them are failing
  • We use camel case throughput the project, please rename to _bandwidthRatio

@dsilhavy
Copy link
Collaborator

I merged development into this PR you will need to pull before commiting again. Thanks !

@dsilhavy
Copy link
Collaborator

Thanks for the changes @piersoh . I did some tests with our default Big Buck Bunny content (https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd). In my tests the changes lead to problems with the cache detection as the increase of the cacheReferenceTime seems to be too high:

Bildschirmfoto 2024-08-14 um 08 44 39 Bildschirmfoto 2024-08-14 um 08 44 21

In the example above, the video segments are all served from the cache. However, the new cacheReferenceTime is much higher than our default threshold of 50ms because of the_bandwidthRatio.

How did you verify these changes?

@dsilhavy dsilhavy modified the milestones: 5.0.0, 5.1.0 Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants