Many SAS procedures have NTHREADS option that allows one to fine-tune computer resource allocation and can have dramatic impact on processing times. As far as I know GLIMMIX is not one of them.
In running bootstrap simulations, I am running the same GLIMMIX model 500 times and, with approximately 4 minutes per bootstrap Replication, processing time ends up 2,000 minutes or well over one day.
Given that computer resource utilization is minimal during the whole run, I tried to split the 500 bootstrap samples into 10 parallel runs with 50 Replications in each. To my surprise, when running exactly the same GLIMMIX model with 10 parallel processes, the per-replication processing times increased from 4 minutes to about 18 minutes. Computer resource utilization did not show anything remotely close to reaching the limits of the powerful Windows machine I am using (64 core CPU, 128GB or RAM, NvME Hard Discs).
In summary, by parallelizing the process, I cut the total run time in half but that's not anywhere near close to 10 times corresponding to 10 parallel runs of the models.
Can anyone help me understand why this is?
More importantly, how do I optimize the workflow. That is, would 50 parallel runs be faster than 10 or would 5 be better? I can, of course, just try but the process is very time-consuming.
Thanks for your thoughts.
Try re-posting under Analytics -> Statistical Procedures
Compare your SAS log real and CPU time notes for GLIMMIX. If real time is much greater than CPU time you can be pretty much certain that your jobs are IO-bound. I suspect that a resource-intensive procedure like GLIMMIX uses a lot of WORK utility processing. Monitoring what your WORK folders do could identify this.
Thanks for the recommendation regardgin WORK. I am looking at Windows Resource Monitor and don't see anything of note on CPU, RAM, or Disk I/O. Maybe up to 10-15% utilization. Anything else you can recommend?
When you say that you are running "10 parallel processes," how are you actually doing that? Can you post the code you are submitting? For example, are you submitting 10 sas jobs from a linux command line, or doing something else?
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.