Hi Neda, There should be one thread per httperf client, and the number of clients is defined in the benchmark.sh script.
I’m not sure what the source of the problem is… my guess is that it has to do with the kernel version, the docker version, or the combination of the two. Do you have the option of upgrading the kernel? Here is the environment I’ve tested and works fine: daglis@n132:~$ uname -a Linux n132 3.19.0-31-generic #36~14.04.1-Ubuntu SMP Thu Oct 8 10:21:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux daglis@n132:~$ docker --version Docker version 1.9.0, build 76d6bc9 One option to take the Docker variable out of the way is to get all sources from the CloudSuite github repo and follow the instructions in the Dockerfile to try out a bare metal setup. This should be pretty straightforward for the media streaming workload. Regards, Alex On Mar 16, 2016, at 3:45 PM, Neda Nasiriani <[email protected]<mailto:[email protected]>> wrote: Hello Alexandros, Thanks for your reply. The version of my kernel is as follows: Linux e9f62e632fd0 3.13.0-77-generic #121-Ubuntu SMP Wed Jan 20 10:50:42 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux The information about CPUs is: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 12 On-line CPU(s) list: 0-11 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 63 Stepping: 2 CPU MHz: 2397.332 BogoMIPS: 4794.66 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 15360K NUMA node0 CPU(s): 0-11 I reduced number of clients to 1 but the problem persists. Is there any other cconfiguration for specifying the number of working threads of httperf (by some other config file)? Thanks a lot for your help Best Regards, Neda Nasiriani On Wed, Mar 16, 2016 at 6:40 AM, Alexandros Daglis <[email protected]<mailto:[email protected]>> wrote: Dear Neda, Thanks for using CloudSuite. I have not seen this problem before, and unfortunately haven’t managed to reproduce it either. We’ll need to investigate this further to identify the root cause. First off, it seems that the client’s thread affinity handling fails. According to the linux man page, the error you get means: "(sched_getaffinity() and, in kernels before 2.6.9, sched_setaffinity()) cpusetsize is smaller than the size of the affinity mask used by the kernel." What’s the number of cores and the kernel version that are you using on your host? Assuming that you have a recent enough kernel, I’d suggest you try reducing the number of client threads. In the benchmark.sh script, replace num_clients_per_machine=4 with num_clients_per_machine=1 and see if the problem persists. Finally, if everything works fine and you still get the "Maximum limit for number of sessions too low” at the end, you just need to increase the max_num_sessions parameter (also in the benchmark.sh script). Regards, Alex On Mar 15, 2016, at 8:08 PM, Neda Nasiriani <[email protected]<mailto:[email protected]>> wrote: Hello all, I am using docker images provided and follow the steps as below to run a test: ***************To pull dataset********************** -sudo docker pull cloudsuite/media-streaming:dataset -sudo docker run -d --name streaming_dataset cloudsuite/media-streaming:dataset ***************create network b/w client and server********************** -sudo docker network create streaming_network ***************To run the server********************** -sudo docker pull cloudsuite/media-streaming:server -sudo docker run -it --name=streaming_server --volumes-from streaming_dataset --net streaming_network cloudsuite/media-streaming:server ***************To run the client********************** -sudo docker pull cloudsuite/media-streaming:client -sudo docker run -it --name=streaming_client --volumes-from streaming_dataset --net streaming_network cloudsuite/media-streaming:client But when I run the ./benchmark.sh get the following log with errors: Total clients = 4 Minimum number of sessions = 25 Maximum number of sessions = 500 Launching 4 clients on localhost Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result1.log --num-sessions=25 --rate=2 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result2.log --num-sessions=25 --rate=2 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result3.log --num-sessions=25 --rate=2 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result4.log --num-sessions=25 --rate=2 sizeof(fd_set) = 128 sizeof(fd_set) = 128 sizeof(fd_set) = 128 sizeof(fd_set) = 128 httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=2 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=2 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 Run on hostname: e9f62e632fd0 Run at: Tue Mar 15 18:47:09 2016 Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=2 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=2 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 Run on hostname: e9f62e632fd0 Run at: Tue Mar 15 18:47:09 2016 Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) grep: ./output/*: No such file or directory grep: ./output/*: No such file or directory peak_hunter/launch_hunt_bin.sh: line 56: 0*100/0: division by 0 (error token is "0") Benchmark succeeded for 25 sessions Launching 4 clients on localhost Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result1.log --num-sessions=500 --rate=50 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result2.log --num-sessions=500 --rate=50 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result3.log --num-sessions=500 --rate=50 Running command /videoperf/httperf --hog --server streaming_server --videosesslo g=[../logs/cl-240p-10-10000-10-5-00.log,../logs/cl-360p-10-4000-10-5-00.log,../l ogs/cl-480p-10-1600-10-5-00.log,../logs/cl-720p-10-800-10-5-00.log],[0.1,0.3,0.4 ,0.2],[localhost,localhost,localhost,localhost] --epoll --recv-buffer=524288 --p ort 80 --output-log=output/result4.log --num-sessions=500 --rate=50 sizeof(fd_set) = 128 sizeof(fd_set) = 128 sizeof(fd_set) = 128 sizeof(fd_set) = 128 httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=50 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=50 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=50 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf --hog --client=0/1 --server=streaming_server --port=80 --uri=/ --rate=50 --send-buffer=4096 --recv-buffer=524288 --epoll --call-stats-file= Run on hostname: e9f62e632fd0 Run at: Tue Mar 15 18:47:09 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) grep: ./output/*: No such file or directory grep: ./output/*: No such file or directory peak_hunter/launch_hunt_bin.sh: line 56: 0*100/0: division by 0 (error token is "0") Benchmark succeeded for 500 sessions Maximum limit for number of sessions too low. can someone please let me know what is the problem? Thanks and really appreciate it... Best Regards, Neda Nasiriani
