Actually, just remove the -DHAVE_SCHED_AFFINITY part, and keep the -DHAVE_EPOLL.
Ivo ________________________________ From: Mihailovic Ivo <[email protected]> Sent: Wednesday, March 30, 2016 2:41 PM To: Neda Nasiriani; kusumakar bodha Cc: [email protected] Subject: Re: Error media-streaming benchmark Hi, This is the code of the getaffinity system call: SYSCALL_DEFINE3(sched_getaffinity, pid_t, pid, unsigned int, len, unsigned long __user *, user_mask_ptr) { int ret; cpumask_var_t mask; if ((len * BITS_PER_BYTE) < nr_cpu_ids) return -EINVAL; if (len & (sizeof(unsigned long)-1)) return -EINVAL; if (!alloc_cpumask_var(&mask, GFP_KERNEL)) return -ENOMEM; ret = sched_getaffinity(pid, mask); if (ret == 0) { size_t retlen = min_t(size_t, len, cpumask_size()); if (copy_to_user(user_mask_ptr, mask, retlen)) ret = -EFAULT; else ret = retlen; } free_cpumask_var(mask); return ret; } Given that videoperf passes sizeof(long) for the len parameter, this is going to fail if you run it on a machine with more than 64 cores (the first if statement in the code). Do you have more than 64 cores on your machine? Anyway, the simplest workaround for the problem is: 1) Get the sources from: https://github.com/ParsaLab/cloudsuite/tree/master/benchmarks/media-streaming 2) Comment out this line in client/files/videoperf/Makefile.in: DEFS += -DHAVE_SCHED_AFFINITY -DHAVE_EPOLL 3) Build the client yourself: docker build --rm -t cloudsuite/media-streaming:client /path/to/client Please let me know if this works for you. Best, Ivo ________________________________ From: Neda Nasiriani <[email protected]> Sent: Wednesday, March 30, 2016 1:40 PM To: kusumakar bodha Cc: [email protected] Subject: Re: Error media-streaming benchmark Hello kusumakar, I have the same problem and it happens on machines with more than 4 cores. If you try it on a machine with 4 or less cores this does not happen. It could be related to the cpu mask which is creating this problem for machines with >4 cores. I hope it get resolved. Please let me know if you have any findings. Thanks On Wednesday, March 30, 2016, kusumakar bodha <[email protected]<mailto:[email protected]>> wrote: Hi all, I'm trying to run the cloudsuite media-streaming benchmark and encountered the following error after I started the client. Total clients = 4 Minimum number of sessions = 25 Maximum number of sessions = 500 Launching 4 clients on localhost Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result1.log --num-sessions=25 --rate=2 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result2.log --num-sessions=25 --rate=2 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result3.log --num-sessions=25 --rate=2 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 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: f2ef7e2c3e74 Run on hostname: f2ef7e2c3e74 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: f2ef7e2c3e74 Run at: Wed Mar 30 05:02:02 2016 Run on hostname: f2ef7e2c3e74 Run at: Wed Mar 30 05:02:02 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) Run at: Wed Mar 30 05:02:02 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) Run at: Wed Mar 30 05:02:02 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 25 sessions Launching 4 clients on localhost Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result1.log --num-sessions=500 --rate=50 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result2.log --num-sessions=500 --rate=50 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result3.log --num-sessions=500 --rate=50 Running command httperf --hog --server streaming_server --videosesslog=[/videos/logs/cl-240p-10-10000-10-5-00.log,/videos/logs/cl-360p-10-4000-10-5-00.log,/videos/logs/cl-480p-10-1600-10-5-00.log,/videos/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 --port 80 --output-log=/output/result4.log --num-sessions=500 --rate=50 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: f2ef7e2c3e74 sizeof(fd_set) = 128 Run at: Wed Mar 30 05:02:02 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: f2ef7e2c3e74 Run at: Wed Mar 30 05:02:02 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) 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: f2ef7e2c3e74 Run at: Wed Mar 30 05:02:03 2016 httperf: sched_getaffinity failed, rc=-1 errno=22 (Invalid argument) 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: f2ef7e2c3e74 Run at: Wed Mar 30 05:02:03 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. grep: /output/*: No such file or directory (standard_in) 2: syntax error grep: /output/*: No such file or directory (standard_in) 2: syntax error grep: /output/*: No such file or directory (standard_in) 2: syntax error grep: /output/*: No such file or directory (standard_in) 2: syntax error grep: /output/*: No such file or directory (standard_in) 2: syntax error Requests: Replies: (standard_in) 1: syntax error Reply rate: (standard_in) 1: syntax error Reply time: Net I/O: What is the problem? The client is exiting immediately I'm using Docker version 1.9.0, build 76d6bc9 and kernel: 4.4.0-14-generic on ubuntu 14.04 Thank you Kusumakar -- Best Regards, Neda
