Running out of memory for a network with around 100,000 nodes

193 views
Skip to first unread message

sohini basu

unread,
May 6, 2016, 12:46:32 PM5/6/16
to OMNeT++ Users
I am trying to simulate a network with 100,000 servers. However I am only able to run the simulation for a very small time (< 1s). If I try to run for a longer time the program is terminating with the below error message - 

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

I assume the program is running out of memory but I thoroughly checked my code and there is no memory leak anywhere. Currently I am running the code in Windows 7 OS with a 16 GB RAM.



Please let me know if there is any memory limitation for running very large simulations in omnet ? If so then what can be the max size of the simulated program and what is the way out?

Alfonso Ariza Quintana

unread,
May 6, 2016, 1:31:57 PM5/6/16
to omn...@googlegroups.com

In windows, the compiler and linker is 32 bits,  the maximum memory in an application is 4 GB.

--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.
Visit this group at https://groups.google.com/group/omnetpp.
For more options, visit https://groups.google.com/d/optout.

Rudolf Hornig

unread,
May 11, 2016, 4:44:15 AM5/11/16
to OMNeT++ Users, aari...@hotmail.com
Or rather, just 2GiB as the upper 2GiB is reserved for mapping the operating system processed. I strongly suggest running bigger simulations on a 64-bit Linux machine.

Generally, you very much underestimate your resource requirements. Think about, that just a single server's instance have a 2MiB state which is an extremely low estimate considering that it must simulate the whole network stack.

Now multiply the 2MiB with 100.000 and you get 200 GiB. And this is an extremely low estimate.

To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+unsubscribe@googlegroups.com.

sohini basu

unread,
May 11, 2016, 5:57:09 AM5/11/16
to omn...@googlegroups.com
How can you say that a single server instance will have 2 MB state? Sorry I am quite new to this and so not very sure about the details.

To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "OMNeT++ Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/omnetpp/EilrbVDL2IQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to omnetpp+u...@googlegroups.com.

Rudolf Hornig

unread,
May 11, 2016, 8:41:15 AM5/11/16
to OMNeT++ Users
Create a simulation with 1 server, start it and check the memory requirements with an OS tool (i.e. top on Linux, or the task manager in Windows). New create a simulation with 1000 Host, and check the memory requirement again. Subtract the two divide by 1000 and you get a good estimation of a single server's memory footprint.


On Wednesday, 11 May 2016 11:57:09 UTC+2, sohini basu wrote:
How can you say that a single server instance will have 2 MB state? Sorry I am quite new to this and so not very sure about the details.
Or rather, just 2GiB as the upper 2GiB is reserved for mapping the operating system processed. I strongly suggest running bigger simulations on a 64-bit Linux machine.

Generally, you very much underestimate your resource requirements. Think about, that just a single server's instance have a 2MiB state which is an extremely low estimate considering that it must simulate the whole network stack.

Now multiply the 2MiB with 100.000 and you get 200 GiB. And this is an extremely low estimate.


On Friday, 6 May 2016 19:31:57 UTC+2, Alfonso Ariza Quintana wrote:

In windows, the compiler and linker is 32 bits,  the maximum memory in an application is 4 GB.

 

De: omn...@googlegroups.com [mailto:omnetpp@googlegroups.com] En nombre de sohini basu
Enviado el: viernes, 06 de mayo de 2016 18:47
Para: OMNeT++ Users <omn...@googlegroups.com>
Asunto: [Omnetpp-l] Running out of memory for a network with around 100,000 nodes

 

I am trying to simulate a network with 100,000 servers. However I am only able to run the simulation for a very small time (< 1s). If I try to run for a longer time the program is terminating with the below error message - 

 

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

 

I assume the program is running out of memory but I thoroughly checked my code and there is no memory leak anywhere. Currently I am running the code in Windows 7 OS with a 16 GB RAM.

 

 

 

Please let me know if there is any memory limitation for running very large simulations in omnet ? If so then what can be the max size of the simulated program and what is the way out?

--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "OMNeT++ Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/omnetpp/EilrbVDL2IQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to omnetpp+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages