Re: Review Request 26150: Libprocess Benchmark

2014-10-23 Thread Joris Van Remoortere

---
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

2014-10-23 Thread Niklas Nielsen

---
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

2014-10-23 Thread Joris Van Remoortere

---
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

2014-10-22 Thread Joris Van Remoortere

---
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

2014-10-22 Thread Mesos ReviewBot

---
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

2014-10-15 Thread Joris Van Remoortere

---
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

2014-10-15 Thread Mesos ReviewBot

---
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

2014-10-14 Thread Joris Van Remoortere

---
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

2014-10-14 Thread Joris Van Remoortere


 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

2014-10-14 Thread Joris Van Remoortere

---
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

2014-10-14 Thread Mesos ReviewBot

---
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

2014-10-13 Thread Joris Van Remoortere

---
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

2014-10-13 Thread Mesos ReviewBot

---
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

2014-10-13 Thread Niklas Nielsen

---
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

2014-10-08 Thread Niklas Nielsen

---
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

2014-10-08 Thread Michael Park


 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

2014-09-30 Thread Michael Park


 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

2014-09-29 Thread Joris Van Remoortere

---
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

2014-09-29 Thread Timothy Chen

---
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

2014-09-29 Thread Dominic Hamon


 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

2014-09-29 Thread Timothy Chen


 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

2014-09-29 Thread Mesos ReviewBot

---
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