You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by Herald Kllapi <he...@gmail.com> on 2013/09/07 01:01:54 UTC

Review Request 14025: Dense matrix aggregator implementation.

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

Review request for giraph.


Repository: giraph-git


Description
-------

In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.


Diffs
-----

  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/package-info.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestDoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestFloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestIntDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestLongDenseMatrix.java PRE-CREATION 

Diff: https://reviews.apache.org/r/14025/diff/


Testing
-------


Thanks,

Herald Kllapi


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Herald Kllapi <he...@gmail.com>.

> On Sept. 9, 2013, 6:34 p.m., Alessandro Presta wrote:
> > One comment on sparse vs dense: the current version uses sparse vectors for rows, but still explicitly creates all rows.
> > Now that we're going to have this dense option, do you think it makes sense/is doable to make the current one fully sparse (i.e., create rows on demand)?

It does make sense! However, is it possible to register aggregators in the worker?
If not, than we cannot aggregate rows dynamically.

Unless you are suggesting to not get all the rows at the beginning and do that lazily after
getMatrix(...) call. :-)


> On Sept. 9, 2013, 6:34 p.m., Alessandro Presta wrote:
> > giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java, line 28
> > <https://reviews.apache.org/r/14025/diff/1/?file=349145#file349145line28>
> >
> >     Let's do this as part of this diff.

done!


> On Sept. 9, 2013, 6:34 p.m., Alessandro Presta wrote:
> > giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVector.java, line 30
> > <https://reviews.apache.org/r/14025/diff/1/?file=349148#file349148line30>
> >
> >     We should probably briefly explain the "singleton" bit here.

done!


> On Sept. 9, 2013, 6:34 p.m., Alessandro Presta wrote:
> > giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java, line 19
> > <https://reviews.apache.org/r/14025/diff/1/?file=349145#file349145line19>
> >
> >     I think we use underscores in this codebase. Anyway, I suggest leaving a common matrix package and adding subpackages matrix.dense, matrix.sparse. What do you think?

I agree! Is better :-) I did it this way in order to leave the current code as is in the case that someone else is using it!


- Herald


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


On Sept. 6, 2013, 11:01 p.m., Herald Kllapi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14025/
> -----------------------------------------------------------
> 
> (Updated Sept. 6, 2013, 11:01 p.m.)
> 
> 
> Review request for giraph.
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/package-info.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestDoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestFloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestIntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestLongDenseMatrix.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/14025/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Herald Kllapi
> 
>


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Alessandro Presta <al...@fb.com>.

> On Sept. 9, 2013, 6:34 p.m., Alessandro Presta wrote:
> > One comment on sparse vs dense: the current version uses sparse vectors for rows, but still explicitly creates all rows.
> > Now that we're going to have this dense option, do you think it makes sense/is doable to make the current one fully sparse (i.e., create rows on demand)?
> 
> Herald Kllapi wrote:
>     It does make sense! However, is it possible to register aggregators in the worker?
>     If not, than we cannot aggregate rows dynamically.
>     
>     Unless you are suggesting to not get all the rows at the beginning and do that lazily after
>     getMatrix(...) call. :-)
>

Good point. Let's not worry about this for now.


- Alessandro


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


On Sept. 11, 2013, 1:58 a.m., Herald Kllapi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14025/
> -----------------------------------------------------------
> 
> (Updated Sept. 11, 2013, 1:58 a.m.)
> 
> 
> Review request for giraph.
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/14025/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Herald Kllapi
> 
>


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Alessandro Presta <al...@fb.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14025/#review25995
-----------------------------------------------------------


One comment on sparse vs dense: the current version uses sparse vectors for rows, but still explicitly creates all rows.
Now that we're going to have this dense option, do you think it makes sense/is doable to make the current one fully sparse (i.e., create rows on demand)?


giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java
<https://reviews.apache.org/r/14025/#comment50747>

    I think we use underscores in this codebase. Anyway, I suggest leaving a common matrix package and adding subpackages matrix.dense, matrix.sparse. What do you think?



giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java
<https://reviews.apache.org/r/14025/#comment50746>

    Let's do this as part of this diff.



giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVector.java
<https://reviews.apache.org/r/14025/#comment50745>

    We should probably briefly explain the "singleton" bit here.


- Alessandro Presta


On Sept. 6, 2013, 11:01 p.m., Herald Kllapi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14025/
> -----------------------------------------------------------
> 
> (Updated Sept. 6, 2013, 11:01 p.m.)
> 
> 
> Review request for giraph.
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/DoubleDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/FloatDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/IntDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/LongDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/denseMatrix/package-info.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestDoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestFloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestIntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/denseMatrix/TestLongDenseMatrix.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/14025/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Herald Kllapi
> 
>


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Herald Kllapi <he...@gmail.com>.

> On Sept. 11, 2013, 5:08 a.m., Alessandro Presta wrote:
> > giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java, line 31
> > <https://reviews.apache.org/r/14025/diff/3/?file=350646#file350646line31>
> >
> >     to -> too

done!


> On Sept. 11, 2013, 5:08 a.m., Alessandro Presta wrote:
> > giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java, line 34
> > <https://reviews.apache.org/r/14025/diff/3/?file=350646#file350646line34>
> >
> >     Now it's way too detailed.
> >     It suffices to say that we have additional fields to compactly represent vectors with a single nonzero coordinate, and this is used to efficiently perform aggregations.

