[
https://issues.apache.org/jira/browse/HAMA-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13457687#comment-13457687
]
Thomas Jungblut commented on HAMA-642:
--------------------------------------
Partitioning was one problem, the multisteps solved it pretty much.
The next thing is the hashmap that holds the whole vertex.
In my 10gb dataset (which was unusually dense) it totally failed because the
edges consumed too much memory. < this should be solved by spilling to disk
In SSSP, you send a message for each edge it has which is quite large as well.
This overflows the local memory as well.
The message bundling makes it even worse. I think we can improve this by
redesigning a bit. (making the outgoingQueues in the message manager disk
based, do a smarter bundling without HashMaps, bundle can directly make byte[]
out of it instead of holding the batch in memory twice)
So we should focus more on scalability first and then make a scalable solution
faster for future things.
bq. I love JDBM local database.
that's good ;)
Any other opinions?
> Make GraphRunner disk based
> ---------------------------
>
> Key: HAMA-642
> URL: https://issues.apache.org/jira/browse/HAMA-642
> Project: Hama
> Issue Type: Improvement
> Components: graph
> Reporter: Thomas Jungblut
> Attachments: HAMA-642_unix_1.patch, HAMA-scale_1.patch,
> HAMA-scale_2.patch, HAMA-scale_3.patch, HAMA-scale_4.patch
>
>
> To improve scalability we can improve the graph runner to be disk based.
> Which basically means:
> - We have just a single Vertex instance that get's refilled.
> - We directly write vertices to disk after partitioning
> - In every superstep we iterate over the vertices on disk, fill the vertex
> instance and call the users compute functions
> Problems:
> - State other than vertex value can't be stored easy
> - How do we deal with random access after messages have arrived?
> So I think we should make the graph runner more hybrid, like using the queues
> we have implemented in the messaging. So the graphrunner can be configured to
> run completely on disk, in cached mode or in in-memory mode.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira