> On March 6, 2015, 9:42 p.m., Alexander Rukletsov wrote:
> > Sorry for commenting after giving a "Ship It". I was checking `r/31665` and 
> > realised that we do an extra copy while calculating the aggregate of 
> > resources: `std::list<Resources>` out of `hashmap<SlaveID, Resources>`. 
> > Does it make sense to avoid it?

I think it makes to have this operation which takes `hashmap<Key, Resources>` 
and collapses it to `Resources` merely to facilitate preserving existing 
functionalities (e.g. HTTP endpoints, `calculateShare` in `DRFSorter`). I've 
made `sum` function take a `hashmap<Key, Resources>` instead, since we want to 
use this for `hashmap<FrameworkID, Resources>` as well.


- Michael


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


On March 7, 2015, 10:08 a.m., Michael Park wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/31183/
> -----------------------------------------------------------
> 
> (Updated March 7, 2015, 10:08 a.m.)
> 
> 
> Review request for mesos, Alexander Rukletsov, Benjamin Hindman, Ben Mahler, 
> and Jie Yu.
> 
> 
> Bugs: MESOS-2373
>     https://issues.apache.org/jira/browse/MESOS-2373
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This is the start of a patch chain for converting `Resources` to 
> `hashmap<SlaveID, Resources>` in places where we have an aggregate of 
> resources across multiple slaves. In short, scalar resources aggregate 
> correctly across multiple slaves, but non-scalar resources (e.g. ports) do 
> not aggregate correctly. Please refer to the JIRA ticket for further details.
> 
> The function `sum` is factored out to facilitate small patches. The following 
> is the strategy and why this function will be useful:
> 
> (1) Update a variable `resources` in a component (e.g. master) from 
> `Resources` to `hashmap<SlaveID, Resources>`.
> (2) For callsites where we pass `resources` to another component (e.g. 
> allocator), we'll pass `sum(resources)` instead to preserve the existing 
> behavior in the other component.
> 
> 
> Diffs
> -----
> 
>   include/mesos/resources.hpp da6d48871a0061d8bbf5e681dd6e7edac659d812 
>   src/master/allocator/mesos/hierarchical.hpp 
> c0b1da75565d9dc7728c5566f01815234163fc47 
>   src/tests/hierarchical_allocator_tests.cpp 
> 93753d1c04159a04a733927a487eb69505438e32 
> 
> Diff: https://reviews.apache.org/r/31183/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Michael Park
> 
>

Reply via email to