hongzimao / pensieve

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

Confusion about the Mahimahi traces #124

Open Hgit007 opened 3 years ago

Hgit007 commented 3 years ago

Hi, hongzi,

As the Readme stated, the trace format should be [time_stamp (sec), throughput (Mbit/sec)]. But, 1) I cannot well understand why there is only one entry in every line (cooked_traces). It seems the throughput for one round-trip is 1500-byte packet. 2) why the traces for train and test have two entries for every line?

I would like to emulate the real-world experiment. Could you please help me clear these question? Thanks in advance.

hongzimao commented 3 years ago

Thanks for your question.

  1. The trace you saw (time & bandwidth) in README is for simulation. The single line trace you found next in cooked_trace is for mahimahi emulator. The format of that trace is kind of like "pacing". It indicates the time interval between sending out next packet, as stated in https://github.com/hongzimao/pensieve/blob/master/traces/README.md:

    Each line gives a timestamp in milliseconds (from the beginning of the
    trace) and represents an opportunity for one 1500-byte packet to be
    drained from the bottleneck queue and cross the link. If more than one
    MTU-sized packet can be transmitted in a particular millisecond, the
    same timestamp is repeated on multiple lines.
  2. The "train" and "test" you mentioned are in simulator, where we use the time&bandwidth format of the trace. The real test, however, is with the Mahimahi emulation and a real video player in https://github.com/hongzimao/pensieve/tree/master/run_exp (see the README there).

Hope these help!

myb513 commented 7 months ago

Hi, hongzi,

Conversely, how do I create a format [time_stamp (sec), throughput (Mbit/sec)] for simulation using the Mahimahi format? Could you please help me clear these question? Thanks in advance.