done! :-)


- Herald


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


On Sept. 11, 2013, 1:58 a.m., Herald Kllapi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14025/
> -----------------------------------------------------------
> 
> (Updated Sept. 11, 2013, 1:58 a.m.)
> 
> 
> Review request for giraph.
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/14025/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Herald Kllapi
> 
>


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Alessandro Presta <al...@fb.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14025/#review26032
-----------------------------------------------------------


+1 (just improve the doc as per inline comments)


giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java
<https://reviews.apache.org/r/14025/#comment50832>

    to -> too



giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java
<https://reviews.apache.org/r/14025/#comment50833>

    Now it's way too detailed.
    It suffices to say that we have additional fields to compactly represent vectors with a single nonzero coordinate, and this is used to efficiently perform aggregations.


- Alessandro Presta


On Sept. 11, 2013, 1:58 a.m., Herald Kllapi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14025/
> -----------------------------------------------------------
> 
> (Updated Sept. 11, 2013, 1:58 a.m.)
> 
> 
> Review request for giraph.
> 
> 
> Repository: giraph-git
> 
> 
> Description
> -------
> 
> In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.
> 
> 
> Diffs
> -----
> 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
>   giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
>   giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/14025/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Herald Kllapi
> 
>


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Herald Kllapi <he...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14025/
-----------------------------------------------------------

(Updated Sept. 11, 2013, 5:51 a.m.)


Review request for giraph.


Changes
-------

Changed singleton doc.


Repository: giraph-git


Description
-------

In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 

Diff: https://reviews.apache.org/r/14025/diff/


Testing
-------


Thanks,

Herald Kllapi


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Herald Kllapi <he...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14025/
-----------------------------------------------------------

(Updated Sept. 11, 2013, 1:58 a.m.)


Review request for giraph.


Changes
-------

Efficient map iterate using int2XXXEntrySet().


Repository: giraph-git


Description
-------

In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 

Diff: https://reviews.apache.org/r/14025/diff/


Testing
-------


Thanks,

Herald Kllapi


Re: Review Request 14025: Dense matrix aggregator implementation.

Posted by Herald Kllapi <he...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14025/
-----------------------------------------------------------

(Updated Sept. 11, 2013, 12:36 a.m.)


Review request for giraph.


Changes
-------

Added both implementations under matrix package.


Repository: giraph-git


Description
-------

In applications where a matrix is needed, is not efficient to have an aggregator per entry. This update provides the same functionality with an aggregator per matrix row. This implementation uses an array per row and is efficient when the matrices are dense.


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrix.java d86dc4b68700e328eb730a25a1d3b9f828c52bb4 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleMatrixSumAggregator.java 0a1dafbc6e1c30294d1d1b460b405106ed75e113 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVector.java 288be93bafa8bed1e8194c28581e7d25d222ec18 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/DoubleVectorSumAggregator.java 33185546c686f830d6b62549b249d80375cd89f6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrix.java 67bad5c1cb9c893974da87c8095d3792ae6a4902 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatMatrixSumAggregator.java 54406ed0897316d66d0f052fc1c396b72650e519 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVector.java 6efe81e9d148a6525b2a13f92c7ea015a0efd147 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/FloatVectorSumAggregator.java b152395b38df7b7c37a7d21cb62762b3062882cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrix.java 624c7937d7a1b74bd5f9a8a78d70bf62c11128e7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntMatrixSumAggregator.java b7afa60655071bec9cd963259632d6b54d6ff06b 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVector.java e5bb400b5488f2c4fd821311a17e5f4b7c83d2bf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/IntVectorSumAggregator.java b588331b26ea8ddd5fc8a999d05ba0f74ca306cf 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrix.java dbc3ecb3d09d3062308bd8054b0dd5471b2a605e 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongMatrixSumAggregator.java a7dc186ea9d4722d29b0ee37a568d61a15b31b37 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVector.java 6781b4397c2e4aecd39b2aaee13923bf36bf85c6 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/LongVectorSumAggregator.java ed35e15492f8e2c73cf426c670a645ee86ceabd7 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/MatrixSumAggregator.java 38644723786c23fd62e562bb2e0c8cab02c10aab 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/DoubleDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/FloatDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/IntDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrix.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseMatrixSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVector.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/LongDenseVectorSumAggregator.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/dense/package-info.java PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/aggregators/matrix/sparse/package-info.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestDoubleMatrix.java d67eda17d9cd25f915e962b816cc79c0ac7a95ae 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestFloatMatrix.java d0f9bb01ba7102f86cf671183c3bfa54e45c9240 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestIntMatrix.java e8d3561aaace1a4bdc80c98f94a7dd2a1dbf4afb 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/TestLongMatrix.java a0a7000d37116cebf528e4bc6750f43afc217ee2 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestDoubleDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestFloatDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestIntDenseMatrix.java PRE-CREATION 
  giraph-core/src/test/java/org/apache/giraph/aggregators/matrix/dense/TestLongDenseMatrix.java PRE-CREATION 

Diff: https://reviews.apache.org/r/14025/diff/


Testing
-------


Thanks,

Herald Kllapi