Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 23, 2014, 6:50 p.m.) Review request for mesos and Niklas Nielsen. Changes --- fix minor style issues. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review58076 --- Ship it! Ship It! - Niklas Nielsen On Oct. 23, 2014, 11:50 a.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 23, 2014, 11:50 a.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 23, 2014, 8:40 p.m.) Review request for mesos and Niklas Nielsen. Changes --- cleaning up description. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description (updated) --- A benchmark for libprocess. It forks and launches multiple libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 22, 2014, 6:35 p.m.) Review request for mesos and Niklas Nielsen. Changes --- fix whitespace style issue. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review57889 --- Patch looks great! Reviews applied: [26150] All tests passed. - Mesos ReviewBot On Oct. 22, 2014, 6:35 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 22, 2014, 6:35 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 15, 2014, 8:42 p.m.) Review request for mesos and Niklas Nielsen. Changes --- Fix pipe bug. Fix null terminated buffer bug. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review56839 --- Bad patch! Reviews applied: [26150] Failed command: ./support/mesos-style.py Error: Checking 520 files using filter --filter=-,+build/class,+build/deprecated,+build/endif_comment,+readability/todo,+readability/namespace,+runtime/vlog,+whitespace/blank_line,+whitespace/comma,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/operators,+whitespace/semicolon,+whitespace/tab,+whitespace/todo 3rdparty/libprocess/src/tests/benchmarks.cpp:127: Missing space after ; [whitespace/semicolon] [3] Total errors found: 1 - Mesos ReviewBot On Oct. 15, 2014, 8:42 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 15, 2014, 8:42 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 14, 2014, 9:27 p.m.) Review request for mesos and Niklas Nielsen. Changes --- Swap out std::thread, std::mutex, std::condition_variable from a simpler Actor / Latch approach. Fix style issues. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
On Oct. 13, 2014, 9:47 p.m., Niklas Nielsen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 25 https://reviews.apache.org/r/26150/diff/3/?file=719696#file719696line25 This is the first time we use std::thread - do you have some references that it is supported across our graced compilers? Same for mutex Removed use of thread. On Oct. 13, 2014, 9:47 p.m., Niklas Nielsen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 95 https://reviews.apache.org/r/26150/diff/3/?file=719696#file719696line95 Was this the lock that depended on Dominic's configure patch? If so, can you add it as a dependency? Remove use of mutex / unique_lock; use Latch instead. On Oct. 13, 2014, 9:47 p.m., Niklas Nielsen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 97 https://reviews.apache.org/r/26150/diff/3/?file=719696#file719696line97 Can we use the latch (latch.hpp) abstraction here? Yep. Done. - Joris --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review56442 --- On Oct. 14, 2014, 9:27 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 14, 2014, 9:27 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 14, 2014, 9:30 p.m.) Review request for mesos and Niklas Nielsen. Changes --- Remove unused code. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review56614 --- Bad patch! Reviews applied: [26150] Failed command: ./support/mesos-style.py Error: Checking 520 files using filter --filter=-,+build/class,+build/deprecated,+build/endif_comment,+readability/todo,+readability/namespace,+runtime/vlog,+whitespace/blank_line,+whitespace/comma,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/operators,+whitespace/semicolon,+whitespace/tab,+whitespace/todo 3rdparty/libprocess/src/tests/benchmarks.cpp:127: Missing space after ; [whitespace/semicolon] [3] Total errors found: 1 - Mesos ReviewBot On Oct. 14, 2014, 9:30 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 14, 2014, 9:30 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 13, 2014, 7:52 p.m.) Review request for mesos and Niklas Nielsen. Changes --- Fix style issues. Back-port some c++11. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs (updated) - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review56448 --- Patch looks great! Reviews applied: [26150] All tests passed. - Mesos ReviewBot On Oct. 13, 2014, 8:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 13, 2014, 8:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review56442 --- 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96773 This is the first time we use std::thread - do you have some references that it is supported across our graced compilers? Same for mutex 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96775 2 newlines between implementing functions. 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96771 This is a bit counter intuitive (from the 4 space argument wrapping), but for intializer lists take a look at for example: https://github.com/apache/mesos/blob/master/src/docker/docker.hpp#L65 It becomes: FooBarBaz( int x, int y, int z) : x(x), y(y), z(z) { } Does that make sense? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96772 setLink? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96774 Bring '{' down - here and below. 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96776 Was this the lock that depended on Dominic's configure patch? If so, can you add it as a dependency? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96781 Can we use the latch (latch.hpp) abstraction here? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96777 Mind throwing in a comment here on why you need this helper (thread entry?) 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96760 Any reason not to use plain int's? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96751 Why int64? It is only a count down from 4 right? Also, shouldn't moreToLaunch be size_t to be consistent? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96778 Stout has a time abstraction you could use: https://github.com/apache/mesos/blob/master/3rdparty/libprocess/include/process/time.hpp - Niklas Nielsen On Oct. 13, 2014, 1:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Oct. 13, 2014, 1:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review55824 --- A high-level comment: It is a bit hard to understand what's going on here. The test body is pretty dense and not well commented - mind spending a few cycles breaking it up and make it more consumable? Also, we need to do a style scan :-) 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96201 Let's include the usual license blob. 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96203 We try to use camel case, so _numIter, _maxOutstanding and so on. Here and below. 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96202 Out of curiosity - wouldn't plain '0' do? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96204 Bring '{' down on new line 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96205 We try to spell out variable names. How about message? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96206 s/max_outstanding/maxOutstanding/ 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96208 Instead of doing char* and strlen. Can we use a std::string instead? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96210 For wrapping boolean expressions, see http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Boolean_Expressions 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96214 Would you mind adding a comment on what the test is doing here? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96211 +1 - can we do this the old way for now? 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96212 Same here 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment96213 I am not sure we have graced range based loops yet. Do you have any references to whether it is supported by our set of graced compilers? - Niklas Nielsen On Sept. 29, 2014, 2:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 2:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
On Oct. 8, 2014, 5:32 p.m., Niklas Nielsen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 200 https://reviews.apache.org/r/26150/diff/1/?file=708531#file708531line200 I am not sure we have graced range based loops yet. Do you have any references to whether it is supported by our set of graced compilers? It's not :( Not supported by `gcc-4.4`. - Michael --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review55824 --- On Sept. 29, 2014, 9:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 9:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
On Sept. 29, 2014, 9:41 p.m., Timothy Chen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 139 https://reviews.apache.org/r/26150/diff/1/?file=708531#file708531line139 I'd like to start using all the nice C++11 features, but not sure if we want to start introducing them in our benchmark code? Dominic Hamon wrote: as long as we're checking for support in configure, it should be fine. Timothy Chen wrote: I'm not sure if I didn't get the message, but if that's the case we should be notifying everyone that what C++11 features we can be using right? I only get the auto parameter email, but not the other ones that's in this rb. This is the [message](https://www.mail-archive.com/dev%40mesos.apache.org/msg19284.html) you missed, and the whitelist of C++11 features is updated on the [Mesos C++ Style Guide](https://github.com/mpark/mesos/blob/master/docs/mesos-c%2B%2B-style-guide.md). With that said, lambda expression is not one of the whitelisted features due to lack of support in `gcc-4.4`. - Michael --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review54886 --- On Sept. 29, 2014, 9:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 9:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review54886 --- 3rdparty/libprocess/src/tests/benchmarks.cpp https://reviews.apache.org/r/26150/#comment95216 I'd like to start using all the nice C++11 features, but not sure if we want to start introducing them in our benchmark code? - Timothy Chen On Sept. 29, 2014, 9:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 9:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
On Sept. 29, 2014, 2:41 p.m., Timothy Chen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 139 https://reviews.apache.org/r/26150/diff/1/?file=708531#file708531line139 I'd like to start using all the nice C++11 features, but not sure if we want to start introducing them in our benchmark code? as long as we're checking for support in configure, it should be fine. - Dominic --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review54886 --- On Sept. 29, 2014, 2:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 2:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
On Sept. 29, 2014, 9:41 p.m., Timothy Chen wrote: 3rdparty/libprocess/src/tests/benchmarks.cpp, line 139 https://reviews.apache.org/r/26150/diff/1/?file=708531#file708531line139 I'd like to start using all the nice C++11 features, but not sure if we want to start introducing them in our benchmark code? Dominic Hamon wrote: as long as we're checking for support in configure, it should be fine. I'm not sure if I didn't get the message, but if that's the case we should be notifying everyone that what C++11 features we can be using right? I only get the auto parameter email, but not the other ones that's in this rb. - Timothy --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review54886 --- On Sept. 29, 2014, 9:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 9:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere
Re: Review Request 26150: Libprocess Benchmark
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/#review54927 --- Patch looks great! Reviews applied: [26150] All tests passed. - Mesos ReviewBot On Sept. 29, 2014, 9:38 p.m., Joris Van Remoortere wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26150/ --- (Updated Sept. 29, 2014, 9:38 p.m.) Review request for mesos and Niklas Nielsen. Bugs: MESOS-1840 https://issues.apache.org/jira/browse/MESOS-1840 Repository: mesos-git Description --- A benchmark for libprocess. It forks num_proc times and launched num_threads libprocess processes in each child. They are aware of the master's (parent) address and all play ping pong with it. This benchmark measures throughput in terms of the number of RPCs handled per second using persistent (linked) connections. A new test file (benchmarks) is introduced because we want to fork before libprocess is initialized. This allows us to prevent short-circuiting of message passing between processes under the same ProcessManager. This way we force the execution path of the underlying event management system. Diffs - 3rdparty/libprocess/Makefile.am 616618e 3rdparty/libprocess/src/tests/benchmarks.cpp PRE-CREATION Diff: https://reviews.apache.org/r/26150/diff/ Testing --- make check in 3rdparty/libprocess support/mesos-style.py Thanks, Joris Van Remoortere