mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guangya Liu <gyliu...@gmail.com>
Subject Re: Review Request 50380: Made resources benchmark test for ports `-=/-` more accurate.
Date Tue, 02 Aug 2016 22:34:38 GMT


> On 七月 29, 2016, 8:35 p.m., Benjamin Mahler wrote:
> > src/tests/resources_tests.cpp, lines 2515-2523
> > <https://reviews.apache.org/r/50380/diff/1/?file=1451856#file1451856line2515>
> >
> >     Can we make the initial resources another parameter? I believe Klaus took this
approach initially but I had removed 'initial' to simplify the patch.
> >     
> >     If we make it a parameter we can have initial ports only for the port test case.
> 
> Guangya Liu wrote:
>     Hi Ben, one quick question want to get some comments from you. Regarding to your
comments, what about set `initial` resources for all resources types including `scalar`, `range`,
`reservations` and then for the new added `contain` benchmark test, I can simply check if
the `initial` contains `resources`, what do you think of this approach?
> 
> Benjamin Mahler wrote:
>     For the contains test, how about we start with three parameters: (a, b, numContains)
>     
>     Then we do `a.contains(b)` numContains times and `b.contains(a)` numContains times?
> 
> Guangya Liu wrote:
>     So do you mean that I need to introduce some new parameters for `contains` benchmark
test as following?
>     
>     ```
>     struct Parameter
>     {
>       Resources resources1;
>       Resources resources2;
>       size_t numContains;
>     };
>     ```
>     
>     My thinking is want to levearaget the current parameters and do not introduce new
parameters:
>     ```
>     struct Parameter
>     {
>       Resources initial;
>       Resources resources;
>       size_t totalOperations;
>     };
>     ```
>     
>     Then I will do `initial.contains(resources)` and `resources.contains(initial)` for
`totalOperations` times.
>     
>     For `Filters` or `Filtering` test, I will do `resources.nonRevocable()` for `totalOperations`
times.
>     
>     What do you think?

Ben, any comments for this, this will impact how we implement the benchmark test for both
`contains` and `filter`, thanks.


- Guangya


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


On 七月 30, 2016, 9:10 a.m., Guangya Liu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50380/
> -----------------------------------------------------------
> 
> (Updated 七月 30, 2016, 9:10 a.m.)
> 
> 
> Review request for mesos, Benjamin Mahler and Klaus Ma.
> 
> 
> Bugs: MESOS-5898
>     https://issues.apache.org/jira/browse/MESOS-5898
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> When run benchmark test for `ports` resources, the `-=` and `-` only
> consumed about 10ms, this cannot reflect the real time of operating
> 1000 `ports` with `-=` and `-`.
> 
> The root cause is that the current calculation is always using same
> port range, with port, the formula for `+` is `a+a+a+a+...+a==a`;
> for `-`, it will be `a-a=0` and `0-a=0`.
> 
> With `0-a=0`, the code here
> https://github.com/apache/mesos/blob/master/src/common/values.cpp#L544
> will cause there is no validation as the `left` is empty after the
> `ports` was subtracted to 0.
> 
> The fix is adding a new parameter `inital` act as the intial resources
> for differente benchmark test. For `ports` resource, using an initial
> `ports` which is different from the `resources`, this can make sure
> the`ports` resources will never be subtracted to 0.
> 
> 
> Diffs
> -----
> 
>   src/tests/resources_tests.cpp 4111e080b84079e100b731c9a56861b204f17388 
> 
> Diff: https://reviews.apache.org/r/50380/diff/
> 
> 
> Testing
> -------
> 
> make
> make check
> 
> Before fix:
> ```
> [ RUN      ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2
> Took 2.844742secs to perform 1000 'total += r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> Took 9ms to perform 1000 'total -= r' operations on ports(*):[1-2, 4-5, 7-8, 10-11, 13-14,
16-17, 1...
> Took 2.977936secs to perform 1000 'total = total + r' operations on ports(*):[1-2, 4-5,
7-8, 10-11, 13-14, 16-17, 1...
> Took 9576us to perform 1000 'total = total - r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1...
> [       OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2 (5843 ms)
> [----------] 1 test from ResourcesOperators/Resources_BENCHMARK_Test (5843 ms total)
> ```
> 
> After fix:
> ```
> [ RUN      ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2
> Took 2.728995secs to perform 1000 'total += r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1... with initial resources ports(*):[30000-50000]
> Took 3.641868secs to perform 1000 'total -= r' operations on ports(*):[1-2, 4-5, 7-8,
10-11, 13-14, 16-17, 1... with initial resources ports(*):[30000-50000]
> Took 2.957178secs to perform 1000 'total = total + r' operations on ports(*):[1-2, 4-5,
7-8, 10-11, 13-14, 16-17, 1... with initial resources ports(*):[30000-50000]
> Took 3.631125secs to perform 1000 'total = total - r' operations on ports(*):[1-2, 4-5,
7-8, 10-11, 13-14, 16-17, 1... with initial resources ports(*):[30000-50000]
> [       OK ] ResourcesOperators/Resources_BENCHMARK_Test.Arithmetic/2 (12961 ms)
> ```
> 
> 
> Thanks,
> 
> Guangya Liu
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message