Having been involved in MD Nastran performance tuning and benchmarking activities on Sun hardware for many years I'm always looking for optimal configurations with our latest hardware and storage options. I recently did some benchmarking on a Sun Fire x4450, four 2.4GHz processors (24 cores), 80gb memory, and with 8 internal 146gb disks. I used one disk for the Solaris 10 OS, Nastran binary, and the standard Nastran *.f04,*.f06, and *.log output files. I configured the remaining 7 disks with ZFS and used these for the Nastran database files. (more on ZFS later).
What I discovered that's noteworthy is the performance when running multiple Nastran jobs on this configuration. I was able run multiple concurrent jobs ( 6 of MSC's standard performance benchmarks) with only a “10% slowdown” (elapsed time) when compared to running them standalone/sequentially―the total I/O for the 6 jobs was ~2TB).
I think it's noteworthy because MD Nastran is a highly I/O and compute intensive application and you will often be told to run your Nastran jobs on separate machines in order to get “acceptable” performance. The reason for this recommendation of distributing your Nastran jobs to separate machines is that the combination of an MD Nastran analysis job's memory requirements (as specified by the “mem=” keyword on the Nastran command line) and the frequently large amount of I/O can have a significant impact on MD Nastran performance and this impact can be even greater if multiple Nastran jobs are run on the same machine and are using the same file system.
So, the advice of spreading Nastran jobs out on separate machines is true in many cases but as I discovered with the above configuration you can get surprisingly good performance on one node (given the right hardware configuration).
I believe this relatively small slowdown of 10% is in large part due to the ZFS filesystem which does an excellent job of caching Nastran's I/O using the machine's available memory (80gb in this case). Before ZFS became available it was necessary to configure the I/O caching manually for Nastran (via /etc/system parameters), but with ZFS this is all automatic and I've consistently seen it do an excellent job with Nastran's I/O (producing high CPU to IO ratios on Nastran runs).
Besides this excellent I/O performance with ZFS it also is extremely easy to configure for Nastran--you simply create the ZFS pool with the one command and you're ready to start running your Nastran jobs.
Here's some notes on how I configured ZFS and ran Nastran for these benchmarks:
...create the ZFS filesystem (with 7 of the 8 disks on this x4450):
zpool create ZFS1 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0 c0t6d0 c0t7d0
...now run the Nastran benchmark jobs pointing to /ZFS1 for the Nastran database files.
mdnast2008 input_file scr=yes sdir=/ZFS1
Thank you for the information.
http://www.cebeci.info
Posted by new software on June 09, 2009 at 01:23 PM PDT #