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-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, 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-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-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-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-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-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-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 Joris Van Remoortere


> On Oct. 13, 2014, 9:47 p.m., Niklas Nielsen wrote:
> > 3rdparty/libprocess/src/tests/benchmarks.cpp, line 25
> > 
> >
> > 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
> > 
> >
> > 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
> > 
> >
> > 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: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-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


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


2 newlines between implementing functions.



3rdparty/libprocess/src/tests/benchmarks.cpp


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


setLink?



3rdparty/libprocess/src/tests/benchmarks.cpp


Bring '{' down - here and below.



3rdparty/libprocess/src/tests/benchmarks.cpp


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


Can we use the latch (latch.hpp) abstraction here?



3rdparty/libprocess/src/tests/benchmarks.cpp


Mind throwing in a comment here on why you need this helper (thread entry?)



3rdparty/libprocess/src/tests/benchmarks.cpp


Any reason not to use plain int's?



3rdparty/libprocess/src/tests/benchmarks.cpp


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


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-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 Joris Van Remoortere

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


Changes
---

Nomenclature, comments.


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 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-08 Thread Michael Park


> On Oct. 8, 2014, 5:32 p.m., Niklas Nielsen wrote:
> > 3rdparty/libprocess/src/tests/benchmarks.cpp, line 200
> > 
> >
> > 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-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


Let's include the usual license blob.



3rdparty/libprocess/src/tests/benchmarks.cpp


We try to use camel case, so _numIter, _maxOutstanding and so on.

Here and below.



3rdparty/libprocess/src/tests/benchmarks.cpp


Out of curiosity - wouldn't plain '0' do?



3rdparty/libprocess/src/tests/benchmarks.cpp


Bring '{' down on new line



3rdparty/libprocess/src/tests/benchmarks.cpp


We try to spell out variable names. How about "message"?



3rdparty/libprocess/src/tests/benchmarks.cpp


s/max_outstanding/maxOutstanding/



3rdparty/libprocess/src/tests/benchmarks.cpp


Instead of doing char* and strlen. Can we use a std::string instead?



3rdparty/libprocess/src/tests/benchmarks.cpp


For wrapping boolean expressions, see 
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Boolean_Expressions



3rdparty/libprocess/src/tests/benchmarks.cpp


Would you mind adding a comment on what the test is doing here?



3rdparty/libprocess/src/tests/benchmarks.cpp


+1 - can we do this the old way for now?



3rdparty/libprocess/src/tests/benchmarks.cpp


Same here



3rdparty/libprocess/src/tests/benchmarks.cpp


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-09-30 Thread Michael Park


> On Sept. 29, 2014, 9:41 p.m., Timothy Chen wrote:
> > 3rdparty/libprocess/src/tests/benchmarks.cpp, line 139
> > 
> >
> > 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
> 
>



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



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


> On Sept. 29, 2014, 2:41 p.m., Timothy Chen wrote:
> > 3rdparty/libprocess/src/tests/benchmarks.cpp, line 139
> > 
> >
> > 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

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26150/#review54886
---



3rdparty/libprocess/src/tests/benchmarks.cpp


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