On Mon, Nov 8, 2010 at 12:30 PM, Martin Pokropp
<
[log in to unmask]> wrote:
> Dear Sean, Dear Mr. Balan, Mr. Panait and Mr. Latek,
>
> increasing the stack size does the job for the task of finding the
> components of the network with
>
> sim.field.network.stats.ConnectivityStatistics.getConnectedComponents(network)
>
> But the biggest component (size about 29000 nodes) now seems to be too big
> for the shortest path algorithms in
>
> sim.field.network.stats.NetworkStatistics.getMeanShortestPath(giantComponent,
> metric)
>
> I tried out very high heap sizes (2000M). The task goes on for minutes,
> then a "java.lang.OutOfMemoryError: java heap space" is thrown.
>
> Do you think that the Jung package would do the job here, or is the task
> generally too complex (I'm using an ordinary desktop pc)?
>
> Regards,
>
> Martin
>
>
>
>
>
>
> 2010/11/8 Sean Luke <
[log in to unmask]>
>>
>> Martin, the right person to look into this is Gabriel Balan, and to a
>> lesser extend Liviu Panait (whom I am cc:ing). They were the two who put
>> this package together way back when. Gabriel is moving to New Hampshire so
>> may be in radio silence right now however.
>>
>> In the meantime we need to nail down whether or not it's a recursion bug
>> or a um, misfeature. Try increasing the stack size in Java. This is done
>> with the -Xss parameter. The default value is probably 512K. Try
>> increasing it considerably, like
>>
>> java -Xss16392k ...
>>
>> You should also increase the heap I guess. I'd do something like:
>>
>> java -Xss16392k -Xmx500M -Xms500M ...
>>
>> If you can't find a stack size which will complete the task, then it's
>> possibly the case that we're seeing a recursion bug here rather than a
>> maximal graph limit.
>>
>> Your other option is to go with Jung. Now beware: I believe that Jung
>> isn't serializable, so you may be stuck unable to checkpoint out. I am
>> cc:ing Maciej Latek, who knows a lot about jerry-rigging MASON to Jung.
>>
>> Sean
>>
>>
>> On Nov 8, 2010, at 10:52 AM, Martin Pokropp wrote:
>>
>>> Dear Sean, Dear Mason Users,
>>>
>>>
>>> For my simulated undirected network I intend to use the additional
>>> socialnets package provided with Mason. My network has 30000 nodes and is
>>> sparse with about 6 edges per node.
>>>
>>> As there are isolated nodes, I cannot get the mean Shortest Path of the
>>> whole network. Instead, I'm trying to analyse the biggest connected
>>> component by using
>>>
>>>
>>> sim.field.network.stats.ConnectivityStatistics.getConnectedComponents(network)
>>>
>>> Unfortunately the VM throws multiple stack overflow errors:
>>>
>>>
>>> Exception in thread "main" java.lang.StackOverflowError
>>> at sim.field.network.Network.getNodeIndex(Network.java:618)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:220)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222)
>>> at
>>> sim.field.network.stats.ConnectivityStatistics$ConnectedComponentFactory.exploreU(ConnectivityStatistics.java:222
>>> ...
>>>
>>> I guess that there are too many recursions and the getConnectedComponents
>>> method is not appropriate for networks such as mine?
>>>
>>> Best Regards,
>>>
>>> Martin
>>>
>>>
>>>
>>>
>>>
>
>