Dramatic speed improvements fix a popular university research tool
A leading Philadelphia University has a python app that takes data pertaining to ‘actors’ and runs a simulation whose results assist in decision making. In this case, actors can be individuals, nations, groups, etc. The app was not scaling well as the number of actors increased. Professors were using the app for research purposes and had to wait days for results when there were a large number of actors (50+ actors) included in the scenario.
We were asked to help improve the total performance of the application by incorporating their compute grid, a Sun Grid Engine installation. In the most extreme scenario involving 75 players, runtime was reduced from 3 days to 30 minutes. Gains were achieved via refactoring (finding and replacing inefficient code), distributing processing across multiple processors and distributing processing across nodes in the grid.
The solution was delivered early and under budget.
A modified version of the app was delivered along with recommendations for future modifications that would bring the code closer in line with python best practices.