question

Michael Machado avatar image
2 Likes"
Michael Machado asked Jason Lightfoot commented

Is it possible to improve CPU cores perfomance using FlexSim?

unnamed.pngunnamed-1.pngunnamed-2.pngunnamed-3.pngBelow is the e-mail's content that we received from Embraco

"We working in the IT architecture industry Embraco and we are assisting one end-user who is copy in this e-mail because we are searching one alternative to run Flexsim with a better perfomance. Currently we have the software installed on our notebook and a test basis set up on one of our servers that have more resources to make a comparison. But even in the server performance is not satisfactory, I believe is due to CPU processing, which was focused on only one of the cores as can be seen in the image below. Is it possible set or configure anything in the software to use all available CPU cores?"

FlexSim 16.0.1
performancecpu
unnamed.png (84.1 KiB)
unnamed-1.png (48.0 KiB)
unnamed-2.png (25.5 KiB)
unnamed-3.png (623.2 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Phil BoBo avatar image
5 Likes"
Phil BoBo answered Jason Lightfoot commented

This question is explained in the CPU section of this Answers article: Companion to the Recommended Minimum System Requirements

CPU

Conventional wisdom dictates that better hardware will result in faster simulation runs. A single run of a FlexSim model is single threaded by definition (this differs when running experiments—more on that soon). For a single simulation run, increasing the core count of your processor won't do as much as increasing your processor's single core clock speed/efficiency. For the fastest individual model runs, you want the fastest processor possible, regardless of the number of cores.

When you're doing multiple model runs using the Experimenter or Optimizer, FlexSim takes advantage of multiple CPU cores. FlexSim will spawn as many instances as you have cores; for instance, a Quad core processor enables four single-threaded simulation runs to process simultaneously during a FlexSim experiment—one on each core. So if you are doing 100 replications, you'll get your results four times faster than you would by using a single core processor at the same speed/efficiency.

Conclusion: If you’re primarily doing single simulation runs, choose a faster processor speed regardless of the number of cores. If you’re primarily doing experiments, choose a processor with a high number of processing cores. If you’ll be doing both, choose a processor that strikes a good balance between core speed and core count.

Additional Note

FlexSim will use as much processing power as your computer will give it to run the simulation model, regardless of the model run speed.

This will not adversely affect the performance of other applications running on your computer. If other applications want processing power, then Windows will give it to them, and FlexSim will use less.

While FlexSim is running the model, the Windows task manager will show its usage at approximately 1 core of your processor. If you have a 1-core processor, it will show about 99%. If you have more cores, it will show a lower percent.

No matter how powerful your computer is, if you are running a FlexSim simulation model at unlimited speed, it will show max utilization of your cpu while the simulation model is executing.

Speeding Up a Simulation Model

Modifying how your model is designed will have more impact on how long it takes to run than increasing the power of your hardware.

This post has suggestions and links to other posts with suggestions that explain how to increase the performance of your FlexSim models: https://answers.flexsim.com/questions/25025/speeding-up-a-simulation-model.html

· 5
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Brandon Peterson avatar image Brandon Peterson ♦ commented ·

If you have an Intel processor with hyper threading then you can double the amount of the CPU that Flexsim uses by turning hyper threading off.

-1 Like -1 ·
Axel Kohonen avatar image Axel Kohonen Brandon Peterson ♦ commented ·

Hi @Brandon,

I disabled hyperthreading from my Intel i7, but I got better performance with hyperthreading enabled both when using the Experimenter to run multiple scenarios simultaneously and with a normal model run. Does your suggestion apply only to certain FlexSim versions or processors?

I tried doing the normal model run with both FlexSim 7.7 and 16.2 and the model run took the same time for 7.7 and the hyperthreaded version was a bit faster using 16.2. The latter 16.2 model uses a lot of SQL queries from global tables if that does make any difference.

Axel

1 Like 1 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Brandon Peterson ♦ commented ·

This will be due to you halving the number of logical cores.

1 Like 1 ·
Francisco Ramis Jr. avatar image Francisco Ramis Jr. Brandon Peterson ♦ commented ·

We are running a larga Kiva model that is taking up to 8 hours to complete a single run. We are looking to upgrade hardware (we have an Intel 5 GHz double-thread CPU) but I'm not sure what to look for... Prioritize a better CPU mark? a Clockspeed-Cache ratio?

I appreciate any insights or recommendations. Thank you in advance!

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Francisco Ramis Jr. commented ·
Will you be running an experiment or a single run? Have you used the performance profiler to see if you have something (eg. scanning/tick events, queries or navigators) that are eating up the time? Is the model running within the RAM of your PC and not swapping to disk?



0 Likes 0 ·
Alvaro Alejandro BB avatar image
-2 Likes"
Alvaro Alejandro BB answered Phil BoBo commented

Hi,

I recommend to enable the "Compatibility Mode", so that Flexsim adapts to the resources that have their computers. Then I left a link so they can see how it is done:

https://eluniversitarioayudante.blogspot.com.co/2017/08/modo-compatibilidad-en-flexsim.html

· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Phil BoBo avatar image Phil BoBo ♦♦ commented ·

Compatibility Mode makes it so that any graphics processing of the 3D view is performed on the CPU instead of the graphics card GPU. This will significantly reduce the performance of FlexSim. Compatibility mode/Generic Context is not intended for long term use. Revert to this mode only if you must use a computer that doesn't meet FlexSim's system requirements.

1 Like 1 ·