Hi.
My answers are below.

Cansu

On 09/30/2013 03:15 AM, 张伟 wrote:
Thank you very much for your reply! See below! I also want to ask
another question about cloudstone. I meet the retry connecting problem,
it will automatically connect 10 times, then faban will be killed. ssh
no password, firewall is not the problem. I have no idea about this
question. Does anybody know the solution for this problem? Before I post
this question along with the logs, however, I have not yet received any
reply.

At 2013-09-30 06:41:24,"Cansu Kaynak" <[email protected]> wrote:

    Hi.
    1) Client-side Java process crash:
    Since it seems you have enough memory (8GB) for the client machine,
    you should be able to launch more than 60 clients.
    Please check the error messages printed out by the client when it
    crashes. It might have to do with the ulimits (#processes or #open
    files).
    Where I can check the logs? When it crashes, ssh connection is
    forced to exit. I can not find any error messages printed out by the
    client.

You can redirect the output of the client, so that you can access the output the next time you log in to the machine.


    2) Server still serving requests after the client crashes:
    The server does not check if the corresponding Java client process
    is up and running, while it is streaming a video to the client. The
    server receives a request for a video at the beginning and does not
    receive any feedback from the corresponding client while streaming
    the video. The server just streams the video (sends packets), until
    it reaches the end of the video. That's why you see videos being
    streamed by the server, even after the client crashed. So, you need
    to restart the server before you start a new run, in case the client
    crashes.

    3) AvgDelay:
    Delay (in ms) is the difference between the time a video packet is
    scheduled to be sent and the time it is actually sent.
    Whether my understanding is right? The time a video packet is
    scheduled is the time that finish reading data from disk.
    The time a video packet is actually sent is the time that  nic sent
    out the packets to clients.

No, the server doesn't know anything about the NIC.

    How to get these two times? Obviously, Darwin server provides the
    AvgDelay, only the scheduler can know when a video packet is
    scheduled. I am interested how Darwin knows this information.


Please take a look at the server code, backtracking the line where AvgDelay is printed out, to better understand how scheduling works on the server side.

    If the server is overloaded and doesn't have enough resources (e.g.,
    processing cycles),
    In my tests, server side has very low cpu utilization even I use the
    number of clients 60. So whether it is correct, cpu is less
    probability to become bottleneck compared to network.


In my experience, you need more than 1K clients to fully utilize one core (please see Clearing the Clouds, ASPLOS'12 for the server specification we had). So, 60 clients is too few.

    the delay of each packet will increase, which will eventually cause
    each video being streamed to lag behind on the client side. AvgDelay
    (in ms) is the average delay of the packets that were sent during
    the last statistics collection period (we recommend 1 sec.). Lower
    AvgDelay means better QoS. In our experience, as long as AvgDelay is
    below 100 ms. the client is able to watch video without any major
    interruptions.
    To see a difference in AvgDelay, you need to stress the server by
    increasing the number of clients. While doing so, you should observe
    the server utilization (e.g., check the output of top). The AvgDelay
    will increase after a certain server utilization point.
    The AvgDelay will increase after a certain server utilization point.
    Which resources you mean? cpu?  In my tests, the cpu is very low.
    Usually the cpu utilization should low or high when use media
    streaming benchmark to test darwin server.

Yes, I mean CPU for low core counts. For high core counts, you might run into a bandwidth problem, if you can saturate the server.


    Hope this helps.
    Regards,

    --
    Cansu

    On Sep 27, 2013, at 5:38 AM, 张伟 <[email protected]
    <mailto:[email protected]>> wrote:

    Hi all,

    This  is my first time to use video sever. Now I meet a question I
    can not understand. The problem is when I increase the number of
    clients to above 60. I find that the client side will crash. I
    install the client side in a Virtual machine. The virtual machine
    has 8G memory size, 2vcpus. Java maximum heap size is 7G.  When it
    crashes, the ssh connection will exit. When I relogin, I find that
    all java process-the clients exit.
    ps aux|grep java
    However, the server side still has the requests,
     RTP-Conns RTSP-Conns HTTP-Conns  kBits/Sec   Pkts/Sec
    RTP-Playing   AvgDelay CurMaxDelay  MaxDelay  AvgQuality
    NumThinned Time
              4          4          0       1333
    197             4         -4          7         10
    0          0     2013-09-27 03:09:21
              4          4          0       1197
    177             4         -4         10         10
    0          0     2013-09-27 03:09:22
              4          4          0       1263
    191             4         -4          7         10
    0          0     2013-09-27 03:09:23
              4          4          0       1196
    184             4         -4          9         10
    0          0     2013-09-27 03:09:24
              4          4          0       1112
    174             4         -4          7         10
    0          0     2013-09-27 03:09:25
              4          4          0       1024
    157             4         -5         10         10
    0          0     2013-09-27 03:09:26
              4          4          0       1201
    183             4         -4         10         10
    0          0     2013-09-27 03:09:27
              4          4          0       1662
    252             4         -3          6         10
    0          0     2013-09-27 03:09:28
              4          4          0       1681
    250             4         -3          9         10
    0          0     2013-09-27 03:09:29
              4          4          0       1525
    222             4         -3          7         10
    0          0     2013-09-27 03:09:30
    These values is not 0.
    After the client crash for a long time, the server side still
    receives the requests.
    Can anybody can give some reasons?

    The other question is that usually uses which column as the
    performance is better. I want to know the meaning of AvgDelay.
    However, I do not yet find something about its meaning.
    If I use different number of clients, this value seems no big
    difference.





Reply via email to