Adaptive Development of Parallel Power System Dynamic Simulation Application in Python

Authors

Cong Wang
Clemson University
Liwei Wang
Clemson University
Shuangshuang Jin
Clemson University

Keywords:

Python, Dynamic Simulation, HPC, Scalability, Speedup

Synopsis

This is a Chapter in:

Book:
Automated Systems, Data, and Sustainable Computing

Series:
Chronicle of Computing

Chapter Abstract:

Due to its intensive computational demands for real-time operation and diagnosis, large-scale power system dynamic simulation requires high-performance computing technologies to accelerate its computation on advanced computing platforms. In this paper, leveraging high-level Python and its parallel scientific computing libraries, three parallel power system dynamic simulation applications are adaptively developed using native MPI for Python on CPU, PETSc for Python on CPU, and CuPy on GPU with dedicated data manipulation strategies and implementations, respectively. Their computational performance is compared using different sizes of testing systems and indicates that: 1) MPI and PETSc can make a decent performance for small and moderate-size systems on limited CPU resources, and 2) GPU has better potential in speeding up dynamic simulation for larger and more complex systems. The results demonstrate Python's suitability in parallelizing power system modeling and simulation with fast computational performance and easy development.

Cite this paper as:
Wang C., Wang L., Jin S. (2022) Adaptive Development of Parallel Power System Dynamic Simulation Application in Python. In: Tiako P.F. (ed) Automated Systems, Data, and Sustainable Computing. Chronicle of Computing. OkIP. https://doi.org/10.55432/978-1-6692-0001-7_4

Author Contact:
Cong Wang
cong2@g.clemson.edu

References

Amestoy, P. R., Duff, I. S., L'Excellent, J. Y., & Koster, J. (2001). A fully asynchronous multifrontal solver using distributed dynamic scheduling. SIAM Journal on Matrix Analysis and Applications, 23(1), 15-41.

Anderson, P. M., & Fouad, A. A. (2008). Power system control and stability. John Wiley & Sons.

Atkinson, K. E. (2008). An introduction to numerical analysis. John Wiley & sons.

Balay, S., Abhyankar, S., Adams, M., Brown, J., Brune, P., Buschelman, K., & Zhang, H. (2019). PETSc users manual.

Balay, S., Buschelman, K., Gropp, W. D., Kaushik, D., Knepley, M. G.,

McInnes, L. C., ... & Zhang, H. (2001). PETSc. See http://www.mcs.anl.gov/petsc.

Buck, I. (2007). GPU computing with Nvidia Cuda. In ACM SIGGRAPH 2007 courses (pp. 6-es).

Dalcin, L. D., Paz, R. R., Kler, P. A., & Cosimo, A. (2011). Parallel distributed computing using Python. Advances in Water Resources, 34(9), 1124-1139.

Dalcín, L., Paz, R., & Storti, M. (2005). MPI for Python. Journal of Parallel and Distributed Computing, 65(9), 1108-1115.

Demmel, J. W., Eisenstat, S. C., Gilbert, J. R., Li, X. S., & Liu, J. W. (1999). A supernodal approach to sparse partial pivoting. SIAM Journal on Matrix Analysis and Applications, 20(3), 720-755.

Gong, H., Guo, W., & Neil, M. A. (2021). GPU-accelerated real-time reconstruction in Python of three-dimensional datasets from structured illumination microscopy with hexagonal patterns. Philosophical Transactions of the Royal Society A, 379(2199), 20200162.

Huang, R., Jin, S., Chen, Y., Diao, R., Palmer, B., Huang, Q., & Huang, Z. (2017, July). Faster than real-time dynamic simulation for large-size power system with detailed dynamic models using high-performance computing platform. In 2017 IEEE Power & Energy Society General Meeting (pp. 1-5). IEEE.

Jin, S., Chen, Y., Wu, D., Diao, R., & Huang, Z. H. (2015). Implementation of parallel dynamic simulation on shared-Memory vs. distributedMemory environments. IFAC-PapersOnLine, 48(30), 221-226.

Jin, S., Huang, Z., Diao, R., Wu, D., & Chen, Y. (2013, July). Parallel implementation of power system dynamic simulation. In 2013 IEEE Power & Energy Society General Meeting (pp. 1-5). IEEE.

Jin, S., Huang, Z., Diao, R., Wu, D., & Chen, Y. (2017). Comparative implementation of high performance computing for power system dynamic simulations. IEEE Transactions on Smart Grid, 8(3), 1387-1395.

Lam, S. K., Pitrou, A., & Seibert, S. (2015, November). Numba: A llvm based python jit compiler. In Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC (pp. 1-6).

Mortensen, M., & Langtangen, H. P. (2016). High performance Python for direct numerical simulations of turbulent flows. Computer Physics Communications, 203, 53-65.

Naumov, M., Chien, L., Vandermersch, P., & Kapasi, U. (2010, September). Cusparse library. In GPU Technology Conference.

Nishino, R. O. Y. U. D., & Loomis, S. H. C. (2017). CuPy: A NumPycompatible library for NVIDIA GPU calculations. 31st confernce on neural information processing systems, 151.

Palach, J. (2014). Parallel programming with Python. Packt Publishing Ltd. pypower-dynamics. PyPI. (2015, May 31). https://pypi.org/project/pypowerdynamics/.

Sanders, J., Kandrot, E., & by Example, C. U. D. A. (2010). An Introduction to General-Purpose GPU Programming.

Svendsen, H. G., & Spro, O. C. (2016). PowerGAMA: A new simplified modelling approach for analyses of large interconnected power systems, applied to a 2030 Western Mediterranean case study. Journal of Renewable and Sustainable Energy, 8(5), 055501.

The MPI Forum, C.O.R.P.O.R.A.T.E. (1993, December). MPI: a message passing interface. In Proceedings of the 1993 ACM/IEEE conference on Supercomputing (pp. 878-883).

Thurner, L., Scheidler, A., Schäfer, F., Menke, J. H., Dollichon, J., Meier, F., & Braun, M. (2018). pandapower—an open-source python tool for convenient modeling, analysis, and optimization of electric power systems. IEEE Transactions on Power Systems, 33(6), 6510-6521.

Van Der Walt, S., Colbert, S. C., & Varoquaux, G. (2011). The NumPy array: a structure for efficient numerical computation. Computing in science & engineering, 13(2), 22-30.

Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., ... & Van Mulbregt, P. (2020). SciPy 1.0: fundamental algorithms for scientific computing in Python. Nature methods, 17(3), 261-272.

Adaptive Development of Parallel Power System Dynamic Simulation Application in Python

Published

March 8, 2022

Online ISSN

2831-350X

Print ISSN

2831-3496

Details about this monograph

ISBN-13 (15)

978-1-6692-0001-7

Date of first publication (11)

2022-03-08
Hijri Calendar