Caesar Systems CTO on parallelizing PetroVR

Data confidentiality and version control lead to local multi-core solution for compute intense app.

The 12.1 release of Caesar Systems’ PetroVR economic modeling package introduces multi-core computing to accelerate simulations and enhanced audit tracking of projects. CTO Leandro Caniglia told Oil IT Journal how the parallel computing solution was implemented. ‘Our stochastic simulations involve hundreds or thousands of Monte Carlo iterations, some spanning decades of data. We tried several alternative ways of parallelizing iterations, first on the local network and later, in the Amazon web services (AWS) cloud. But the cloud brought two practical problems, data confidentiality and version control. Clients’ confidential models should not leave a controlled environment. It was also tricky when distributing computation across multiple nodes to ensure that all were running exactly the same build of the software. Hence our interest in leveraging all the cores installed in a local machine.

An application running on one core can spawn as many independent processes as there are cores, and then let these run the iterations. Once they are through, processes send their results to the application for presentation to the user. There are several techniques for communicating between a process and the application, we chose TCP sockets which makes our code run on a single machine, across the network or in the cloud. Although writing code for parallel execution proved harder than anticipated, the results are worthwhile as we are seeing near linear program scalability with the number of cores used.’ More on PetroVR from Caesar Systems.

Click here to comment on this article

Click here to view this article in context on a desktop

© Oil IT Journal - all rights reserved.