I have just recently started using NX Nastran (in addition to Solidworks Simulation) and I will most likely start using StarCCM+ or Openfoam in the near future. I am as of yet using my laptop for simulation and I have realized that, even though my laptop is a good one, in the long time run I will spend many more hours than necessary running the calculations. Of course the heavy I/O can be detrimental to the health of the SSD's and general hardware.
Therefore I am asking for recommandations regarding hardware setup on a limited budget.
As I understand SSD in Raid 0 is a good thing and lots of L1, L2 and L3 cache memory, but from what I have heard it is hard to get a high enough write speed compared to the capacity of multiple cores. For instance if I have an 8-core processor... and run simulations using all 8, how high write speed is required of the SSD'S to prevent bottlenecking?
Hoping to get some real good input here :-)
Solved! Go to Solution.
Experts in NX NASTRAN makes the following recomendations:
Do not specify more than 50% of the memory for NX Nastran. This will leave the OS more room for I/O cache.
GPU and Intel MIC:
To learn more you can visit my blog in the following address:
I am currently looking at this rig/setup. It is quite pricey about 7500 dollars total including cabinet, os, etc.
Intel Xeon E5-1650 v3, Socket-LGA2011-3 6-cores 3,5GHz, 15MB cache
Intel Air Cooling TS13A
Kingston DDR4 2133MHz ECC Reg 64GB
ASUS X99-E WS, Socket-2011-3
PNY Quadro® K4200 4GB GDDR5
Samsung SSD 850PRO 512GB OS-disk
2x Intel® 750 SSD 400GB PCIe 3.0 HHHL in RAID 0 configuration write speed is 1200MB/s for each.
Does this system look well balanced, and should I use ECC ram or go for regular ram? I would like 128GB but, that alone adds 1000 dollars to the price.
Powerful machine, indeed!.
One caveat on the statement "Do not specify more than 50% of the memory for NX Nastran. This will leave the OS more room for I/O cache":
This is somewhat of a holdover from days when 16GB was a large amount of ram. As machines get more an more ram, particularly those with 128GB, 256 GB or more, this requirement is limiting. Yes, you want to leave memory for the OS to use for I/O Cache, but a more important goal is to eliminate I/O in the first place.
Look at the bottom of the .f04 file for typical runs, particularly at the size of the SCRATCH DBSET. If the HIWATER usage for SCRATCH and SCR300 is less than the amount of unrequested memory, you may be better off requesting more memory and increasing the allocation to SMEM.
Similarly, look at the BLOCKS RELEASED value in the BUFFER POOL statistics. Increasing the BPOOL allocation helps reduce that.
The goal is to reduce the HIWATER usage of SCRATCH and SCR300, as well as the BLOCKS RELEASED to 0.
Look at the memory allocation table at the top of the .f04.
The USER OPENCORE value should be just over what the sparse solver or element iterative solver actually needs. From there, increase MEM and SMEM (since SMEM is a portion of MEM) to reduce SCRATCH and SCR300 usage. Finally, increase BPOOL and MEM to reduce buffer pool BLOCKS RELEASED.
Dear Andreas, Jim and Blas, thank you for your questions and tips.
I have to questions, if I may ask:
(1 HD can be HDD of SSD, 1 physical or 1 array Raid 0 of more than 1 HD)
The question is SSD vs. HD SATA drive, not SSD vs. RAM memory: SSD disks are say 10x times faster than regular SATA hard disks!!. RAM memory is always faster than any disk, being SATA or SSD, or a RAID-0 based in SSD disks.
The SSD is for storing the NASTRAN SCRATCH files created during solving any FE model, these space is temporal and the NX NASTRAN solver will delete after finishing the analysis. Then is important to have enough space to store the files, and also to be as faster as possible to speed I/O, then SSD recommendation..
The NX NASTRAN solver use RAM memory to solve equations: the target is to solve the problem fully in memory to avoid spilling to hard disc.
Also of course, for Windows OS a good recommendation is to have a separate stand-alone hard disc (better another SSD!!) for the pagefile.sys, not to use the some hard disc of the Windows OS.
With 256GB RAM in the computer, I wouldn't bother with a pagefile, I would regain the disk space instead and set the pagefile to "none" at the OS, that saves you one disk :-) SSD are very cheap these days, so I wouldn't bother with HD either. Even the consumer grade ones are very good.
Our office is all SSD on all workstations, OS, local projects and local RAID0 for NASTRAN. Only our fileserver is using HD, simply because it's 16TB.
We also are configuring a new computer to run Advanced Simulation with NX Nastran.
We are pretty much set on the having 2 x 512GB SSDs but we are debating which way to go with the processor. We have 2 options:
1. 3.1GHz 10 core processor with 128 GB of ram
2. 3.5GHz 4 core processor with 64 GB or ram.
In your post, you've said "In summary, maximum number of fast cores with large cache." and also to "Install as much memory as possible"
So given the choice, is it better to have more RAM with a slower processor or half the RAM with a faster processor?
As Nastran performance is typically limited by IO, you will see much better ROI on the machine with more ram. The best way to improve IO performance is to eliminate it all together. More ram allows you to do that.
You probably won't see a 0.4 GHz difference in processor speed.
Even with the best IO, SMP typically only effectively scales to 4-8 processors before it starts becoming IO bound as well.