Hardware Recommendations
To increase simulation speed typically Adams analysts think about running their analyses in environments with more memory (RAM), greater CPU speed or multiple CPU's (for use with Adams Solver SMP multi-threading). However, for models with nonlinear flexible bodies the analyses usually involve a dramatically larger amount of file I/O activity compared with other Adams models. As a result, often the simulation speed is reduced more by running the analyses on faster disk drives than on faster CPU's and larger memory environments. The Adams installation files may reside in slower drives/partitions, but the model should be run (that is, Adams working directory) within a hardware capable to maximize the I/O operations. We recommend running on solid state drives (SSD) that make use of RAID 0 (data striping mode) technology. Some general rules of thumb with regard to disk speed across various configurations:
1 SCSI SATA3 | ~100 MBps |
2 SCSI SATA3 in RAID 0 | ~200 MBps |
1 SSD | ~350 MBPs |
2 SSD in RAID 0 | ~700 MBps |
4 SSD in RAID 0 | ~1400 MBps * |
*If PCI card/motherboard support this bandwidth
The last row in the above table is very experimental and depends on the PCI card and motherboard used, that is, they have to support such speed. In general a single SSD is very good hardware for Adams nonlinear flexible bodies and employing 2 SSD's in RAID 0 is the best compromise with existing machines (because of the card/motherboard limitations).
With regards to running on a remote deployment, the "Multiple Machine" or "Cluster" configurations described above in "Simulation Deployment", one must also consider the communication speed between machines. This is because when the nonlinear flexible body is being solved remotely from the rest of the Adams model, the two must stay in communication with each other. Each Adams Solver corrector iteration sends relevant states to the nonlinear flexible body and will be waiting to receive residual and Jacobian terms from it. So, for remote deployment configurations we recommend employing a dedicated subnet like so:
■Installing a dedicated network interface controller (NIC) on each machine which will be put into the pool of sharing resources (CPU's/RAM/disk)
■Creating a subnet which includes only these machines plus the host by the means of the above dedicated NIC's
■Avoiding routers in between these machines (using switches does guarantee that we are not sending packages around the network, because switches don't have NAT translation capabilities)