The software I’m using to do some of the Monte Carlo simulations (PCXMC) for my PhD research is Windows based (fortunately it runs without any issues under Wine) and single-threaded, which makes some of the larger simulation sets I’m doing extremely inefficient when running them on my computer. The PCXMC window would also pop up every 5 minutes or so when another simulation started up and interrupt whatever I was trying to do at the time. It was tolerable since the smaller sets only took a few hours to complete, but I decided I was going to need a better solution.
One solution I attempted was to try running multiple instances of PCXMC, but they ended up clobbering each other and was just ugly.
The next obvious solution was to run PCXMC in a virtual machine (VM). Until now, I haven’t had much need to learn much about creating and managing VMs but they seem like a perfect solution to the problem. I can spin up a few VMs to run PCXMC and have each of them run different parts of the larger simulation sets or different simulation sets.
Virtual Machine Manager , I’ve discovered, is a super handy utility that makes creating and keeping track of VMs super easy. It offers a nice intuitive GUI interface for creating and managing VMs. I can use a live ISO image of my choice to create a new VM with the amount of RAM, storage, and number of CPUs needed. Once I’ve got a VM set up and configured with everything it needs, it’s easy to clone however many copies of the VM that will reasonably fit into my hardware.
The first VM I created had 500 GB of storage, 8GB of RAM, and 2 CPUs. Created a few more with only 250 GB of storage, 8GB of RAM and 1 CPU. Put four of these to work on one of the larger simulation sets over the weekend. The first time I ran a version of the set, it took about 10 days to finish on my computer. With 4 VMs each running a different part of the simulation set, everything was finished in about 2.5 days. Sweet. I can peek in on each VM with a viewer application to see how each one is running, but otherwise they run quietly and hidden away on their own. No more PCXMC windows popping up on my desktop to interrupt me while I’m doing other things.
Quickly realized that these VMs were way more than was needed, and 4 VMs with 8 GB of RAM each didn’t leave my computer with much memory left for doing much else (it only has 24 GB RAM). Next task will be to create some VMs with one of the other lighter Fedora spins (LXQT maybe) and a smaller footprint (100 GB storage, 4 GB RAM) to run PCXMC with.