Leveraging computational grids and multi-core CPUs with PCSWMM.NET

Rob James, William James and Tiehong Xiao


Recent advances in computing have resulted in the proliferation of multi-core central processing units (CPUs). In order to take advantage of the processing power of multi-core CPUs, software applications need to be multi-threaded. In addition, as computing power per dollar continues to increase (an extension of Moore’s law), the number of idle CPU cycles per day per organization tends to increase. Leveraging spare CPU cycles in a group of networked computers ((CPU-scavenging in a computational grid) can be a cost-effective way of efficiently solving computationally intensive problems. The US EPA Stormwater Management Model version 5 (SWMM5) is a widely adopted, computationally intensive application for modeling dynamic effects in urban drainage systems. Its current public domain form is a single-threaded, dynamic linked library (DLL) written in C. Computer run times of hours or days are the norm for highly-discretized, single-event hydraulic simulations and for long-term, rainfall-runoff-routing simulations. Shortening computer run times can result in both more accurate urban drainage models as more model calibration time is afforded, and more refined solutions as more “what-if” scenarios can be tested. By adapting a client-server approach within PCSWMM.NET, multiple “what-if” scenarios can be solved in parallel by fully leveraging the computational power of multi-cored individual computers as well as CPU scavenging on computational grids. In addition, using an overlapping segmented approach to continuous modeling, single model runs can be solved efficiently on multiple multi-cored CPUs.

Permanent link: