Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

ProE Mechanical Memory Allocation 1

Status
Not open for further replies.

osty

Mechanical
Aug 10, 2010
7
Finally got a 64bit Windows 7 box just in time for a fairly complex modal analysis that would not run on my 32bit machine.

I am trying to set up the Memory Allocation in the "Run Settings" "Solver Settings". I had a rule of thumb for 32bit machines but no idea what it should be for a 64bit machine that doesn't have the 2 gig limit. At the moment I only 4 gig of ram but more is on order.

My current guess is number of megs of ram installed on machine less 1024 megs for other processes. But looking at the Task Manager during the run I am thinking that other processes may actually be as high as 1526 megs
 
Replies continue below

Recommended for you

Osty,

Below is the text straight from the Mechanica output file *.pas (or known as the checkpoints file in WF5). I believe there is still a limitation in the 64bit version of mechanica that limits the memory allocation to 8GB. However, I also believe PTC is working on this or has resolved this in a future datecode. I am still using M030 WF5.

Hope this helps,

Steve



------------------------------------------------------------
Solver RAM allocation can be done with a single parameter,
called solram. If the Mechanica Structure/Thermal
engine is the only memory-intensive application running on
your computer, performance will usually be best if you set
solram equal to half of your machine RAM. For example,
solram 60 is a good choice for a machine with 128 MB of RAM.

If you are running other memory-intensive applications on
your computer, decrease the solram allocation accordingly.
For example, set solram to 0.25 times machine RAM if you are
running two large applications at once. However, you often
can run two large jobs faster one after another than if you
try to run both jobs at once.

The purpose of solram is to reduce the amount of disk I/O.
If you set solram too high, performance will usually suffer,
even on machines with very large RAM, because there will not
be enough machine RAM for other important data. For
example, Mechanica allocates many large, non-solver
memory areas that will cause excessive swapping unless you
leave enough spare machine RAM. You must also leave enough
RAM for the operating system to do disk caching. Disk
caching improves filesystem performance by holding file data
in RAM for faster access. Setting solram to half machine
RAM is usually the best compromise between reducing the
amount of disk I/O, and leaving enough machine RAM for disk
caching and for other data.

If you set solram too low, performance will suffer because
Mechanica must transfer data between machine RAM and
disk files many more times than with a larger setting.
For example, performance may degrade significantly if you
set solram to 0.1 times machine RAM or less. A preferable
minimum is 0.25 times machine RAM.

The available swap space on your machine must be greater
than the maximum memory usage of your job. The available
disk space on your machine must be greater than the maximum
disk usage of your job. You can monitor the resource usage
of your job in the log (stt) file. Your job may fail if
your machine does not have enough available disk space or
swap space, or if the maximum memory usage of your job is
greater than the memory limits set for your operating
system.
-----------------------------------------------------------




Stephen Seymour, PE
Seymour Engineering & Consulting Group
 
After bumping to 12 gigs of ram I ran some tests. seymours2571 excellent answer seems to match test results.
 
Osty,

I have found that SOLRAM settings have very little effect on my analysis times. I think it is a relic from back when engineers only had 256MB memory.

Here is a link to someone who graphed SOLRAM allocation to analysis time and he found that the only thing SOLRAM did was take up more memory without any benefit
seymours2571,

I am using WF5 M040 and I have seen Mechanica use more than 10GB of RAM so I think they have fixed that issue now.
 
Nijaneer777,

The bug (and I think it is still there) pertains to the pre-allocation of memory using the SOLRAM value. You cannot set the preallocation of memory above 8GB and some change.

What you are referring to is the memory consumed by the msengine.exe process itself. That is a limitation of the OS as many have found out running large simulations on 32bit workstations.

However, I did like the research done by the guy at mcadcentral. I too have noticed no significant improvement in the solution time using large preallocation values. I have found good results using a RAID 0 array. However, I completely disagree with some peoples comments at Mcadcentral that said ramdisk was of no help. Perhaps they had it setup wrong, but when you have simulations that have *multiple* 1GB result files that must be stored to the disk and read periodically during a non-linear simuation, using ramdisk *significantly* spead up the analysis.

Steve

Stephen Seymour, PE
Seymour Engineering & Consulting Group
 
seymours2571,

You are right. I miss read your post, you did state that you were talking about memory allocation. I would think that that limitation wouldn't matter so much since upping SOLRAM value does not seem to help performance.

Agreed about your RAMdisk comments. I have yet to use a RAMdisk for my analysis temp files but I can see how that would be much much faster. I'm currently trying to get approval for solid state drives for the temp files because I don't think I have enough extra memory for a RAMdisk, but that would be my first choice if I had the extra memory.
 
I tried the SSD route as well. It was good, but to get a good performing drive that will last cost $$$. I tried the mack daddy Intel brand at $300 for 32GB. It worked very good, but I quickly found the drive to be too small when working on multiple projects with multiple simulations.

I attempted the method of specifying the SSD to house only the temp scratch files from Mechanica, however, some of the result files are just a gigantic as the scratch files. So the most optimum performance came from solving the entire solution on the SSD instead of splitting the temp files and the result files.

The final thing I settled on that I am most content with is 2 WD raptor drives 74 GB each in a RAID 0 configuration. Togehter they yeild a commond drive of about 140 GB. The performance is very good. In fact, I am looking to add a 3rd drive to the array soon. Plus, I was able to find the drives on NewEgg.com for $69 each.

Stephen Seymour, PE
Seymour Engineering & Consulting Group
 
osty,
Just curious, how many elements and what poly order are you using.

Thanks
ysm
 
This is a little brut force but first 3 modes match result of a sine sweep at .5 g for the original design within 2%. I have a couple of parts that could have been done as shells but they would only have reduced model size by 10-15%.

I did have some early runs that went 6th & 7th order but a little tweaking of the model simplifications dropped the order to 5 without altering results.

------------------------------------------------------------
Mechanica Structure Version L-01-57:spg
Summary for Design Study "Modal"
Wed Mar 23, 2011 10:15:57
------------------------------------------------------------

Run Settings
Memory allocation for block solver: 7000.0
Memory allocation for element matrices: 2.0

Parallel Processing Status
Parallel task limit for current run: 8
Parallel task limit for current platform: 64
Number of processors detected automatically: 8
Checking the model before creating elements...
These checks take into account the fact that AutoGEM will
automatically create elements in volumes with material
properties, on surfaces with shell properties, and on curves
with beam section properties.
Generate elements automatically.
Checking the model after creating elements...
No errors were found in the model.
Mechanica Structure Model Summary

Principal System of Units: Inch lbm Second (Pro/E Default)

Length: in
Mass: lbm
Time: sec
Temperature: F

Model Type: Three Dimensional

Points: 5560
Edges: 26885
Faces: 36897

Springs: 0
Masses: 10
Beams: 0
Shells: 0
Solids: 15673

Elements: 15683

------------------------------------------------------------

Standard Design Study

Modal Analysis "Modal":

Convergence Method: Single-Pass Adaptive
Plotting Grid: 4

Convergence Loop Log: (10:16:07)

>> Pass 1 <<
Calculating Element Equations (10:16:07)
Total Number of Equations: 288485
Maximum Edge Order: 3
Solving Equations (10:16:15)
Post-Processing Solution (10:17:11)
Checking Convergence (10:17:16)
Resource Check (10:17:20)
Elapsed Time (sec): 86.57
CPU Time (sec): 127.28
Memory Usage (kb): 8844355
Wrk Dir Dsk Usage (kb): 562176

>> Pass 2 <<
Calculating Element Equations (10:17:21)
Total Number of Equations: 291314
Maximum Edge Order: 5
Solving Equations (10:17:29)
Post-Processing Solution (10:18:21)
Checking Convergence (10:18:27)
Calculating Disp and Stress Results (10:18:31)

RMS Stress Error Estimates:

Mode Stress Error (% of Max Modal Stress)
---- --------------
1 0.1%
2 0.3%
3 0.1%
4 0.3%
5 0.3%

