It looks like your program is using a macro loop to run simulations. You might want to read this article on techniques for performing efficient simulations in SAS: Simulation in SAS
I wish I could use BY processing. However, the EM algorithm is iterative and switches between PROC IML and many datastep. Each simulation requires a different number of iterations. I'm not using any PROCs that utilize BY processing.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!