Modeling Methodologies for Power Grid Control System Evaluation

Activity Leads: 
Industry Collaborators: 

Boeing Corporation
IBM Research

Research Summary: 

Research on various smart grid technologies requires high-fidelity experiments in realistic, large-scale settings. In this project, we created and validated a high-fidelity, highly scalable simulation and emulation platform for security evaluation in power grid control networks. The testbed deploys virtual machine-based network emulation and parallel network simulation technologies to achieve that goal, and was designed to efficiently connect various virtual and real systems in the TCIPG lab as a testing and evaluation platform for other smart grid projects. Because of the use of virtual machines, we can allow unmodified application code to run in our testbed directly, yielding high functional fidelity. Each virtual machine has its own virtual clock, and perceives time as if it were running independently and concurrently with other machines in the physical world. We currently have a virtual time system based on OpenVZ virtualization technologies, whose light weight provides good scalability; we are able to run 320 VEs on a single commodity server. The achievable temporal accuracy of our system is subject to scheduler granularities, which are tunable in our system. We can explore the trade-off between execution speed and temporal accuracy (up to 30 μs). The testbed offers S3F/S3FNet parallel network simulation. The S3F simulation engine supports modular construction of simulation models that easily exploits parallelism. The new engine design enables interactive communication with emulation and is flexible enough to create and explore various testing scenarios in a large-scale setting. S3FNet provides sophisticated, low-level network layers and background traffic simulation. In addition, virtualization platforms were integrated with S3F/S3FNet; a global synchronization algorithm was designed that integrates simulation (for modeling an extensive ensemble of background computation and communication) and emulation (for representing execution of critical software).