hongzimao / pensieve

Neural Adaptive Video Streaming with Pensieve (SIGCOMM '17)
http://web.mit.edu/pensieve/
MIT License
517 stars 280 forks source link

Network traces for training new videos #106

Open bekiroguzhan opened 4 years ago

bekiroguzhan commented 4 years ago

Hi Hongzimao,

I am trying to train Pensieve for another video. However, I am able to get better results than MPC for only 3G network traces. Could you please provide all traces you used for training and testing to produce the results in Pensieve paper? The sample traces you provide look like they are in 3G bandwidth range (0 to 4 mbps). When I train with LTE traces (10-20 Mbps), I am not able to get any better results.

Could you please advise?

hongzimao commented 4 years ago

Thanks for your interest. For LTE traces with 10-20Mbps bandwidth, you might be able to stream the video at highest bitrate all the time without rebuffering. I would check if Pensieve (and other schemes) is doing just that. Then it makes sense that there isn't any better results to get. In this case, you can try scaling down the bandwidth in the trace (make it in the same range of 3G traces), or scaling up the video bitrate (by using a different video, or simply make the video chunk larger if you only run the simulation).

Also, I would check if the LTE traces have similar size (i.e., number of traces) as the 3G traces and if they share the same kind of variations (is the LTE trace all flat in bandwidth, for example). For machine learning algorithms, it can be hard to generalize when the training dataset is small or does not contain diverse samples (making it hard to generalize to testing dataset).

Hope these help!

bekiroguzhan commented 4 years ago

Does the sample traces given in the repository cover all traces you used for training? If not, where can I find the rest?

hongzimao commented 4 years ago

You can try downloading the raw traces from the source: https://github.com/hongzimao/pensieve/blob/master/traces/README.md

bekiroguzhan commented 4 years ago

I checked this repo and the available traces here for 4g/LTE are actually the traces I was talking about. As you said, these are high bandwidth traces and there is no room to adapt since choosing the highest bitrate is possible. My question is in the original paper results, are these traces included. If so, can you please tell me the ratio of these traces. Based on my experiments, I could only generate similar results with the traces you shared as sample traces. Are these sample traces the only ones used in pensieve paper?

hongzimao commented 4 years ago

I think we filtered out the high bandwidth trace from the original source. This is aligned with prior work (e.g., A Control-Theoretic Approach for Dynamic Adaptive Video Streaming over HTTP, SIGCOMM '15). What we did was documented in the our paper section 5.1:

To avoid scenarios where bitrate selection is trivial, i.e., situations where picking the maximum
bitrate is always the optimal solution, or where the network cannot support any available bitrate
for an extended period, we only considered original traces whose average throughput is less than
6 Mbps, and whose minimum throughput is above 0.2 Mbps.

In our paper, the evaluation is over a larger corpus of traces (section 5.1) than the example ones in the repo. Downloading raw traces from the source and applying the selection filter should be able to fully reproduce our results. Thanks!