Jump to content
Simio Forum

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider! You must be an Insider to post on any forum!


Sign in to follow this  

Advice for running large models

Recommended Posts

Simio incorporates many innovative features to take best advantage of available memory and processor speed. Simio does not have any artificial limits, but at some point you might start running into limits that come from your hardware and operating system (OS).

Here are some ideas to consider.

Take full advantage of Simio's multi-processor support. First of all, it is important to understand that our multi-processor support applies to running multiple replications during experimentation. Note also that upgrading to Team Edition allows distributed experimentation across multiple computers. But even without that, Simio will run up to 16 simultaneous replications on your local computer, depending on available hardware. For example, a computer with 2 physical processors, each with 3 cores, and with hyper threading enabled, will run 12 replications at a time (2*3*2). Or on a computer with a single processor, that has 6 cores but without hyper threading enabled, Simio will run 6 replications at a time. Note, however, that we currently limit to 16, so if you had a quad-processor box where each processor has 8 cores and hyper threading is enabled, we’ll still only do 16, rather than 64 reps at a time.

Second, let’s talk about memory.

Note that the Simio interactive (graphics) application is a 32-bit application. (As of this writing a 64 bit version of the interactive Simio is under development.) As 32-bit application, it is limited to a total memory address space of about 2GB, even when running on a computer with 64-bit Windows. Depending on the size of your models, this may or may not become an issue. For model development, debugging, animation, and animation-less fast-forwarding, we run your model on a single thread within that 32-bit process space. For experimentation, we will run up to 16 replications at a time, but all within the same 32-bit process space. This could eventually become an issue as the size of your models increases, because while a single instance of your model might peaceably share space with the Simio graphical user interface and animation engine, trying to run multiple instances at a time might not.

To deal with this, Simio has the option of running experiments outside of the interactive application, in a separate process. This can be either a 32-bit or a 64-bit process. When running in this manner, the external runner process runs as many concurrent replications as it can (up to the software limit of 16), and has nearly the entire process address space to split up between the replications. The 32-bit version is slightly faster, but is still limited to 2GB total address space, while the 64-bit version runs a little slower, but can make use of nearly ALL memory on the computer.

What processor? So with all of this in mind, a good place to start would be a processor with 4 to 8 total cores, which with hyper threading enabled will allow 8 to 16 concurrent replications. Definitely go with 64-bit Windows, and get at least 8GB of system RAM to start with, configured so you can add more in the future if necessary. That is, if the system supports a maximum of 16GB or 32GB, you don’t want to use 8GB of lower-density memory that fills all available slots; use higher-density memory that leaves slots open for future expansion. (Or depending on your budgeting and purchasing situation, you might just want to go with more memory from the start.)

As far as the processor itself is concerned, any of the new Core i7 “Ivy Bridge” processors should be nice and fast, although the fastest of the previous generation Core i5 chips should be good, too. Some i5s, and ALL i7s support hyper threading, so a 4-, 6-, or 8-core processor would allow 8, 12, or 16 concurrent replications to run.

What graphics card? As far as graphics hardware is concerned, the Intel HD graphics that come WITH these CPUs is generally good enough for our animations, even though discrete graphics cards will usually be faster. We require only DirectX 9, while the integrated graphics on the CPUs support either DX10 or more recently DX11, so that isn’t an issue. We can’t really offer any suggestions regarding discrete graphics cards, as we have no real experience with them, and there are so many options out there it would be difficult to even know where to start, but we do think that if you go this route, a card with 512MB or 1GB of dedicated graphics memory should be sufficient.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Create New...