Browsing by Author "Rooney, Michael P."
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Metadata only A Comparative Study of Programming Languages for a Real-Time Smart Grid Application(IEEE, 2023-11-13) Rooney, Michael P.; Rao, Nakul; Liebers, Nicholas; St. Leger, Aaron; Matthews, Suzanne J.With security an increasing concern, SCADA system designers should consider the programming language used to implement critical smart grid applications. In this paper, we compare the performance of an anomaly detection workflow implemented in a common programming language used in SCADA systems (C) to equivalent implementations in three less commonly-known languages (Numba Python, Cython, and Rust). We benchmark our implementations on two real-world datasets of synchrophasor data and compare their performance on two Arm-based single board computers. Our results demonstrate that the Numba Python implementations achieve real-time performance in many contexts that pure Python counterparts cannot. In all tested scenarios, the Rust implementations achieve real-time performance while consuming similar amounts of power to their C counterparts. Our results suggest that SCADA designers should take a closer look at Numba Python and Rust for performant WAMS applications.Item Metadata only Evaluating FFT performance of the C and Rust Languages on Raspberry Pi platforms(IEEE, 2023-03-22) Rooney, Michael P.; Matthews, Suzanne J.The Fast Fourier Transform (FFT) is perhaps the most consequential algorithm for real-time applications for digital signals processing. Given the increased importance of securing devices on the edge, memory safety becomes an increasing concern for FFT applications. This work compares the performance of four FFT implementations written in the C and the Rust languages, benchmarked on the Raspberry Pi 4 and the Raspberry Pi Zero W platforms. Our results suggest that FFTs implemented in Rust are up to 45% more energy efficient than those written in C, and that Rust FFT implementations execute up to 37% faster than corresponding FFTs implemented in C. These results suggest that real-time application designers should take a closer look at the Rust language to enhance the safety and performance of their FFT applications.