You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by Yexi Jiang <ye...@gmail.com> on 2013/10/19 01:15:32 UTC

Does Vertex assumes that the edges of a vertex can be fit in memory?

Hi,

I recently read the source code about the graph processing. I found that
the edge information of a vertex is stored in ArrayList, which implicitly
assume that the edges of a vertex can be fit in the memory. Will such
implementation cause problem for some extreme large graphs?

I also read the source code of apache giraph, it seems that they have
similar implementation (store the edges in an in-memory data structure).

Regards,
Yexi

Re: Does Vertex assumes that the edges of a vertex can be fit in memory?

Posted by "Edward J. Yoon" <ed...@apache.org>.
Hi,

Each BSP task (GraphJobRunner) will process one input split (equal or - newly partitioned - smaller than the dfs block size). So, we can assume they will fit in memory. See HAMA-783.

The memory issue is related to the processing of Vertex messages and In-memory Queue. I expect that it will be solved with the next release.

-- 
Best Regards, Edward J. Yoon
@eddieyoon

On Oct 19, 2013, at 8:15 AM, Yexi Jiang <ye...@gmail.com> wrote:

> Hi,
> 
> I recently read the source code about the graph processing. I found that
> the edge information of a vertex is stored in ArrayList, which implicitly
> assume that the edges of a vertex can be fit in the memory. Will such
> implementation cause problem for some extreme large graphs?
> 
> I also read the source code of apache giraph, it seems that they have
> similar implementation (store the edges in an in-memory data structure).
> 
> Regards,
> Yexi