Hi Ivo, A new error showed up while running the benchmark:
peak_hunter/launch_remote.sh: line 30: 221 Segmentation fault (core dumped) httperf --hog --server 172.18.0.2 --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=410 --rate=41 This error is not shown up in every run, it's coming sometimes. What could be the issue? Thank you Kusumakar On Thu, Mar 31, 2016 at 9:40 AM, kusumakar bodha <[email protected]> wrote: > Hi Ivo, > > I pulled the new client and ran it, it is working fine now. My system has > 72 cores, I think that was causing the trouble. Thank you very much for the > support. > > Kusumakar > > On Thu, Mar 31, 2016 at 3:38 AM, Mihailovic Ivo <[email protected]> > wrote: > >> Hi Neda and Bodha, >> >> >> Can one of you try to pull the client again from dockerhub and run it on >> the machine where it was failing? It should work now. >> >> >> Ivo >> ------------------------------ >> *From:* Mihailovic Ivo <[email protected]> >> *Sent:* Wednesday, March 30, 2016 3:05 PM >> >> *To:* Neda Nasiriani; kusumakar bodha >> *Cc:* [email protected] >> *Subject:* Re: Error media-streaming benchmark >> >> >> 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]> >> 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 >> > >