Resource Check (10:18:53)
Elapsed Time (sec): 179.68
CPU Time (sec): 245.73
Memory Usage (kb): 8844355
Wrk Dir Dsk Usage (kb): 570368

Total Mass of Model: 2.011530e+00

Total Cost of Model: 0.000000e+00

Mass Moments of Inertia about WCS Origin:

Ixx: 1.82596e+01
Ixy: 1.35694e+00 Iyy: 4.76515e+01
Ixz: -1.69967e+01 Iyz: 4.92765e-01 Izz: 3.01366e+01

Principal MMOI and Principal Axes Relative to WCS Origin:

Max Prin Mid Prin Min Prin
4.77248e+01 4.21758e+01 6.14712e+00

WCS X: 6.73410e-02 -5.75288e-01 8.15174e-01
WCS Y: 9.97038e-01 6.92173e-02 -3.35164e-02
WCS Z: -3.71425e-02 8.15017e-01 5.78246e-01

Center of Mass Location Relative to WCS Origin:
(-3.34643e+00, 1.59340e-01, -2.49371e+00)

Mass Moments of Inertia about the Center of Mass:

Ixx: 5.69966e+00
Ixy: 2.84347e-01 Iyy: 1.26164e+01
Ixz: -2.10471e-01 Iyz: -3.06511e-01 Izz: 7.55921e+00

Principal MMOI and Principal Axes Relative to COM:

Max Prin Mid Prin Min Prin
1.26475e+01 7.56052e+00 5.66717e+00

WCS X: 4.26832e-02 -1.02191e-01 9.93849e-01
WCS Y: 9.97173e-01 6.59227e-02 -3.60476e-02
WCS Z: -6.18334e-02 9.92578e-01 1.04716e-01

Constraint Set: ConstraintSet1: 1124001-002_FINAL

Number of Modes: 5

Mode Frequency (Hz)
---- --------------
1 2.203307e+02
2 3.991973e+02
3 4.962034e+02
4 5.829203e+02
5 6.008324e+02

Analysis "Modal" Completed (10:18:54)

------------------------------------------------------------

Memory and Disk Usage:

Machine Type: Windows XP 64 Bit Edition
RAM Allocation for Solver (megabytes): 7000.0

Total Elapsed Time (seconds): 180.49
Total CPU Time (seconds): 245.95
Maximum Memory Usage (kilobytes): 8844355
Working Directory Disk Usage (kilobytes): 570368

Results Directory Size (kilobytes):
119315 .\Modal

Maximum Data Base Working File Sizes (kilobytes):
253952 .\Modal.tmp\kel1.bas
253952 .\Modal.tmp\mel1.bas
62464 .\Modal.tmp\oel1.bas

------------------------------------------------------------
Run Completed
Wed Mar 23, 2011 10:18:54
------------------------------------------------------------
 
@otsy

Have you tried changing your SOLRAM setting much lower (like 128MB)? Your model isn't very big and I am pretty sure the only reason it is taking 8.5GB of memory is because you have your SOLRAM set at 7000MB.
 
SOLRAM at 7000 for this analysis is overkill. However when I ran this analysis I had upgraded to 16 gig ram. I just leave it there rather than mess with it. This run is a quite a bit slower than normal. 12 gigs of my ram is on loan to another engineer.

The other factor is that running more processors seems to reduce the efficiency of memory usage. This box has quad core with 64 bit Windows Seven and Mechanical also uses all 4 virtual processors.

We are still running Wildfire 4 until we migrate from IntraLink to Windchill.
 
It all comes down to "How fast is fast". I have a system running on Win XP with a clock speed of 2.4 GHtz It has 2 gigs RAM. I run static structural analyses with 13000-160000 elements, 6th order poly. Sometimes to save time I create several analyses and run them as batch files overnight. I guesstimate how long it would take to run each analysis and setup scheduled running of batch files with Task Scheduler on XP. That way when I come back the next morning I have a few analyses done and ready. Just my two cents.

ysm
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor