[ 
https://issues.apache.org/jira/browse/GIRAPH-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13991224#comment-13991224
 ] 

Pavan Kumar commented on GIRAPH-895:
------------------------------------

ArrayListEdges: trimToSize() does this:   elementData = 
Arrays.copyOf(elementData, size);
so during loading phase you end up using more resident memory & gc pressure 
increases
did u test this change for any memory bound application

ByteArrayEdges: uses ExtendedDataOutput which can have upto 2 times more memory 
than what it stores
so you might want to add trim here as well with considerations written for 
ArrayListEdges

EdgeStore / Vertex
vertex.trimEdges => all vertex classes should now support trimEdges, this is a 
breaking change

Trimmable.java - is generic so better to move it out of edges

for all changes in graph/* 
similar concern -> vertex.trimEdges

the changes made in io/formats are good. you can trim edges where even & 
whenever they can be trimmed
without imposing that vertex be trimmable
 

> Trim the edges in Giraph
> ------------------------
>
>                 Key: GIRAPH-895
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-895
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 1.1.0
>            Reporter: Sergey Edunov
>             Fix For: 1.1.0
>
>         Attachments: GIRAPH-895.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In many Giraph applications, graphs are immutable, but edges are never 
> trimmed to the proper size, after input phase. This means that on average we 
> often use 1.5x memory for storing them. Considering we are often memory 
> bounded, adding an option to trim the edges after the input phase will help 
> reduce this excess memory usage. For mutable graphs, we can also provide an 
> option for the same method to be called after each superstep.
> Review request: https://reviews.apache.org/r/21119/



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to