Dear Stephan,

Thank you for your answer, it helped understanding what was going on.

Attila


2014-09-30 10:45 GMT+02:00 Stephan Ewen <[email protected]>:
> Hey!
>
> Thanks for the observation. Here is what I can see:
>
> The distribution of hash values is very skewed. One partition has one buffer
> as size, the other one 155. Are your objects very different in size, or is
> the hash function flawed? More even distribution may help here a lot.
>
> The solution set of the delta iterations is the archillis heel of the system
> right now. We are actively working to make memory more adaptive and give it
> more if needed. Expect a big fix in a few weeks.
>
> In the mean time, let me try and do a patch for an unofficial non-managed
> memory solution set. That should be able to grow into the heap and grab more
> memory if needed.
>
> Stephan
>
> Am 29.09.2014 16:11 schrieb "Attila Bernáth" <[email protected]>:
>
>> Dear Developers,
>>
>> We are experimenting with a pagerank-variant, in which the nodes of
>> the graph to work with are grouped into supernodes. The nodes send
>> messages to supernodes instead of nodes, thus we expect to decrease
>> the number of messages and accelerate the algorithm.
>> We implemented this algorithm with the Spargel API using the vertex
>> centric iterations. The VertexValue type contains all the information
>> that a supernode has to know: the list of the nodes grouped into this
>> supernode, their current pagerank, their in-neighbours etc.
>> We run this algorithm on a cluster containing some 40-50 machines with
>> an input graph containing something like 1million nodes. We always get
>> the error that one particular machine runs out of memory (always the
>> same machine) at the vertex state update. The error message is as
>> follows.
>>
>> Error: The program execution failed: java.lang.RuntimeException:
>> Memory ran out. Compaction failed. numPartitions: 32 minPartition: 1
>> maxPartition: 155 number of overflow segments: 0 bucketSize: 178
>> Overall memory: 32604160 Partition memory: 24248320 Message: null
>>     at
>> hu.sztaki.ilab.cumulonimbus.custom_pagerank_spargel.SuperNodeRankUpdater.updateVertex(SuperNodeRankUpdater.java:71)
>>     at
>> hu.sztaki.ilab.cumulonimbus.custom_pagerank_spargel.SuperNodeRankUpdater.updateVertex(SuperNodeRankUpdater.java:15)
>>     at
>> org.apache.flink.spargel.java.VertexCentricIteration$VertexUpdateUdf.coGroup(VertexCentricIteration.java:430)
>>     at
>> org.apache.flink.runtime.operators.CoGroupWithSolutionSetSecondDriver.run(CoGroupWithSolutionSetSecondDriver.java:141)
>>     at
>> org.apache.flink.runtime.operators.RegularPactTask.run(RegularPactTask.java:510)
>>     at
>> org.apache.flink.runtime.iterative.task.AbstractIterativePactTask.run(AbstractIterativePactTask.java:137)
>>     at
>> org.apache.flink.runtime.iterative.task.IterationTailPactTask.run(IterationTailPactTask.java:109)
>>     at
>> org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:375)
>>     at
>> org.apache.flink.runtime.execution.RuntimeEnvironment.run(RuntimeEnvironment.java:265)
>>     at java.lang.Thread.run(Thread.java:724)
>>
>> Line 71 in SuperNodeRankUpdater is a call to the function
>> setNewVertexValue().
>> Do you have some suggestions? Shall I try to put together some example?
>>
>> Thank you!
>>
>> Attila

Reply via email to